diff options
Diffstat (limited to 'scripts/theme-studio')
39 files changed, 87117 insertions, 0 deletions
diff --git a/scripts/theme-studio/Makefile b/scripts/theme-studio/Makefile new file mode 100644 index 00000000..6cf48f66 --- /dev/null +++ b/scripts/theme-studio/Makefile @@ -0,0 +1,70 @@ +# Makefile for the theme-studio tool — a self-contained Python + JS subproject. +# Its toolchain (python3, node, uvx, headless Chrome) is independent of the repo +# root's Elisp/ERT world, so the build logic lives here with the code. The root +# Makefile delegates: `make theme-studio-test` and `make theme-studio-coverage` +# call `make -C scripts/theme-studio ...`. +# +# Recipes run in this directory, so the relative paths below resolve whether you +# `cd` here or invoke via the root's `-C` delegation. + +# Absolute path to this directory (for `open`, which hands Chrome a file path). +HERE := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) + +# Optional palette seed for `gen` / `open`: make gen SEED=dupre.json +SEED ?= + +.PHONY: help test check check-generated coverage gen open + +.DEFAULT_GOAL := help + +help: + @echo "theme-studio targets:" + @echo " make test - Full suite: Python + Node + browser hash gates" + @echo " make check - Fast gate: regenerate + Python + Node (no browser)" + @echo " make check-generated - Verify committed theme-studio.html is current" + @echo " make coverage - JS (node) + generate.py (uvx coverage) numbers" + @echo " make gen [SEED=x.json] - Regenerate theme-studio.html (optionally from a seed)" + @echo " make open [SEED=x.json] - Regenerate and open the page in Chrome" + +test: + @./run-tests.sh + +check: + @./run-tests.sh --no-browser + +check-generated: + @tmp="$$(mktemp)"; \ + cp theme-studio.html "$$tmp"; \ + restore() { cp "$$tmp" theme-studio.html; rm -f "$$tmp"; }; \ + if ! python3 generate.py >/dev/null; then restore; exit 1; fi; \ + if cmp -s theme-studio.html "$$tmp"; then rm -f "$$tmp"; echo "theme-studio.html is current"; \ + else restore; echo "theme-studio.html is stale; run make gen and commit it" >&2; exit 1; fi + +coverage: + @echo "== JS coverage (node --experimental-test-coverage) ==" + @node --test --experimental-test-coverage ./*.mjs 2>/dev/null \ + | sed -n '/start of coverage report/,/end of coverage report/p' + @echo "" + @echo "== generate.py coverage ==" + @if command -v uvx >/dev/null 2>&1; then \ + uvx coverage run --include='generate.py' -m unittest test_generate >/dev/null 2>&1; \ + uvx coverage report -m; \ + uvx coverage erase >/dev/null 2>&1; \ + else \ + echo "uvx not found — skipping generate.py line coverage"; \ + echo "($$(grep -c 'def test_' test_generate.py) test_generate.py tests exist)"; \ + fi + +gen: + @THEME_STUDIO_SEED="$(SEED)" python3 generate.py + +open: gen + @c=""; for b in google-chrome-stable google-chrome chromium chromium-browser; do \ + command -v $$b >/dev/null 2>&1 && { c=$$b; break; }; \ + done; \ + if [ -n "$$c" ]; then \ + "$$c" "$(HERE)theme-studio.html" >/dev/null 2>&1 & \ + echo "opened theme-studio.html in $$c"; \ + else \ + echo "no Chromium-family browser found"; exit 1; \ + fi diff --git a/scripts/theme-studio/README.md b/scripts/theme-studio/README.md new file mode 100644 index 00000000..86da73f8 --- /dev/null +++ b/scripts/theme-studio/README.md @@ -0,0 +1,304 @@ +# theme-studio + +A self-contained tool for designing Emacs color themes by eye. One generated +HTML page drives the whole theme: a palette, the syntax (font-lock / +tree-sitter) layer, the built-in UI faces with a live mock-frame preview, and +package-specific faces (org, magit, elfeed, plus every other installed package). +Reassign colors against the palette, judge legibility with live WCAG-contrast +readouts, then export a `theme.json` that a build step turns into +`themes/<name>-*.el`. + +For the color-assignment philosophy behind the tool — how to group syntax roles, +what to share, where to spend chroma and bold — see +[`theme-coloring-guide.org`](theme-coloring-guide.org). + +## Run + +```bash +python3 generate.py # writes theme-studio.html beside this script +``` + +Then open it in Chrome (Firefox had color-rendering flakiness during design): + +```bash +WAYLAND_DISPLAY=wayland-1 google-chrome-stable theme-studio.html +``` + +During color work, disable Hyprland inactive-window dimming so colors read true: + +```bash +hyprctl keyword decoration:dim_inactive false +``` + +## Tests + +```bash +make theme-studio-test # from the repo root, runs the whole pyramid +scripts/theme-studio/run-tests.sh # or call the runner directly +``` + +The runner regenerates the page, runs the Python templating tests +(`test_generate.py`), the Node unit tests for `colormath.js` +(`test-colormath.mjs`, including the inline-integrity check), a syntax check of +the spliced page script, and the browser hash gates in headless Chrome +(`#selftest`, `#cursortest`, `#readouttest`, `#deltatest`, `#oklchtest`, +`#planetest`, `#locktest`, `#sorttest`, `#mocktest`, `#contrasttest`, +`#safetest`, `#healtest`, `#columntest`, `#counttest`, `#baseedittest`, +`#roundtriptest`, `#beveltest`, `#previewlinktest`). It exits non-zero on any failure. The browser gates need a +Chromium-family browser; without one they report SKIPPED rather than passing +silently. The pure color math and the extracted picker logic (`planeCell`, +`paletteWarnings`) live in `colormath.js` so they are unit-tested directly in +Node; palette-column plans and lock-set plans live in `app-core.js` so edge +cases are unit-tested directly. The DOM glue is covered by the browser hash +gates. + +## Files + +- `generate.py` — assembles the generated page from the source JS/CSS, data, and + template. +- `theme-studio.template.html` — static page shell with placeholders for the + inlined CSS/JS/data. Edit here for layout markup. +- `face_data.py` — bespoke package face lists and seed defaults. +- `palette-actions.js` — stateful palette-panel actions and rendering, inlined + into the generated page. +- `browser-gates.js` — the browser hash-gate test harness, also inlined. +- `app_inventory.py`, `face_specs.py`, `default_faces.py` — generator helpers for + package inventory, face-spec defaults, and captured Emacs defaults. +- `samples.py` — the language code samples and the default syntax + category→color map (`COLS`). `generate.py` reads the part before the `cols=` + marker. +- `package-inventory.json` — generated map of every installed package to the + faces it defines (see Package faces below). A committed data artifact. +- `build-inventory.el` — refreshes `package-inventory.json` from a running + Emacs. +- `theme-studio.html` — generated output. Regenerate; don't hand-edit. + Use `make check-generated` before review if you want to verify the committed + page matches the generator without leaving the tree dirty. + +## What it captures + +Three tiers of faces, plus the palette: + +- **Palette** — named colors, shown grouped into stable structural columns. Add + by hex or with the in-page color picker + (saturation/value square, hue slider, palette reuse chips, live contrast + readout, and an any / AA+ / AAA legibility mask). Remove and rename per chip; + the colors serving as background and foreground are locked. `clear palette` + removes every non-ground color and leaves only the `bg` and `fg` tiles; existing + face assignments remain on their old hexes and show as "(gone)" until a color + with the same name is recreated. + + The picker also shows perceptual readouts beside the WCAG ratio: the OKLCH + coordinates (lightness, chroma, hue°) and the APCA Lc contrast against the + ground color. APCA Lc is signed — positive means dark text on a light + background, negative means light text on a dark background — so a light color + on dupre's dark ground reads as a negative Lc. WCAG stays the rating used in + the syntax/UI/package tables; APCA and OKLCH are picker-only diagnostics. + + An edit-model toggle switches the picker between HSV and OKLCH, independent of + the contrast mask. In OKLCH mode the L/C/H dials drive the color and the square + becomes a Chroma×Lightness plane at the current hue, with the out-of-gamut + region greyed out; the hue strip selects the hue. Pushing chroma past sRGB + snaps to the reachable color and shows a clamp note. The palette also warns + when two colors fall below a perceptual ΔE threshold, hard to tell apart. +- **Syntax** — every font-lock / tree-sitter category (keyword, string, + function, type, comment, and the rest), each with normal/bold/italic and a + contrast rating. Click a category to flash its tokens in the code; click a + token to flash its row. `lock all` flips to `unlock all` when every row in the + tier is locked. `reset` restores editable rows to the captured syntax defaults; + `erase` blanks editable rows. Both preserve locked rows. +- **UI faces** — cursor, region, mode-line, fringe, line numbers, isearch, paren + match, link, error/warning/success, and the rest, foreground and background + per face, shown in a live mock Emacs buffer. `reset` restores captured UI face + defaults; `erase` blanks editable rows to no explicit fg/bg. Both preserve + locked rows. Box controls include style plus an optional color; raised/pressed + boxes derive their relief edges from that color when set. +- **Package faces** — per-package face tables with a live preview (below). + +## Color columns + +The palette is displayed as **columns**. The ground column is pinned first: `bg` +at one end, `fg` at the other, with optional `ground+N` span colors between them. +Every other color stays in the column where it was created. Columns are not +derived from hue, chroma, lightness, or the visible color name. + +- **Grouping.** Each palette entry carries a stable column id. New colors start + their own column; generated ramp steps inherit the base color's column id. + Renaming a color only changes its label, so a renamed tile stays in its original + column. Older two-field palette entries still load by falling back to the + generated-name stem (`blue-1`, `blue`, `blue+1` -> `blue`). + Generic Emacs names like `color-22` stay separate base columns unless they + already carry an explicit column id. Numbered named colors such as `blue1`, + `grey80`, `orange3`, and `orchid4` group by their text stem. Imported names + that begin with `bg` or `fg` are normal colors unless they are exact ground + endpoints or explicitly use the `ground` column id. +- **Deleting.** Normal columns have a separated header delete control with a + confirmation prompt. Confirming removes every tile in that column. The ground + column is pinned and cannot be deleted. Face assignments that used a deleted + tile stay on that old hex and appear as recoverable "(gone)" values, matching + individual chip deletion. +- **Tile clicks.** Single-clicking a tile, including its name, selects that + whole color. Double-clicking the name enters name-edit mode with the cursor at + the start of the name. +- **The count control** under each non-ground column sets how many steps sit on + each side of the column's base. Setting N regenerates the column as a symmetric + base ±N span: N interior OKLab steps from black to the base and N interior + OKLab steps from the base to white. Pure black/white endpoint duplicates and + rounded base duplicates are skipped. The current UI caps N at 8; N=0 collapses + to the base alone. +- **Editing a base** recolors the whole column: change a base color and the column + regenerates from it at the same count. +- **References follow.** When a regenerate changes a step's hex, any face assigned + to that step is re-pointed to the new hex. A step *removed* by lowering the count + leaves its references showing "(gone)" — visible and recoverable, never a silent + jump to a different color. +- **Dropdown order.** Color dropdowns show the default entry, then `bg` and `fg`, + then palette columns from left to right. Within each column's dropdown group, + colors are ordered lightest to darkest. +- **Dropdown arrows.** Color dropdowns in the syntax, UI, and package face tables + have left/right arrows. Left steps to the next darker color in the selected + color's column; right steps to the next lighter color. The arrows are disabled + for defaults, gone colors, locked rows, and column ends. + +The standalone ramp generator is gone; fanning a color into a ramp is now "add the +color, then raise its column's count." + +## Background-contrast safety + +Keep background tints readable. Works in OKLCH; the pure math is in `app-core.js` +(`fgSetFor`, `floor`, `lMax`), the DOM in `app.js`. + +**Worst-case contrast.** A background overlay sits behind many foregrounds at +once, so one fg/bg contrast pair is the wrong number. For the covered overlay +faces — `region`, `hl-line`, `highlight`, `lazy-highlight`, `isearch` — the +contrast cell shows the *worst-case floor*: the lowest contrast over the face's +foreground set (the syntax-token colors plus the default foreground), naming the +*limiting foreground* that sets it. A tint that clears the default text but fails +the darkest token reads FAIL, with that token named. Package faces and the other +UI rows keep their single-pair readout. + +The verdict is WCAG: AA (4.5) by default, AAA (7) selectable. APCA Lc stays a +picker-only diagnostic and does not drive PASS/FAIL. + +**Safe lightness.** In the OKLCH picker, the "safe for" selector picks one +covered face. The Chroma×Lightness plane then shades the lightness band too light +to keep that face readable over its foreground set, with the L_max ceiling as the +band's lower edge. If even pure black can't satisfy the target (a foreground is +too dark), the whole plane shades; that is a true finding about the foreground, +not a tool bug. + +## Package faces + +Pick an application from the dropdown to edit its faces. Each row has a +foreground and background dropdown, bold/italic toggles, an `inherit` dropdown +(base faces like `fixed-pitch`/`link` plus the app's own faces), a relative +height stepper, a contrast readout, box style/color controls, and a per-face reset. There's a per-app +reset and a text filter for the large sets. Package `reset` restores editable +rows to the captured package defaults; `erase` blanks editable rows to no +fg/bg/style/inherit override. Both preserve locked rows. Package +`lock all` / `unlock all` applies to the whole currently selected package, not +only the rows visible under the text filter. + +Twenty applications have bespoke previews that exercise nearly all of their +faces: org-mode (a document plus an agenda view), magit (a status buffer plus +blame, reflog, sequence, bisect, and signature rows), elfeed (a search list and +log), ghostel (a mock terminal with the 16 ANSI colors), mu4e (a headers list, +message view, and compose stub), dashboard, lsp-mode (signatures, inlay hints, +symbol highlights, rename), git-gutter, flycheck (a diagnostic line plus an +error-list buffer), dired, dirvish (attribute columns, vc states, media, proc, +narrow), calibredb (a library listing and detail view), erc (an IRC channel), +org-drill (a cloze flashcard), org-noter, signel (a Signal chat), pearl (a +ticket), slack (a channel with mrkdwn, attachments, blocks, and dialogs), and +telega (chat entities, reactions, buttons, and webpage rendering), and shr (the +built-in HTML renderer behind nov, eww, elfeed's article view, and HTML mail, so +theming it themes all of them). Every other installed package is reachable too, with an editable +table and a generic preview (each face name in its own colors), so any package +can be themed. Clicking a face row flashes that face in the preview, and clicking +a preview element flashes its row. + +**Inheritance** is modeled, not flattened: a face's effective color is resolved +through its `inherit` chain and shown in the table and preview; setting an +explicit color overrides it. `height` is a float multiplier off the base font +and is read directly off the face (not cascaded through `inherit`, since Emacs +multiplies float heights along a chain). The base monospace family is *not* the +theme's job — it lives in `modules/font-config.el`; the tool owns only relative +size and the `fixed-pitch` inherit relationships. + +### Refreshing the package inventory + +The reachable packages come from `package-inventory.json`. Regenerate it from a +running Emacs (so it reflects what's actually installed), then rebuild the HTML: + +```bash +emacsclient -e '(load "/home/cjennings/.emacs.d/scripts/theme-studio/build-inventory.el")' +python3 generate.py +``` + +`build-inventory.el` groups each face by the package whose file defines it; it +depends on the target Emacs having those packages loaded. Built-in faces are +skipped (they're covered by the syntax and UI tiers). + +## theme.json contract + +The export (and what a build step consumes): + +```json +{ + "name": "dupre", + "palette": [["#67809c", "blue", "blue"], ["#e8bd30", "gold", "gold"]], + "assignments": {"kw": "#67809c", "str": "#5d9b86", "bg": "#000000", "p": "#ffffff"}, + "bold": ["kw", "fnd"], + "italic": [], + "ui": {"region": {"fg": null, "bg": "#264364"}, "cursor": {"fg": null, "bg": "#a9b2bb"}}, + "packages": { + "org-mode": { + "org-level-1": {"fg": "#67809c", "bg": null, "bold": true, "italic": false, + "underline": false, "strike": false, + "inherit": null, "height": 1.3, "source": "default"} + } + } +} +``` + +- `assignments` maps syntax category keys to hexes; `bg` is the `default` face + background, `p` the foreground. +- `palette` is a flat list of `[hex, name, columnId]`. `name` is the editable + display label; `columnId` is the durable grouping key that keeps generated + colors in their original column even if they are renamed. Older `[hex, name]` + entries still import and are normalized on export. +- `ui` and `packages` faces carry `fg`/`bg` (hex or `null`), `bold`, `italic`, + `underline`, `strike`, and for package faces `inherit` (a face name or + `null`), `height` (a float, omitted at 1.0), and `source` (`"default"` seeded, + `"user"` edited, `"cleared"`). The converter writes `underline` as + `:underline t` and `strike` as `:strike-through t`. +- The theme name is both the `name` field and the download filename. Import a + `theme.json` to start from a prior theme; a file with no `packages` key still + loads. + +`export` downloads the current theme JSON using the theme name as the filename. + +## Build step — `build-theme.el` + +`build-theme.el` converts a `theme.json` into a single self-contained +`themes/<name>-theme.el` deftheme. JSON in, valid Emacs faces out, across all +four tiers: `default` from `assignments.bg`/`.p`, the syntax categories mapped +to their font-lock / tree-sitter faces (with the `bold`/`italic` sets applied), +the UI faces passed through, and the package faces with `:inherit`/`:height` +and weight/slant written. + +```bash +emacs --batch -l scripts/theme-studio/build-theme.el \ + --eval '(build-theme/convert-file "scripts/theme-studio/dupre-revised.json" "themes")' +``` + +Output is a flat generated deftheme, not the palette/faces/theme trio the +original dupre ships — a `theme.json` carries resolved per-face hex, not dupre's +semantic-mapping layer, so a flat deftheme is the faithful output and never +clobbers the curated dupre files. + +One mapping limitation: the `dec` (decorator) syntax key has no independent +Emacs face. Emacs renders decorators with `font-lock-type-face`, which the `ty` +key already owns, so `dec` is omitted from the output and decorators follow the +type color (as they do in stock Emacs). Tests live in +`tests/test-build-theme.el` (Normal / Boundary / Error, plus a WCAG-contrast +assertion on the round-tripped result). diff --git a/scripts/theme-studio/app-core.js b/scripts/theme-studio/app-core.js new file mode 100644 index 00000000..af90f13a --- /dev/null +++ b/scripts/theme-studio/app-core.js @@ -0,0 +1,325 @@ +// Pure app logic — the package-face model and the dropdown option list — with no +// DOM and no module globals (every dependency is a parameter). It is unit-tested +// directly (test-app-core.mjs) and inlined into the page like colormath.js, so +// the browser runs the same code the tests import. The app.js wrappers (pname, +// seedPkgmap, ddList, pkgEffFg, pkgEffBg) are thin delegators that pass the +// live PALETTE / APPS / PKGMAP into these. +// +// The imports below are for the Node tests; generate.py strips them on inline, +// where normHex (app-util.js) and the colormath helpers are already present from +// the bodies inlined above this one. +import { normHex } from './app-util.js'; +import { oklch2hex, srgb2oklab, oklab2oklch, oklab2lrgb, lrgb2hex, inGamut, contrast } from './colormath.js'; + +// Resolve a palette name (or a raw #hex) to a hex; null when the name is unknown. +function nameToHex(n,palette){if(!n)return null;if(/^#/.test(n))return n;const p=palette.find(p=>p[1]===n);return p?p[0]:null;} + +function normalizePkgFace(d,source,palette){ + d=d||{}; + const resolve=(v)=>palette?nameToHex(v,palette):v; + return {fg:resolve(d.fg)??null,bg:resolve(d.bg)??null,bold:!!d.bold,italic:!!d.italic,underline:!!d.underline,strike:!!d.strike,inherit:d.inherit??null,height:d.height||1,box:d.box??null,source:source||d.source||'user'}; +} + +// Seed the package-face map from the app inventory's per-face defaults. +function buildPkgmap(apps,palette){const m={};for(const app in apps){m[app]={};for(const row of apps[app].faces){m[app][row[0]]=normalizePkgFace(row[2],'default',palette);}}return m;} + +// The package faces worth exporting (anything seeded or user-touched), trimmed. +function packagesForExport(map){const out={};for(const app in map){const faces={};for(const face in map[app]){const f=map[app][face];if(f.source==='default'||f.source==='user'||f.source==='cleared'){const o={fg:f.fg,bg:f.bg,bold:f.bold,italic:f.italic,underline:!!f.underline,strike:!!f.strike,inherit:f.inherit,source:f.source};if(f.height&&f.height!==1)o.height=f.height;if(f.box)o.box=f.box;faces[face]=o;}}if(Object.keys(faces).length)out[app]=faces;}return out;} + +// Merge an imported package block into a face map, filling missing fields. +function mergePackagesInto(map,pkgs){if(!pkgs)return;for(const app in pkgs){if(!map[app])map[app]={};for(const face in pkgs[app]){const f=pkgs[app][face]||{};map[app][face]=normalizePkgFace(f,f.source||'user');}}} + +// Effective fg/bg for a package face, following its inherit chain. seen guards +// against an inherit cycle (returns null rather than recursing forever). +function effResolve(map,app,face,attr,seen){seen=seen||{};const f=map[app]&&map[app][face];if(!f||seen[face])return null;seen[face]=1;if(f[attr])return f[attr];if(f.inherit&&map[app][f.inherit])return effResolve(map,app,f.inherit,attr,seen);return null;} + +// Standard swatch-dropdown option list: a default entry, then the palette. When +// cur is set but no longer in the palette, surface it as a "(gone)" entry first. +function optList(cur,palette){const have=cur===''||palette.some(p=>p[0]===cur);return [['','— default —'],...(have?palette:[[cur,'(gone) '+cur],...palette])];} + +// Turn a theme name into a safe filename slug: collapse runs of disallowed +// characters to a single dash, trim leading/trailing dashes, fall back to 'theme'. +function slugify(name){return name.replace(/[^A-Za-z0-9._-]+/g,'-').replace(/^-+|-+$/g,'')||'theme';} + +// Generate a tonal ramp from one base color: 2n steps at offsets -n..-1 and +// +1..+n (the base itself is excluded — it already lives in the palette), +// ordered darkest -> lightest. Holds the OKLCH hue, steps lightness by stepL per +// stop, and eases chroma toward the extremes (quadratic in |offset|/n, so only +// the farthest step loses most of its color). Every step is gamut-clamped and +// carries its own clamped flag. Returns {steps:[{hex,clamped,offset}], adjusted} +// where adjusted names any knob clamped/rounded into range, or {steps:[], +// error:'bad-hex'} for an unparseable base. Pure — opts are clamped, never thrown. +function ramp(baseHex,opts){ + const hex=typeof baseHex==='string'?normHex(baseHex):null; + if(!hex)return {steps:[],error:'bad-hex'}; + const o=opts||{},adjusted=[]; + const knob=(name,def,lo,hi,isInt)=>{ + const v=o[name]; + if(typeof v!=='number'||!isFinite(v))return def; + const r=isInt?Math.round(v):v,c=Math.min(hi,Math.max(lo,r)); + if(c!==v)adjusted.push(name); + return c; + }; + const n=knob('n',2,1,4,true),stepL=knob('stepL',0.08,0.04,0.12,false),chromaEase=knob('chromaEase',0.5,0,1,false); + const {L:L0,C:C0,H:H0}=oklab2oklch(srgb2oklab(hex)); + const steps=[]; + for(let off=-n;off<=n;off++){ + if(off===0)continue; + const L=Math.min(1,Math.max(0,L0+off*stepL)); + const t=Math.abs(off)/n,C=C0*(1-chromaEase*t*t); + const {hex:h,clamped}=oklch2hex(L,C,H0); + steps.push({hex:h,clamped,offset:off}); + } + return {steps,adjusted}; +} + +// --- background-contrast safety (palette-ramps spec, Phase 3) ---------------- +// An overlay background sits behind many foregrounds at once, so its real +// constraint is the worst-case contrast over the whole set, not one fg/bg pair. + +// The closed v1 set of code-overlay faces whose worst-case floor we compute. +// Other overlay faces (secondary-selection, isearch-fail, ...) are vNext, added +// explicitly rather than by a heuristic. Shared by app.js and the tests. +const COVERED_FACES=['region','hl-line','highlight','lazy-highlight','isearch']; + +// A covered face's foreground set: the distinct syntax-token colors plus the +// default foreground, each labeled (syntax role preferred, else 'default'). +// state = {covered:[face], syntaxAssignments:[{role,hex}], defaultFg}. Returns +// {set:[{hex,label}]}, or {set:[],reason} where reason is 'out-of-scope' (the +// face isn't in the covered set) or 'empty' (no syntax assignments constrain it). +function fgSetFor(face,state){ + const covered=(state&&state.covered)||COVERED_FACES; + if(!covered.includes(face))return {set:[],reason:'out-of-scope'}; + const syn=((state&&state.syntaxAssignments)||[]).filter(a=>a&&a.hex); + if(!syn.length)return {set:[],reason:'empty'}; + const byHex=new Map(); + const add=(hex,label,isRole)=>{const k=hex.toLowerCase(),cur=byHex.get(k);if(!cur)byHex.set(k,{hex:k,label});else if(isRole&&cur.label==='default')cur.label=label;}; + if(state&&state.defaultFg)add(state.defaultFg,'default',false); + for(const a of syn)add(a.hex,a.role||a.hex,true); + return {set:[...byHex.values()]}; +} + +// Worst-case (minimum) WCAG contrast of a background against a foreground set, +// with the limiting foreground's hex and label. fgSet is fgSetFor's set. An empty +// set returns nulls so the caller can show the no-set readout instead of a floor. +function floor(bgHex,fgSet){ + if(!fgSet||!fgSet.length)return {ratio:null,limitingHex:null,limitingLabel:null}; + let best=Infinity,lh=null,ll=null; + for(const f of fgSet){const r=contrast(f.hex,bgHex);if(r<best){best=r;lh=f.hex;ll=f.label;}} + return {ratio:best,limitingHex:lh,limitingLabel:ll}; +} + +// The lightest background at (hue, chroma) whose worst-case floor over fgSet still +// clears target (a WCAG ratio). Scans L up from black to bracket the first +// dark-side crossing, then binary-searches it to tol 0.001. status: +// 'ok' - a ceiling L was found +// 'none' - even pure black fails (a foreground is too dark for the target) +// 'all' - no foreground set to constrain (vacuously safe everywhere) +// 'clamp' - the ceiling L can't hold the requested chroma (gamut-clamped there) +function lMax(hue,chroma,fgSet,target){ + if(!fgSet||!fgSet.length)return {L:1,status:'all'}; + const at=(L)=>{const {hex,clamped}=oklch2hex(L,chroma,hue);return {r:floor(hex,fgSet).ratio,clamped};}; + if(at(0).r<target)return {L:null,status:'none'}; + let loL=0,hiL=null; + for(let L=0.01;L<=1+1e-9;L+=0.01){const c=Math.min(L,1);if(at(c).r<target){hiL=c;break;}loL=c;} + if(hiL===null)return {L:1,status:'all'}; + for(let i=0;i<20;i++){const mid=(loL+hiL)/2;if(at(mid).r>=target)loL=mid;else hiL=mid;} + return {L:loL,status:at(loL).clamped?'clamp':'ok'}; +} + +// --- color columns ----------------------------------------------------------- +// Columns are structural, not inferred by color. Generated ramp entries are named +// base-1/base/base+1 and remain in that base column regardless of their hex. A +// manually-added color starts as its own singleton column. The flat palette stays +// the editable truth; these pure functions group it, regenerate a ramp, and plan +// assignment re-point across a regenerate. + +function oklchOf(hex){return oklab2oklch(srgb2oklab(hex));} +function isReservedGroundLikeName(name){return /^(bg|fg)(?:[-_+].+|\d.*)$/i.test(name||'');} +function isPureEndpointHex(hex){const h=(hex||'').toLowerCase();return h==='#ffffff'||h==='#000000';} +function interpOklabHex(a,b,t,offset){ + const lab={L:a.L+(b.L-a.L)*t,a:a.a+(b.a-a.a)*t,b:a.b+(b.b-a.b)*t}; + const lrgb=oklab2lrgb(lab.L,lab.a,lab.b); + return {hex:lrgb2hex(lrgb),offset,clamped:!inGamut(lrgb)}; +} +function columnStem(name){name=name||'color';if(/^color-\d+$/.test(name))return name;name=name.replace(/[+-]\d+$/,'');return name.replace(/\d+$/,'')||'color';} +function columnOffset(name){const m=(name||'').match(/([+-]\d+)$/);return m?parseInt(m[1],10):0;} +function legacyColumnStem(name){return isReservedGroundLikeName(name)?name:columnStem(name);} +function legacyColumnOffset(name){return isReservedGroundLikeName(name)?0:columnOffset(name);} +function columnIdOf(entry){return (entry&&entry[2])||legacyColumnStem(entry&&entry[1]);} +function groundRoleOfEntry(entry,ground){ + if(!entry)return null; + const [hex,name]=entry,col=entry[2],n=(name||'').toLowerCase(),h=(hex||'').toLowerCase(); + const bg=(ground&&ground.bg||'').toLowerCase(),fg=(ground&&ground.fg||'').toLowerCase(); + if(/^ground[+-]\d+$/i.test(name||''))return 'step'; + if(col==='ground'){ + if(bg&&h===bg)return 'bg'; + if(fg&&h===fg)return 'fg'; + return 'step'; + } + if(bg&&h===bg&&(n==='bg'||n==='ground'))return 'bg'; + if(fg&&h===fg&&n==='fg')return 'fg'; + return null; +} +function nameOfGroundRole(palette,ground,role){ + const found=palette.find(entry=>groundRoleOfEntry(entry,ground)===role); + return found?found[1]:null; +} + +function normalizePaletteEntryCore(entry){ + const hex=entry&&entry[0],name=(entry&&entry[1])||'color'; + return [hex,name,(entry&&entry[2])||columnIdOf(entry)]; +} + +function groundColumnMembersFromPalette(palette,ground){ + const byRole={bg:null,fg:null,steps:[]}; + for(const entry of palette){ + const role=groundRoleOfEntry(entry,ground); + if(role==='bg'||role==='fg')byRole[role]={hex:entry[0],name:entry[1]}; + else if(role==='step')byRole.steps.push({hex:entry[0],name:entry[1]}); + } + const stepIndex=m=>{const x=(m.name||'').match(/^ground[+-](\d+)$/i);return x?parseInt(x[1],10):Infinity;}; + byRole.steps.sort((a,b)=>stepIndex(a)-stepIndex(b)); + return [byRole.bg||{hex:ground&&ground.bg,name:'bg'},...byRole.steps,byRole.fg||{hex:ground&&ground.fg,name:'fg'}].filter(m=>m.hex); +} + +function clearPalettePlan(palette,ground){ + const normalized=palette.map(normalizePaletteEntryCore),removed=[],keep=[]; + normalized.filter(entry=>!groundRoleOfEntry(entry,ground)).forEach(([hex,name])=>{if(name)removed.push({hex,name});}); + const addEndpoint=(role,hex,name)=>{ + const found=normalized.find(entry=>groundRoleOfEntry(entry,ground)===role); + if(found)keep.push(found);else if(hex)keep.push([hex,name,'ground']); + }; + addEndpoint('bg',ground&&ground.bg,'bg'); + addEndpoint('fg',ground&&ground.fg,'fg'); + return {palette:keep,removed}; +} + +function deletePaletteColumnPlan(palette,ground,columnId){ + const normalized=palette.map(normalizePaletteEntryCore),removed=[],keep=[]; + for(const entry of normalized){ + if(groundRoleOfEntry(entry,ground)||columnIdOf(entry)!==columnId)keep.push(entry); + else removed.push({hex:entry[0],name:entry[1]}); + } + return {palette:keep,removed}; +} + +function areAllLocked(keys,locked){ + const has=k=>locked instanceof Set?locked.has(k):Array.isArray(locked)&&locked.includes(k); + return !!(keys&&keys.length)&&keys.every(has); +} +function lockToggleLabel(keys,locked){return areAllLocked(keys,locked)?'unlock all':'lock all';} +function toggleLockSet(keys,locked){ + const next=new Set(locked||[]),all=areAllLocked(keys,next); + (keys||[]).forEach(k=>all?next.delete(k):next.add(k)); + return next; +} + +// Group a flat palette into the ground strip plus structural columns. ground is +// {bg,fg}; those endpoint hexes form the pinned ground column even when absent +// from the palette, and ground+N entries are reserved for that column. Everything +// else groups by its stable column id, not by OKLCH hue/chroma or display name. +// Legacy two-field entries fall back to their generated-name stem until edited. +function columnsFromPalette(palette,ground){ + const bg=ground&&ground.bg,fg=ground&&ground.fg; + const groundStrip=[]; + if(bg)groundStrip.push({hex:bg,role:'bg',name:nameOfGroundRole(palette,ground,'bg')}); + if(fg)groundStrip.push({hex:fg,role:'fg',name:nameOfGroundRole(palette,ground,'fg')}); + const byColumn=new Map(),columns=[]; + for(const entry of palette){ + const [hex,name]=entry; + if(groundRoleOfEntry(entry,ground))continue; + const column=columnIdOf(entry),offset=entry[2]?columnOffset(name):legacyColumnOffset(name); + if(!byColumn.has(column))byColumn.set(column,{column,members:[]}); + byColumn.get(column).members.push({hex,name,offset,column}); + } + for(const f of byColumn.values()){ + const base=(f.members.find(m=>m.offset===0)||f.members[0]).hex; + columns.push({base,column:f.column,stem:f.column,members:f.members.map(m=>({hex:m.hex,name:m.name,column:m.column}))}); + } + return {ground:groundStrip,columns}; +} +// Regenerate a column's members as a symmetric span around the base: n=0 is the +// base alone, n>=1 divides the OKLab intervals black..base and base..white into +// n interior steps per side. Pure black/white endpoint duplicates and rounded +// base duplicates are skipped. {members:[{hex,offset,clamped}]} or +// {members:[],error:'bad-hex'}. +function regenColumn(baseHex,n,opts){ + const hex=typeof baseHex==='string'?normHex(baseHex):null; + if(!hex)return {members:[],error:'bad-hex'}; + const k=Math.min(8,Math.max(0,Math.round(n||0))); + if(k===0)return {members:[{hex,offset:0,clamped:false}]}; + const base=srgb2oklab(hex),black=srgb2oklab('#000000'),white=srgb2oklab('#ffffff'),steps=[]; + for(let i=1;i<=k;i++){ + const dark=interpOklabHex(black,base,i/(k+1),i-k-1); + const light=interpOklabHex(base,white,i/(k+1),i); + steps.push(dark,light); + } + const members=[...steps.filter(s=>!isPureEndpointHex(s.hex)&&s.hex.toLowerCase()!==hex),{hex,offset:0,clamped:false}].sort((a,b)=>a.offset-b.offset); + return {members}; +} +// Rank a column's current member hexes by lightness and give each a signed offset +// from the base (the matching hex, or the nearest by lightness if the base isn't +// present). Lets a regenerate match old positions to new ramp offsets. +function rankByLightness(memberHexes,baseHex){ + const items=memberHexes.map(h=>({hex:h,L:oklchOf(h).L})).sort((a,b)=>a.L-b.L); + let bi=items.findIndex(m=>m.hex.toLowerCase()===(baseHex||'').toLowerCase()); + if(bi<0){const bl=oklchOf(baseHex).L;let best=Infinity;items.forEach((m,i)=>{const d=Math.abs(m.L-bl);if(d<best){best=d;bi=i;}});} + return items.map((m,i)=>({hex:m.hex,offset:i-bi})); +} +// Plan the assignment re-point for a regenerate: for each old ranked member, the +// new member at the same offset is the same position. {map:[[old,new]]} for +// positions whose hex changed; {removed:[hex]} for positions with no new +// counterpart (the caller leaves their references a visible "(gone)"). +function stepRepointPlan(oldRanked,newMembers){ + const byOff=new Map(newMembers.map(m=>[m.offset,m.hex])),map=[],removed=[]; + for(const o of oldRanked){ + const nh=byOff.get(o.offset); + if(nh===undefined)removed.push(o.hex); + else if(nh.toLowerCase()!==o.hex.toLowerCase())map.push([o.hex,nh]); + } + return {map,removed}; +} + +// Preserve structural order. Generated ramps are inserted in offset order, and +// columns are emitted in first-seen palette order. No color sorting happens here. +function sortColumnMembers(column){return Object.assign({},column,{members:[...column.members]});} +function sortColumns(columns){return columns.map(sortColumnMembers);} +function lightestFirstMembers(members){return [...members].sort((a,b)=>oklchOf(b.hex).L-oklchOf(a.hex).L);} + +// Dropdown order for color selection mirrors the visual palette organization: +// bg/fg first, then structural columns in display order. Within each group, +// choices run lightest-to-darkest. Stored palette order stays untouched; this is +// selection-only organization. +function paletteOptionList(cur,palette,ground){ + const have=cur===''||palette.some(p=>p[0]===cur)||[ground&&ground.bg,ground&&ground.fg].filter(Boolean).includes(cur); + const out=[['','— default —']],seen=new Set(); + if(!have)out.push([cur,'(gone) '+cur]); + const add=(hex,name)=>{if(!hex)return;const key=hex.toLowerCase()+'|'+(name||'');if(seen.has(key))return;seen.add(key);out.push([hex,name||hex]);}; + const grouped=columnsFromPalette(palette,ground||{}); + const groundMembers=grouped.ground.map(g=>({hex:g.hex,name:g.name||g.role})) + .concat(palette.filter(entry=>groundRoleOfEntry(entry,ground)==='step').map(([hex,name])=>({hex,name}))); + groundMembers.forEach(m=>add(m.hex,m.name)); + sortColumns(grouped.columns).forEach(f=>lightestFirstMembers(f.members).forEach(m=>add(m.hex,m.name))); + return out; +} +function spanNeighborHex(cur,palette,ground,dir){ + if(!cur)return null; + const wanted=(cur||'').toLowerCase(),groups=[],byLight=(a,b)=>oklchOf(a.hex).L-oklchOf(b.hex).L; + const addGroup=members=>{ + const seen=new Set(),g=[]; + members.filter(m=>m&&m.hex).sort(byLight).forEach(m=>{const h=m.hex.toLowerCase();if(!seen.has(h)){seen.add(h);g.push(m);}}); + if(g.length)groups.push(g); + }; + addGroup(groundColumnMembersFromPalette(palette,ground||{})); + sortColumns(columnsFromPalette(palette,ground||{}).columns).forEach(f=>addGroup(f.members)); + for(const g of groups){ + const i=g.findIndex(m=>(m.hex||'').toLowerCase()===wanted); + if(i<0)continue; + const next=g[i+(dir>0?1:-1)]; + return next?next.hex:null; + } + return null; +} + +export { nameToHex, normalizePkgFace, buildPkgmap, packagesForExport, mergePackagesInto, effResolve, optList, paletteOptionList, spanNeighborHex, slugify, ramp, fgSetFor, floor, lMax, COVERED_FACES, columnsFromPalette, regenColumn, rankByLightness, stepRepointPlan, sortColumns, sortColumnMembers, groundRoleOfEntry, groundColumnMembersFromPalette, clearPalettePlan, deletePaletteColumnPlan, areAllLocked, lockToggleLabel, toggleLockSet }; diff --git a/scripts/theme-studio/app-util.js b/scripts/theme-studio/app-util.js new file mode 100644 index 00000000..e3f76dd8 --- /dev/null +++ b/scripts/theme-studio/app-util.js @@ -0,0 +1,20 @@ +// Pure color/UI-boundary helpers: hex-input parsing, the contrast-rating status +// color, and the readable text color for a background. These are kept out of +// colormath.js (the pure math core) but are unit-tested and inlined into the page +// the same way. textOn leans on rl from colormath; the import is for the tests — +// generate.py strips it on inline, where rl is already present from the inlined +// colormath core. +import { rl } from './colormath.js'; + +// Normalize a hex string: trim, accept an optional leading #, require exactly six +// hex digits, lowercase the result. Returns null for anything else. +function normHex(s){s=s.trim();if(/^[0-9a-fA-F]{6}$/.test(s))s='#'+s;return /^#[0-9a-fA-F]{6}$/.test(s)?s.toLowerCase():null;} + +// Map a WCAG contrast ratio to a status color: AAA green (>=7), AA grey (>=4.5), +// otherwise the fail red. +function ratingColor(r){return r>=7?'#5d9b86':r>=4.5?'#a9b2bb':'#cb6b4d';} + +// Pick black or white text for a background hex, by WCAG relative luminance. +function textOn(h){const L=rl(h);return ((L+0.05)/0.05)>(1.05/(L+0.05))?'#000':'#fff';} + +export { normHex, ratingColor, textOn }; diff --git a/scripts/theme-studio/app.js b/scripts/theme-studio/app.js new file mode 100644 index 00000000..f5683c05 --- /dev/null +++ b/scripts/theme-studio/app.js @@ -0,0 +1,844 @@ +const SAMPLES=SAMPLES_J, CATS=CATS_J, UI_FACES=UIFACES_J, APPS=APPS_J; +let MAP=MAP_J, PALETTE=PALETTE_J, BOLD=BOLD_J, ITALIC=ITALIC_J, UIMAP=UIMAP_J; +let LOCKED=new Set(LOCKS_J); // rows whose choice is decided (controls disabled, skipped by erase/reset batch actions) +const DELTAE_MIN=0.02; // OKLab ΔE below this = colors too close to tell apart (perceptual-metrics spec) +const DEFAULT_MAP=Object.assign({},MAP), DEFAULT_BOLD=Object.assign({},BOLD), DEFAULT_ITALIC=Object.assign({},ITALIC), DEFAULT_UIMAP=JSON.parse(JSON.stringify(UIMAP)); +// --- tier-3 package faces: pure state helpers (Phase 1) --- +// Thin wrappers over the pure logic in app-core.js (inlined further down), +// passing the live module state. packagesForExport / mergePackagesInto live in +// the core verbatim and are used by name. +function pname(n){return nameToHex(n,PALETTE);} +function seedPkgmap(){return buildPkgmap(APPS,PALETTE);} +let PKGMAP=seedPkgmap(); +function esc(t){return t.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');} +// Pure color-math core (lin/rl/contrast/rating/hsv2rgb/rgb2hsv/hex2rgb/rgb2hex, +// plus OKLab/OKLCH/APCA/deltaE), inlined verbatim from colormath.js. +COLORMATH_J +// Pure package-model + dropdown logic, inlined verbatim from app-core.js. The +// wrappers above (pname/seedPkgmap/ddList/pkgEffFg/pkgEffBg) delegate here. +APP_CORE_J +// Pure color/UI-boundary helpers (normHex, ratingColor, textOn), inlined from +// app-util.js. textOn uses rl from the colormath core above. +APP_UTIL_J +// The contrast-cell readout shared by every table: a WCAG ratio colored by its +// AA/AAA rating, with the rating word. Callers compute r for their own fg/bg. +function crHtml(r){return `<span style="color:${ratingColor(r)}">${r.toFixed(1)} ${rating(r)}</span>`;} +// Effective fg/bg with the standard fallback: an unset foreground reads as the +// default fg (MAP['p']), an unset background as the ground (MAP['bg']). All three +// tiers resolve their raw value through these before measuring or rendering. +function effFg(v){return v||MAP['p'];} +function effBg(v){return v||MAP['bg'];} +function cid(l){return l.replace(/\W/g,'');} +function buildLangSel(){const s=document.getElementById('langsel');s.innerHTML='';for(const lang in SAMPLES){const o=document.createElement('option');o.value=lang;o.textContent=lang;s.appendChild(o);}} +function renderCode(){ + const lang=document.getElementById('langsel').value;let html=''; + for(const line of SAMPLES[lang]){ + if(line.length===0){html+='\n';continue;} + for(const [k,t] of line){const c=effFg(MAP[k])||'#cdced1';const w=BOLD[k]?'bold':'normal';const s=ITALIC[k]?'italic':'normal'; + html+=`<span data-k="${k}" style="color:${c};font-weight:${w};font-style:${s}">${esc(t)}</span>`;} + html+='\n';} + const cp=document.getElementById('codepre');cp.innerHTML=html; + cp.onclick=(e)=>{const s=e.target.closest('[data-k]');if(s)flashAssign(s.dataset.k);}; + buildMockFrame(); +} +// Custom color dropdown: a real swatch + name + hex per row, since native +// <option> background colors render unreliably on Linux Chrome. The popup is +// fixed-positioned on <body> so a table's overflow can't clip it. +let _ddPop=null; +function closeColorDropdown(){if(_ddPop){_ddPop.remove();_ddPop=null;}} +document.addEventListener('pointerdown',e=>{if(_ddPop&&!e.target.closest('.cdd')&&!e.target.closest('.cddpop'))closeColorDropdown();}); +function mkColorDropdown(options,cur,onPick){ + const wrap=document.createElement('div');wrap.className='cstep'; + const left=document.createElement('button'),right=document.createElement('button'); + left.className='cstepbtn';right.className='cstepbtn';left.type=right.type='button'; + left.textContent='‹';right.textContent='›';left.title='move to next darker color in this column';right.title='move to next lighter color in this column'; + const t=document.createElement('div');t.className='cdd';t.tabIndex=0; + const nameOf=h=>{const o=options.find(p=>p[0]===h);return o?o[1]:(h||'none');}; + function step(dir){if(wrap.dataset.locked==='1')return;const next=spanNeighborHex(cur,PALETTE,{bg:MAP['bg'],fg:MAP['p']},dir);if(!next)return;cur=next;paint();onPick(next);} + function paintStepButtons(){ + const locked=wrap.dataset.locked==='1'; + left.disabled=locked||!spanNeighborHex(cur,PALETTE,{bg:MAP['bg'],fg:MAP['p']},-1); + right.disabled=locked||!spanNeighborHex(cur,PALETTE,{bg:MAP['bg'],fg:MAP['p']},1); + } + function paint(){t.style.background=cur||'#161412';t.style.color=cur?textOn(cur):'#b4b1a2';t.dataset.val=cur||''; + t.innerHTML=`<span class="cddsw" style="background:${cur||'transparent'}"></span>${esc(nameOf(cur))}`;paintStepButtons();} + paint(); + left.onclick=e=>{e.stopPropagation();step(-1);}; + right.onclick=e=>{e.stopPropagation();step(1);}; + t.onclick=(e)=>{e.stopPropagation();if(wrap.dataset.locked==='1')return;if(_ddPop){closeColorDropdown();return;} + const pop=document.createElement('div');pop.className='cddpop'; + for(const [hex,name] of options){const row=document.createElement('div');row.className='cddrow'+(hex===cur?' sel':''); + row.innerHTML=`<span class="cddsw" style="background:${hex||'transparent'}"></span><span class="cddnm">${esc(name)}</span><span class="cddhx">${hex||''}</span>`; + row.onclick=(ev)=>{ev.stopPropagation();cur=hex;paint();closeColorDropdown();onPick(hex);}; + pop.appendChild(row);} + document.body.appendChild(pop);const r=t.getBoundingClientRect(); + pop.style.left=r.left+'px';pop.style.minWidth=r.width+'px'; + pop.style.top=(r.bottom+2)+'px'; + const ph=pop.getBoundingClientRect().height; + if(r.bottom+ph>window.innerHeight-6)pop.style.top=Math.max(6,r.top-ph-2)+'px'; + _ddPop=pop;}; + t.setValue=h=>{cur=h;paint();}; + wrap.setValue=h=>{cur=h;paint();}; + wrap.syncLocked=paintStepButtons; + wrap.appendChild(left);wrap.appendChild(t);wrap.appendChild(right);paintStepButtons(); + return wrap;} +// Standard option list for a swatch dropdown: a "default" entry, then the +// palette in the same ground/column order as the palette panel. If cur is set +// but no longer in the palette, surface it as a "(gone)" entry so the row still +// shows what it points at. Shared by all three tiers. +function ddList(cur){return paletteOptionList(cur,PALETTE,{bg:MAP['bg'],fg:MAP['p']});} +// Shared lock toggle for any table row. lockKey is namespaced per tier (bare +// syntax kind, 'ui:'+face, 'pkg:'+app+':'+face). els are the row's editable +// controls — native selects/buttons/inputs are disabled; the custom swatch +// dropdown (a div) gets data-locked so its onclick refuses to open. +function mkLockCell(lockKey,els){ + const td=document.createElement('td');td.style.textAlign='center'; + const lk=document.createElement('button');lk.className='lockbtn'; + function paint(){const on=LOCKED.has(lockKey);lk.textContent=on?'🔒':'🔓';lk.classList.toggle('on',on); + lk.title=on?'locked — click to unlock':'click to lock this decision'; + (els||[]).forEach(el=>{if(!el)return; + if(el.tagName==='SELECT'||el.tagName==='BUTTON'||el.tagName==='INPUT')el.disabled=on; + else{el.dataset.locked=on?'1':'';el.classList.toggle('locked',on);if(el.syncLocked)el.syncLocked();}});} + lk.onclick=()=>{LOCKED.has(lockKey)?LOCKED.delete(lockKey):LOCKED.add(lockKey);paint();updateLockToggles();}; + paint();td.appendChild(lk);return td;} +// B/I/U/S style buttons shared by the UI and package tables. isOn(attr) reads the +// current state of an attribute, onToggle(attr) flips it and repaints. Returns +// the button list so the caller appends them and hands them to mkLockCell. +function mkStyleButtons(isOn,onToggle){ + return ['bold','italic','underline','strike'].map(at=>{ + const b=document.createElement('button');b.className='sbtn'+(isOn(at)?' on':'');b.textContent='a'; + b.style.fontWeight=at==='bold'?'bold':'normal';b.style.fontStyle=at==='italic'?'italic':'normal'; + b.style.textDecoration=at==='underline'?'underline':at==='strike'?'line-through':'none';b.title=at; + b.onclick=()=>{onToggle(at);b.classList.toggle('on',!!isOn(at));};return b;});} +// Apply a batch action to every editable row in a tier. keyFn maps a row entry to +// its lock key, or null to skip the row entirely (syntax bg and the default fg); +// resetFn does the actual clearing. Locked rows are left untouched. +function clearUnlockedRows(items,keyFn,resetFn){ + for(const it of items){const k=keyFn(it);if(k===null)continue;if(!LOCKED.has(k))resetFn(it);} +} +function syntaxLockKeys(){return CATS.map(c=>c[0]);} +function uiLockKeys(){return UI_FACES.map(f=>'ui:'+f[0]);} +function pkgLockKeys(){const app=curApp();return APPS[app].faces.map(f=>'pkg:'+app+':'+f[0]);} +function tierLockKeys(tier){return tier==='syntax'?syntaxLockKeys():tier==='ui'?uiLockKeys():pkgLockKeys();} +function updateLockToggle(tier){ + const ids={syntax:'syntaxlocktoggle',ui:'uilocktoggle',pkg:'pkglocktoggle'},b=document.getElementById(ids[tier]);if(!b)return; + b.textContent=lockToggleLabel(tierLockKeys(tier),LOCKED); +} +function updateLockToggles(){updateLockToggle('syntax');updateLockToggle('ui');updateLockToggle('pkg');} +function toggleAllLocks(tier){ + const all=areAllLocked(tierLockKeys(tier),LOCKED); + LOCKED=toggleLockSet(tierLockKeys(tier),LOCKED); + if(tier==='syntax')buildTable();else if(tier==='ui')buildUITable();else buildPkgTable(); + updateLockToggles(); + notify((all?'unlocked ':'locked ')+(tier==='pkg'?'package':tier)+' rows',false); +} +function clearUnlocked(){ + clearUnlockedRows(CATS,c=>(c[0]==='bg'||c[0]==='p')?null:c[0],c=>{MAP[c[0]]='';}); + buildTable();renderCode();notify('erased editable syntax elements',false); +} +function resetUnlocked(){ + clearUnlockedRows(CATS,c=>c[0],c=>{const k=c[0];MAP[k]=DEFAULT_MAP[k]||'';BOLD[k]=!!DEFAULT_BOLD[k];ITALIC[k]=!!DEFAULT_ITALIC[k];}); + buildTable();buildUITable();buildPkgTable();buildPkgPreview();renderCode();applyGround();repaintCovered(); + notify('reset editable syntax elements to captured defaults',false); +} +function clearUnlockedUI(){ + clearUnlockedRows(UI_FACES,f=>'ui:'+f[0],f=>{UIMAP[f[0]]=uiFaceBlank();}); + buildUITable();buildMockFrame();notify('erased editable UI faces',false); +} +function resetUnlockedUI(){ + clearUnlockedRows(UI_FACES,f=>'ui:'+f[0],f=>{UIMAP[f[0]]=JSON.parse(JSON.stringify(DEFAULT_UIMAP[f[0]]||uiFaceBlank()));}); + buildUITable();buildMockFrame();notify('reset editable UI faces to captured defaults',false); +} +function clearUnlockedPkg(){ + const app=curApp(); + clearUnlockedRows(APPS[app].faces,f=>'pkg:'+app+':'+f[0],f=>{PKGMAP[app][f[0]]=normalizePkgFace({source:'cleared'},'cleared');}); + pkgChanged();notify('erased editable '+app+' faces',false); +} +function buildTable(){ + const tb=document.getElementById('legbody');tb.innerHTML=''; + for(const [kind,label,ex] of CATS){ + const tr=document.createElement('tr');tr.dataset.kind=kind; + const cur=MAP[kind]||'';const list=ddList(cur); + const exTd=document.createElement('td');exTd.className='ex';exTd.textContent=ex; + const crTd=document.createElement('td');crTd.style.whiteSpace='nowrap';crTd.style.fontSize='10pt'; + function styleEx(){exTd.style.color=(kind==='bg'?MAP['p']:effFg(MAP[kind]));exTd.style.background=MAP['bg'];exTd.style.fontWeight=BOLD[kind]?'bold':'normal';exTd.style.fontStyle=ITALIC[kind]?'italic':'normal';} + function styleCr(){const r=contrast((kind==='bg'?MAP['p']:effFg(MAP[kind])),MAP['bg']);crTd.innerHTML=crHtml(r);} + const dd=mkColorDropdown(list,cur,(hex)=>{MAP[kind]=hex;styleEx();styleCr();renderCode();if(kind==='bg'||kind==='p'){applyGround();buildTable();buildPkgTable();buildPkgPreview();}repaintCovered();}); + styleEx();styleCr(); + const lkTd=mkLockCell(kind,[dd]); + // style buttons + const stTd=document.createElement('td'); + if(kind!=='bg'){const defs=[['B','a','bold'],['I','a','italic']]; + const btns={}; + defs.forEach(([id,ch,mode])=>{const b=document.createElement('button');b.className='sbtn';b.style.fontWeight=mode==='bold'?'bold':'normal';b.style.fontStyle=mode==='italic'?'italic':'normal';b.textContent=ch; + b.onclick=()=>{if(mode==='bold'){BOLD[kind]=!BOLD[kind];}else{ITALIC[kind]=!ITALIC[kind];}refresh();renderCode();styleEx();}; + btns[mode]=b;stTd.appendChild(b);}); + function refresh(){btns.bold.classList.toggle('on',!!BOLD[kind]);btns.italic.classList.toggle('on',!!ITALIC[kind]);} + refresh();} + const c0=document.createElement('td');c0.appendChild(dd); + const c2=document.createElement('td');c2.className='cat';c2.textContent=label;c2.style.cursor='pointer';c2.title='flash this category in the code';c2.onclick=()=>flashTokens(kind); + tr.appendChild(c2);tr.appendChild(lkTd);tr.appendChild(c0);tr.appendChild(stTd);tr.appendChild(crTd);tr.appendChild(exTd); + tb.appendChild(tr);} + updateLockToggle('syntax'); +} +PALETTE_ACTIONS_J +function notify(msg,err){const m=document.getElementById('palmsg');if(!m)return;m.textContent=msg;m.style.color=err?'#cb6b4d':'#8a9496';m.style.opacity='1';clearTimeout(m._t);m._t=setTimeout(()=>{m.style.opacity='0';},err?4000:2800);} +function applyEdit(){if(selectedIdx!==null)updateColor();else addColor();} +function selectColor(i){selectedIdx=i;const [hex,name]=PALETTE[i];setHex(hex);document.getElementById('newname').value=name;renderPalette();notify('editing "'+name+'" — change the value, then Enter (or Update selected) to save',false);} +function updateColor(){ + if(selectedIdx===null){notify('click a palette color to select it first',true);return;} + const i=selectedIdx,oldHex=PALETTE[i][0],oldRole=groundRoleOfEntry(PALETTE[i],{bg:MAP['bg'],fg:MAP['p']}); + const newHex=curHex(); + const newName=(document.getElementById('newname').value.trim())||PALETTE[i][1]; + if(PALETTE.some((p,j)=>j!==i&&p[1].toLowerCase()===newName.toLowerCase())){notify('another color is already named "'+newName+'" — names must be unique',true);return;} + const isGroundEdit=oldRole==='bg'||oldRole==='fg'; + // If the edited color is a column base with a ramp, recolor the whole column: regenerate from the new base at the same count. + const columns=columnsFromPalette(PALETTE,{bg:MAP['bg'],fg:MAP['p']}).columns; + const column=isGroundEdit?null:columns.find(f=>f.base.toLowerCase()===oldHex.toLowerCase()); + const count=column?Math.max(0,...rankByLightness(column.members.map(m=>m.hex),column.base).map(m=>Math.abs(m.offset))):0; + const columnId=isGroundEdit?'ground':(PALETTE[i][2]||columnStem(PALETTE[i][1])); + PALETTE[i]=[newHex,newName,columnId]; + const duplicateOldHex=PALETTE.some((p,j)=>j!==i&&p[0].toLowerCase()===oldHex.toLowerCase()); + if(isGroundEdit)repointHex(oldHex,newHex); + else if(!duplicateOldHex&&oldHex!==MAP['bg']&&oldHex!==MAP['p'])repointHex(oldHex,newHex); + if(column&&count>0){ + const oldHexes=column.members.map(m=>m.hex.toLowerCase()===oldHex.toLowerCase()?newHex:m.hex); + regenColumnInPlace(oldHexes,newHex,newName,count,column.column||columnId); + closePicker();selectedIdx=null;renderPalette();buildTable();buildUITable();renderCode();applyGround();notify('recolored "'+newName+'" column from the new base',false);return; + } + closePicker();renderPalette();buildTable();buildUITable();renderCode();applyGround();notify('updated "'+newName+'"',false); +} +const DEFAULT_PICKER_HEX='#67809c'; +let [pkH,pkS,pkV]=rgb2hsv(...hex2rgb(DEFAULT_PICKER_HEX)),pickerOn=false; +function curHex(){return normHex(document.getElementById('newhexstr').value)||DEFAULT_PICKER_HEX;} +let pkMode='any'; // contrast mask: any / aa / aaa (what constraint to mask) +let pkModel='hsv'; // color model for editing: hsv / oklch (orthogonal to pkMode) +const OKLCH_CMAX=0.4; // chroma axis range for the C×L plane (and the C dial); past sRGB at most hues, so the gamut grey shows the reachable region +function pkThresh(){return pkMode==='aa'?4.5:pkMode==='aaa'?7:0;} +function drawMask(){const cv=document.getElementById('svmask');if(!cv)return;const sv=document.getElementById('sv'),w=cv.width=sv.clientWidth,h=cv.height=sv.clientHeight,ctx=cv.getContext('2d');ctx.clearRect(0,0,w,h);const T=pkThresh();if(!T)return;ctx.fillStyle='rgba(8,7,6,0.66)';const step=4;for(let x=0;x<w;x+=step){const S=x/w;for(let y=0;y<h;y+=step){const V=1-y/h,[r,g,b]=hsv2rgb(pkH,S,V);if(contrast(rgb2hex(r,g,b),MAP['bg'])<T)ctx.fillRect(x,y,step,step);}}} +// Phase 4b: the SV box becomes a Chroma×Lightness plane in OKLCH mode. Per cell +// the in-gamut test is forward-only (oklch→oklab→linear-rgb + range check), never +// the binary search — that is reserved for committing a color. The rendered +// bitmap is cached on (hue, dims, mask, bg) so dragging C/L (fixed hue) reuses it. +let _planeCache={key:null,data:null}; +function paintOklchPlane(H){ + const cv=document.getElementById('svmask');if(!cv)return; + const sv=document.getElementById('sv'),w=cv.width=sv.clientWidth,h=cv.height=sv.clientHeight,ctx=cv.getContext('2d'); + const T=pkThresh(),key=Math.round(H)+'|'+w+'|'+h+'|'+pkMode+'|'+MAP['bg']; + if(_planeCache.key===key&&_planeCache.data){ctx.putImageData(_planeCache.data,0,0);return;} + const step=4; + for(let x=0;x<w;x+=step){const C=(x/w)*OKLCH_CMAX; + for(let y=0;y<h;y+=step){const L=1-y/h,cell=planeCell(L,C,H); + if(!cell.inGamut){ctx.fillStyle='#15120f';ctx.fillRect(x,y,step,step);continue;} + ctx.fillStyle=cell.hex;ctx.fillRect(x,y,step,step); + if(T&&contrast(cell.hex,MAP['bg'])<T){ctx.fillStyle='rgba(8,7,6,0.66)';ctx.fillRect(x,y,step,step);}}} + _planeCache={key,data:ctx.getImageData(0,0,w,h)}; +} +// --- safe-lightness guidance (spec Phase 5) ---------------------------------- +let pkSafeFace=''; // covered overlay face the picker's lightness is checked against (or '') +function setSafeFace(f){pkSafeFace=f;if(pickerOn)paintPicker();} +// Shade the band of the C×L plane whose lightness is too light to keep pkSafeFace +// readable over its foreground set, with the L_max ceiling as the band's lower +// edge. One marker computed via lMax at the current chroma, not a per-pixel mask. +function paintSafeBand(C,H){ + const el=document.getElementById('svsafe');if(!el)return; + if(!pkSafeFace||pkModel!=='oklch'){el.style.display='none';return;} + const fs=fgSetForFace(pkSafeFace); + if(fs.reason||!fs.set.length){el.style.display='none';return;} + const sv=document.getElementById('sv'),h=sv.clientHeight,res=lMax(H,C,fs.set,WORST_TARGET); + if(res.status==='all'){el.style.display='none';return;} + el.style.display='block';el.style.top='0px'; + el.style.height=(res.status==='none'?h:Math.max(0,(1-res.L)*h))+'px'; + el.title='safe-lightness ceiling for '+pkSafeFace+' ('+(res.status==='none'?'no safe lightness — a foreground is too dark':'L_max '+res.L.toFixed(3)+(res.status==='clamp'?', chroma-clamped':''))+')'; +} +function paintPicker(){const sv=document.getElementById('sv');if(!sv)return; + const w=sv.clientWidth,h=sv.clientHeight,hh=document.getElementById('hue').clientHeight; + if(pkModel==='oklch'){const [L,C,H]=readOklch();sv.style.background='#15120f';paintOklchPlane(H); + document.getElementById('svcur').style.left=(Math.min(1,C/OKLCH_CMAX)*w)+'px'; + document.getElementById('svcur').style.top=((1-L)*h)+'px'; + document.getElementById('huecur').style.top=((H/360)*hh)+'px';paintSafeBand(C,H);return;} + const sb=document.getElementById('svsafe');if(sb)sb.style.display='none'; + sv.style.background=`linear-gradient(to top,#000,rgba(0,0,0,0)),linear-gradient(to right,#fff,rgba(255,255,255,0)),hsl(${pkH},100%,50%)`; + document.getElementById('svcur').style.left=(pkS*w)+'px';document.getElementById('svcur').style.top=((1-pkV)*h)+'px';document.getElementById('huecur').style.top=((pkH/360)*hh)+'px';drawMask();} +function pkReadout(h){const e=document.getElementById('pkhex');if(e)e.textContent=h;const c=document.getElementById('pkcon');if(c){const r=contrast(h,MAP['bg']);c.textContent=r.toFixed(1)+' '+rating(r);c.style.color=ratingColor(r);} + const o=document.getElementById('pkoklch');if(o){const lch=oklab2oklch(srgb2oklab(h));o.textContent='OKLCH '+lch.L.toFixed(3)+' '+lch.C.toFixed(3)+' '+Math.round(lch.H)+'\u00b0';} + const a=document.getElementById('pkapca');if(a){const lc=apca(h,MAP['bg']);a.textContent='APCA Lc '+lc.toFixed(0);a.title='APCA Lc '+lc.toFixed(1)+' (APCA-W3 0.1.9), text on the ground color. Positive = dark text on a light background, negative = light text on a dark background.';}} +function previewPickerHex(hex){if(pickerOn&&selectedIdx!==null)previewSelectedChip(hex);} +function syncHex(){const v=normHex(document.getElementById('newhexstr').value);if(!v)return;document.getElementById('swatch').style.background=v;[pkH,pkS,pkV]=rgb2hsv(...hex2rgb(v));if(pickerOn)paintPicker();pkReadout(v);previewPickerHex(v);} +function setHex(h){h=normHex(h)||h;document.getElementById('newhexstr').value=h;document.getElementById('swatch').style.background=h;[pkH,pkS,pkV]=rgb2hsv(...hex2rgb(h));if(pickerOn)paintPicker();pkReadout(h);previewPickerHex(h);} +function pkSet(){const hex=rgb2hex(...hsv2rgb(pkH,pkS,pkV));document.getElementById('newhexstr').value=hex;document.getElementById('swatch').style.background=hex;paintPicker();pkReadout(hex);previewPickerHex(hex);if(pkModel==='oklch')oklchInputsFromHex(hex);} +// --- OKLCH editing model (Phase 4a): L/C/H dials orthogonal to the HSV square --- +function setOklchInputs(L,C,H){ + const put=(id,v)=>{const e=document.getElementById(id);if(e)e.value=v;}; + put('okL',L.toFixed(3));put('okLn',L.toFixed(3));put('okC',C.toFixed(3));put('okCn',C.toFixed(3)); + const h=String(Math.round(H));put('okH',h);put('okHn',h);} +function oklchInputsFromHex(hex){const lch=oklab2oklch(srgb2oklab(normHex(hex)||DEFAULT_PICKER_HEX));setOklchInputs(lch.L,lch.C,lch.H);} +function readOklch(){return [parseFloat(document.getElementById('okL').value)||0,parseFloat(document.getElementById('okC').value)||0,parseFloat(document.getElementById('okH').value)||0];} +function pkClampStatus(on){const s=document.getElementById('pkclamp');if(!s)return;s.classList.toggle('show',on);s.textContent=on?'chroma clamped to sRGB':'';} +function pkOklchSet(){const [L,C,H]=readOklch();const {hex,clamped}=oklch2hex(L,C,H); + document.getElementById('newhexstr').value=hex;document.getElementById('swatch').style.background=hex; + [pkH,pkS,pkV]=rgb2hsv(...hex2rgb(hex));paintPicker();pkReadout(hex);previewPickerHex(hex); + if(clamped)oklchInputsFromHex(hex); // snap the dials to the reachable color + pkClampStatus(clamped);} +function setPkModel(m){pkModel=m;document.querySelectorAll('.pmodel button').forEach(x=>x.classList.toggle('on',x.dataset.pm===m)); + const oc=document.getElementById('oklchctl');if(oc)oc.classList.toggle('show',m==='oklch'); + if(m==='oklch')oklchInputsFromHex(curHex());else pkClampStatus(false);} +function buildPkChips(){const c=document.getElementById('pkchips');if(!c)return;c.innerHTML='';const T=pkThresh();PALETTE.forEach(([hex,name])=>{const s=document.createElement('div');s.className='pc';s.style.background=hex;s.title=name+' '+hex;const ok=!T||contrast(hex,MAP['bg'])>=T;if(!ok){s.style.opacity='0.22';s.title+=' (below '+pkMode.toUpperCase()+')';}s.onclick=()=>{if(ok)setHex(hex);};c.appendChild(s);});} +function openPicker(){pickerOn=true;[pkH,pkS,pkV]=rgb2hsv(...hex2rgb(curHex()));buildPkChips();document.getElementById('picker').style.display='block';setPkModel(pkModel);paintPicker();pkReadout(curHex());previewPickerHex(curHex());setTimeout(()=>document.addEventListener('pointerdown',pkOutside),0);} +function closePicker(){if(!pickerOn)return;restoreSelectedChip();pickerOn=false;const p=document.getElementById('picker');if(p)p.style.display='none';document.removeEventListener('pointerdown',pkOutside);} +function pkOutside(e){if(!e.target.closest('#picker')&&!e.target.closest('#swatch'))closePicker();} +function pkDrag(el,fn){el.addEventListener('pointerdown',e=>{e.preventDefault();fn(e);const mv=ev=>fn(ev),up=()=>{document.removeEventListener('pointermove',mv);document.removeEventListener('pointerup',up);};document.addEventListener('pointermove',mv);document.addEventListener('pointerup',up);});} +function initPicker(){const sw=document.getElementById('swatch');if(!sw)return;sw.style.background=curHex();sw.onclick=()=>pickerOn?closePicker():openPicker(); + const sf=document.getElementById('safefor');if(sf&&sf.options.length<=1)COVERED_FACES.forEach(f=>{const o=document.createElement('option');o.value=f;o.textContent=f;sf.appendChild(o);}); + pkDrag(document.getElementById('sv'),e=>{const r=document.getElementById('sv').getBoundingClientRect();const fx=Math.max(0,Math.min(1,(e.clientX-r.left)/r.width)),fy=Math.max(0,Math.min(1,(e.clientY-r.top)/r.height)); + if(pkModel==='oklch'){setOklchInputs(1-fy,fx*OKLCH_CMAX,readOklch()[2]);pkOklchSet();}else{pkS=fx;pkV=1-fy;pkSet();}}); + pkDrag(document.getElementById('hue'),e=>{const r=document.getElementById('hue').getBoundingClientRect();const fy=Math.max(0,Math.min(1,(e.clientY-r.top)/r.height)); + if(pkModel==='oklch'){const [L,C]=readOklch();setOklchInputs(L,C,fy*360);pkOklchSet();}else{pkH=fy*360;pkSet();}}); + document.querySelectorAll('.pmode button').forEach(b=>b.onclick=()=>{pkMode=b.dataset.m;document.querySelectorAll('.pmode button').forEach(x=>x.classList.toggle('on',x===b));paintPicker();buildPkChips();}); + document.querySelectorAll('.pmodel button').forEach(b=>b.onclick=()=>setPkModel(b.dataset.pm)); + [['okL','okLn',3],['okC','okCn',3],['okH','okHn',0]].forEach(([r,n,dp])=>{ + const re=document.getElementById(r),ne=document.getElementById(n); + if(re)re.addEventListener('input',()=>{if(ne)ne.value=(+re.value).toFixed(dp);pkOklchSet();}); + if(ne)ne.addEventListener('input',()=>{if(re)re.value=ne.value;pkOklchSet();});});} +function addColor(){const h=curHex();const name=document.getElementById('newname').value.trim(); + if(!name){notify('name the color before adding it',true);return;} + if(PALETTE.some(p=>p[1].toLowerCase()===name.toLowerCase())){notify('a color named "'+name+'" already exists — select it and use Update selected to change its value',true);return;} + PALETTE.push([h,name,columnIdOf([h,name])]);const healed=healGone(name,h);document.getElementById('newname').value='';selectedIdx=null;closePicker(); + renderPalette();buildTable();buildUITable(); + if(healed){renderCode();applyGround();if(document.getElementById('pkgbody'))buildPkgTable();buildPkgPreview();} + notify(healed?('added "'+name+'" and reconnected its assignments'):('added "'+name+'"'),false);} +function themeName(){return (document.getElementById('themename').value||'theme').trim()||'theme';} +function fileSlug(){return slugify(themeName());} +function exportObj(){normalizePalette();const a={};CATS.forEach(c=>a[c[0]]=MAP[c[0]]);const o={name:themeName(),palette:PALETTE,assignments:a,bold:Object.keys(BOLD).filter(k=>BOLD[k]),italic:Object.keys(ITALIC).filter(k=>ITALIC[k]),ui:UIMAP};if(LOCKED.size)o.locks=[...LOCKED];const pk=packagesForExport(PKGMAP);if(Object.keys(pk).length)o.packages=pk;return o;} +function exportState(){const t=document.getElementById('export');t.value=JSON.stringify(exportObj(),null,1);t.style.display='block';t.focus();t.select();} +function toggleJSON(){const t=document.getElementById('export'),b=document.getElementById('jsonbtn');if(t.style.display==='block'){t.style.display='none';b.textContent='show';}else{exportState();b.textContent='hide';}} +function updateTitle(){const n=document.getElementById('themename').value.trim();document.getElementById('pagetitle').textContent=(n||'Untitled')+': theme';} +function exportTheme(){const blob=new Blob([JSON.stringify(exportObj(),null,1)],{type:'application/json'});const a=document.createElement('a');a.href=URL.createObjectURL(blob);a.download=fileSlug()+'.json';a.click();} +function applyImported(text){const d=JSON.parse(text);lastGone={};if(d.name)document.getElementById('themename').value=d.name;if(d.palette)PALETTE=d.palette.map(normalizePaletteEntry);if(d.assignments)Object.assign(MAP,d.assignments); + BOLD={};(d.bold||[]).forEach(k=>BOLD[k]=true);ITALIC={};(d.italic||[]).forEach(k=>ITALIC[k]=true); + LOCKED=new Set(d.locks||[]); + if(d.ui)Object.assign(UIMAP,d.ui); + PKGMAP=seedPkgmap();if(d.packages)mergePackagesInto(PKGMAP,d.packages); + renderPalette();buildTable();buildUITable();buildPkgTable();buildPkgPreview();renderCode();applyGround();updateTitle();} +function importFile(ev){const f=ev.target.files[0];if(!f)return;const r=new FileReader(); + r.onload=()=>{try{applyImported(r.result);updateTitle();}catch(e){alert('bad theme file: '+e.message);}}; + r.readAsText(f);ev.target.value='';} +async function importTheme(){ + if(!window.showOpenFilePicker){const fi=document.getElementById('fileinput');if(fi)fi.click();return;} + try{const [h]=await window.showOpenFilePicker({types:[{description:'theme JSON',accept:{'application/json':['.json']}}]}); + const file=await h.getFile();applyImported(await file.text());updateTitle(); + notify('imported "'+(themeName()||file.name)+'"',false); + }catch(e){if(e&&e.name!=='AbortError')notify('import failed: '+e.message,true);}} +// The blanket covers only the code panes and syntax example cells. UI-face +// preview cells also carry .ex, but a face with its own bg must keep it, so +// those rows repaint through paintUI (which also re-rates the contrast cell +// against the new ground for faces without their own bg). +function applyGround(){document.querySelectorAll('pre').forEach(p=>p.style.background=MAP['bg']);document.querySelectorAll('#legbody .ex').forEach(e=>e.style.background=MAP['bg']);UI_FACES.forEach(([f])=>{if(document.getElementById('uiprev-'+f))paintUI(f);});} +function uf(f){return UIMAP[f]||{};} +function udeco(o){return `font-weight:${o.bold?'bold':'normal'};font-style:${o.italic?'italic':'normal'};text-decoration:${(o.underline?'underline ':'')+(o.strike?'line-through':'')||'none'}`;} +// A face's :box, rendered as an inset box-shadow (no layout shift). Returns the +// box-shadow VALUE (or '' for no box). 'line' is a flat border in the box color +// (or the face's own color when unset); 'released'/'pressed' are the 3D button +// styles Emacs draws, derived from explicit box color when set, otherwise the +// background so they read on any color. +function boxCss(b,bg){if(!b||!b.style)return '';const w=b.width||1; + if(b.style==='released'||b.style==='pressed'){ + // Emacs derives the 3D edges from a base color (reliefColors, ported from + // xterm.c); the translucent pair is only the no-color fallback. + const r=(b.color||bg)?reliefColors(b.color||bg):{hl:null,sh:null}; + const hl=r.hl||'#ffffff33',sh=r.sh||'#00000066'; + const [a,z]=b.style==='released'?[hl,sh]:[sh,hl]; + return `inset ${w}px ${w}px 0 ${a},inset -${w}px -${w}px 0 ${z}`;} + return `inset 0 0 0 ${w}px ${b.color||'currentColor'}`;} +// The per-row box control: none / line / raised / pressed plus optional line +// color. get()/set() read and write the face's box object (null = no box). +function mkBoxControl(get,set){const wrap=document.createElement('div');wrap.className='boxctl'; + const s=document.createElement('select');s.className='chip';s.style.cssText='width:84px;font:10pt monospace'; + [['','no box'],['line','line'],['released','raised'],['pressed','pressed']].forEach(([v,l])=>{const o=document.createElement('option');o.value=v;o.textContent=l;s.appendChild(o);}); + const dd=mkColorDropdown(ddList((get()&&get().color)||''),(get()&&get().color)||'',h=>{const cur=get();if(!cur)return;set(Object.assign({},cur,{color:h||null}));}); + function paint(){const cur=get();s.value=cur&&cur.style?cur.style:'';dd.setValue(cur&&cur.color?cur.color:''); + const off=!cur||!cur.style||wrap.dataset.locked==='1';dd.dataset.locked=off?'1':'';dd.classList.toggle('locked',off);if(dd.syncLocked)dd.syncLocked();} + s.onchange=()=>{const cur=get();set(s.value?{style:s.value,width:cur&&cur.width||1,color:cur&&cur.color||null}:null);paint();}; + wrap.syncLocked=()=>{const locked=wrap.dataset.locked==='1';s.disabled=locked;paint();}; + wrap.append(s,dd);paint();return wrap;} +function flashRow(tr){if(!tr)return;tr.scrollIntoView({block:'center',behavior:'smooth'});tr.classList.remove('flash');void tr.offsetWidth;tr.classList.add('flash');} +function flashEl(el){if(!el)return;el.scrollIntoView({block:'nearest',inline:'nearest',behavior:'smooth'});el.classList.remove('flashtok');void el.offsetWidth;el.classList.add('flashtok');} +// Flash every matching element but scroll only the first into view, so a face +// that maps to several preview spans still lands the viewport on the first. +function flashEls(els){els=[...els];if(!els.length)return;els[0].scrollIntoView({block:'nearest',inline:'nearest',behavior:'smooth'});els.forEach(el=>{el.classList.remove('flashtok');void el.offsetWidth;el.classList.add('flashtok');});} +function flashTokens(kind){const sp=document.querySelectorAll('#codepre [data-k="'+kind+'"]');if(sp.length){flashEls(sp);return;}const row=document.querySelector('#legbody tr[data-kind="'+kind+'"]');if(row)flashEl(row.querySelector('.ex'));} +function flashAssign(k){flashRow(document.querySelector(`#legbody tr[data-kind="${k}"]`));} +function flashUi(f){flashRow(document.querySelector(`#uibody tr[data-face="${f}"]`));} +function flashUiPreview(f){const sp=document.querySelectorAll(`#mockframe [data-face="${f}"]`);if(sp.length){flashEls(sp);return;}const cell=document.getElementById('uiprev-'+f);if(cell)flashEl(cell);} +function flashPkg(f){flashRow(document.querySelector(`#pkgbody tr[data-face="${f}"]`));} +function flashPkgPreview(f){const sp=document.querySelectorAll(`#pkgpreview [data-face="${f}"]`);if(sp.length){flashEls(sp);return;}const row=document.querySelector(`#pkgbody tr[data-face="${f}"]`);if(row)flashEl(row.querySelector('.cat'));} +function mockSpan(k,t){return `<span data-k="${k}" style="color:${effFg(MAP[k])};font-weight:${BOLD[k]?'bold':'normal'};font-style:${ITALIC[k]?'italic':'normal'}">${esc(t)}</span>`;} +function syncMockHeight(){const t=document.getElementById('uitable'),m=document.getElementById('mockframe');if(!t||!m)return;const lb=m.previousElementSibling,lbh=lb?lb.getBoundingClientRect().height+10:30;m.style.height=Math.max(t.getBoundingClientRect().height-lbh,220)+'px';} +function buildMockFrame(){ + const fr=document.getElementById('mockframe');if(!fr)return; + const bg=MAP['bg'],fg=MAP['p']; + const ln=uf('line-number'),lnc=uf('line-number-current-line'),hl=uf('hl-line'),hil=uf('highlight'),reg=uf('region'),isr=uf('isearch'),isf=uf('isearch-fail'),laz=uf('lazy-highlight'),par=uf('show-paren-match'),parx=uf('show-paren-mismatch'),cur=uf('cursor'),ml=uf('mode-line'),mli=uf('mode-line-inactive'),mb=uf('minibuffer-prompt'),frng=uf('fringe'),vb=uf('vertical-border'),lnk=uf('link'),err=uf('error'),wrn=uf('warning'),suc=uf('success'); + const lines=[ + {t:[['cmd',';; '],['cm','init.el - your config']]}, + {t:[['punc','('],['kw','require'],['p',' '],['con',"'cl-lib"],['punc',')']]}, + {t:[]}, + {t:[['punc','('],['kw','defun'],['p',' '],['fnd','cj/greet'],['p',' '],['punc','('],['var','name'],['punc',')']]}, + {t:[['p',' '],['punc','('],['fnc','message'],['p',' '],['str','"hi %s"'],['p',' '],['var','name'],['punc','))']],cur:1}, + {t:[['p',' '],['punc','('],['kw','setq'],['p',' '],['var','count'],['p',' '],['num','42'],['punc',')']],region:1}, + {t:[['p',' '],['punc','('],['kw','if'],['p',' '],['punc','('],['op','>'],['p',' '],['var','count'],['p',' '],['num','0'],['punc',')']],match:1}, + {t:[['p',' '],['punc','('],['kw','setq'],['p',' '],['var','total'],['p',' '],['punc','('],['op','+'],['p',' '],['var','total'],['p',' '],['var','count'],['punc','))']],hl:1}, + {t:[['p',' '],['punc','('],['fnc','process'],['p',' '],['var','items'],['punc',')']],cont:1}, + {t:[['p',' '],['punc','('],['fnc','cl-incf'],['p',' '],['var','count'],['punc',')']],lazy:1}, + {t:[['p',' '],['punc','('],['kw','setq'],['p',' '],['var','done'],['p',' '],['con','t'],['punc',')']],paren:1}, + {t:[['p',' '],['punc','('],['fnc','oops'],['p',' '],['var','nested'],['punc','))']],mismatch:1} + ]; + // An overlay face (region, highlight, isearch, lazy-highlight) merges the way + // Emacs does: its background applies, and its foreground overrides the tokens + // only when set — otherwise the underlying syntax colors show through. + const overlay=(tokens,face,dface)=>{ + const inner=face.fg + ? `<span style="color:${face.fg}">${tokens.map(([,t])=>esc(t)).join('')}</span>` + : tokens.map(([k,t])=>mockSpan(k,t)).join(''); + return `<span data-face="${dface}" style="background:${face.bg||'transparent'};${udeco(face)}">${inner}</span>`; + }; + // Emacs box cursor: it sits on the character at point, drawn in the frame + // background over the cursor color (the cursor face's foreground is ignored). + // Falls back to a trailing block only if the line has no glyph (point at EOL). + const withCursor=(tokens)=>{ + let out='',placed=false; + const cell=ch=>`<span data-face="cursor" style="background:${cur.bg||fg};color:${bg}">${esc(ch)}</span>`; + for(const [k,t] of tokens){ + const m=placed?-1:t.search(/\S/); + if(m>=0){ + if(m>0)out+=mockSpan(k,t.slice(0,m)); + out+=cell(t[m]); + if(t.length>m+1)out+=mockSpan(k,t.slice(m+1)); + placed=true; + } else out+=mockSpan(k,t); + } + if(!placed)out+=cell(' '); + return out; + }; + let buf=''; + lines.forEach((L,i)=>{ + const isc=L.cur; + const nFg=isc?(lnc.fg||fg):(ln.fg||fg), nBg=isc?(lnc.bg||'transparent'):(ln.bg||'transparent'); + const rowBg=isc?(hl.bg||'transparent'):'transparent'; + let cd; + if(isc)cd=withCursor(L.t); + else if(L.region)cd=overlay(L.t,reg,'region'); + else if(L.hl)cd=overlay(L.t,hil,'highlight'); + else if(L.match)cd=overlay(L.t,isr,'isearch'); + else if(L.lazy)cd=overlay(L.t,laz,'lazy-highlight'); + else if(L.paren)cd=L.t.map(([k,t],j)=>j===L.t.length-1?`<span data-face="show-paren-match" style="background:${par.bg||'transparent'};color:${par.fg||MAP[k]||fg};${udeco(par)}">${esc(t)}</span>`:mockSpan(k,t)).join(''); + else if(L.mismatch)cd=L.t.map(([k,t],j)=>{if(j!==L.t.length-1)return mockSpan(k,t);const head=t.slice(0,-1),bad=t.slice(-1);return (head?mockSpan(k,head):'')+`<span data-face="show-paren-mismatch" style="background:${parx.bg||'transparent'};color:${parx.fg||MAP[k]||fg};${udeco(parx)}">${esc(bad)}</span>`;}).join(''); + else cd=L.t.map(([k,t])=>mockSpan(k,t)).join(''); + const nFace=isc?'line-number-current-line':'line-number'; + buf+=`<div class="ln" style="background:${rowBg}"><span class="fr" data-face="fringe" style="background:${frng.bg||bg};color:${frng.fg||fg};text-align:center;font-size:10px;overflow:hidden" title="fringe">${L.cont?'↪':''}</span><span class="num" data-face="${nFace}" style="color:${nFg};background:${nBg};${udeco(isc?lnc:ln)}">${i+1}</span><span class="cd">${cd||' '}</span></div>`; + }); + let html=`<div class="mbuf" style="display:flex;background:${bg}"><div style="flex:1;min-width:0">${buf}</div><div data-face="vertical-border" title="vertical-border" style="width:3px;flex:0 0 auto;background:${vb.fg||vb.bg||'#2f343a'}"></div></div>`; + const mlbx=boxCss(ml.box,ml.bg||bg),mlibx=boxCss(mli.box,mli.bg||bg); + html+=`<div class="bar" data-face="mode-line" style="background:${ml.bg||fg};color:${ml.fg||bg};${udeco(ml)}${mlbx?';box-shadow:'+mlbx:''}"> init.el (Emacs Lisp) L5 git:main </div>`; + html+=`<div class="bar" data-face="mode-line-inactive" style="background:${mli.bg||bg};color:${mli.fg||fg};${udeco(mli)}${mlibx?';box-shadow:'+mlibx:''}"> *Messages* (Fundamental) </div>`; + html+=`<div class="echo" style="color:${fg}"><span data-face="minibuffer-prompt" style="color:${mb.fg||fg};${udeco(mb)}">I-search:</span> count <span data-face="isearch-fail" style="color:${isf.fg||fg};background:${isf.bg||'transparent'};${udeco(isf)}">zzz [no match]</span></div>`; + html+=`<div class="echo"><span data-face="link" style="color:${lnk.fg||fg};${udeco(lnk)}">https://gnu.org</span> <span data-face="error" style="color:${err.fg||fg};${udeco(err)}">error</span> <span data-face="warning" style="color:${wrn.fg||fg};${udeco(wrn)}">warning</span> <span data-face="success" style="color:${suc.fg||fg};${udeco(suc)}">ok</span></div>`; + fr.innerHTML=html;fr.style.background=bg;fr.style.color=fg; + fr.onclick=(e)=>{const u=e.target.closest('[data-face]');if(u){flashUi(u.dataset.face);return;}const k=e.target.closest('[data-k]');if(k)flashAssign(k.dataset.k);}; +} +// All three tiers share one dropdown — the swatch div from mkColorDropdown. The +// native <select> rendered swatch colors unreliably on Linux Chrome, so it is +// gone. '' (the default entry) maps back to null in the stored model. +function uiSelect(face,attr){const cur=UIMAP[face][attr]||''; + return mkColorDropdown(ddList(cur),cur,h=>{UIMAP[face][attr]=h||null;paintUI(face);buildMockFrame();});} +const BASE_INHERITS=['fixed-pitch','variable-pitch','default','link','bold','italic','shadow']; +function uiFaceBlank(){return {fg:null,bg:null,bold:false,italic:false,underline:false,strike:false};} +function seedFace(d){return normalizePkgFace({fg:pname(d.fg),bg:pname(d.bg),bold:d.bold,italic:d.italic,underline:d.underline,strike:d.strike,inherit:d.inherit,height:d.height,box:d.box},'default');} +function curApp(){const s=document.getElementById('appsel');return s&&s.value?s.value:Object.keys(APPS)[0];} +function pkgEffFg(app,face,seen){return effResolve(PKGMAP,app,face,'fg',seen);} +function pkgEffBg(app,face,seen){return effResolve(PKGMAP,app,face,'bg',seen);} +function buildAppSel(){const s=document.getElementById('appsel');if(!s)return;s.innerHTML='';for(const app in APPS){const o=document.createElement('option');o.value=app;o.textContent=APPS[app].label;s.appendChild(o);}s.onchange=pkgChanged;} +function pkgChanged(){buildPkgTable();buildPkgPreview();syncPkgHeight();} +function buildPkgTable(){ + const app=curApp(),tb=document.getElementById('pkgbody');if(!tb)return;tb.innerHTML=''; + const flt=(document.getElementById('pkgfilter').value||'').trim().toLowerCase(); + const inh=[''].concat(BASE_INHERITS).concat(APPS[app].faces.map(r=>r[0])); + for(const [face,label,def] of APPS[app].faces){ + if(flt&&!(face.toLowerCase().includes(flt)||label.toLowerCase().includes(flt)))continue; + const f=PKGMAP[app][face],tr=document.createElement('tr');tr.dataset.face=face; + const c0=document.createElement('td');c0.className='cat';c0.textContent=label;c0.title=face;c0.style.cursor='pointer';c0.onclick=()=>flashPkgPreview(face); + const fgd=mkColorDropdown(ddList(f.fg||''),f.fg||'',h=>{f.fg=h||null;f.source='user';pkgChanged();}), + bgd=mkColorDropdown(ddList(f.bg||''),f.bg||'',h=>{f.bg=h||null;f.source='user';pkgChanged();}); + const cf=document.createElement('td');cf.appendChild(fgd); + const cb=document.createElement('td');cb.appendChild(bgd); + const cw=document.createElement('td'); + const pkBtns=mkStyleButtons(at=>f[at],at=>{f[at]=!f[at];f.source='user';pkgChanged();}); + pkBtns.forEach(b=>cw.appendChild(b)); + const ci=document.createElement('td');const isel=document.createElement('select');isel.className='chip';isel.style.cssText='width:150px;font:10pt monospace';inh.forEach(o=>{const op=document.createElement('option');op.value=o;op.textContent=o||'— none —';isel.appendChild(op);});isel.value=f.inherit||'';isel.onchange=()=>{f.inherit=isel.value||null;f.source='user';pkgChanged();};ci.appendChild(isel); + const ch=document.createElement('td');const hin=document.createElement('input');hin.type='number';hin.min='0.8';hin.max='2.5';hin.step='0.05';hin.value=f.height||1;hin.className='hstep';hin.onchange=()=>{f.height=parseFloat(hin.value)||1;f.source='user';pkgChanged();};ch.appendChild(hin); + const cc=document.createElement('td');cc.style.fontSize='10pt';cc.style.whiteSpace='nowrap';const efg=effFg(pkgEffFg(app,face)),ebg=effBg(pkgEffBg(app,face)),r=contrast(efg,ebg);cc.innerHTML=crHtml(r); + const cx=document.createElement('td');const boxCtl=mkBoxControl(()=>f.box,b=>{f.box=b;f.source='user';pkgChanged();});cx.appendChild(boxCtl); + const cr=document.createElement('td');const rb=document.createElement('button');rb.className='sbtn';rb.textContent='↺';rb.title='reset to default';rb.onclick=()=>{PKGMAP[app][face]=seedFace(def);pkgChanged();};cr.appendChild(rb); + const cL=mkLockCell('pkg:'+app+':'+face,[fgd,bgd,...pkBtns,isel,hin,boxCtl,rb]); + tr.append(c0,cL,cf,cb,cw,cc,ci,ch,cx,cr);tb.appendChild(tr); + } + applyTableSort('pkgbody'); + updateLockToggle('pkg'); +} +function ofs(app,face){const f=PKGMAP[app][face]||{},fg=effFg(pkgEffFg(app,face)),bg=pkgEffBg(app,face);const dec=(f.underline?'underline ':'')+(f.strike?'line-through':'');const bx=boxCss(f.box,bg||MAP['bg']);return `color:${fg};${bg?'background:'+bg+';':''}font-weight:${f.bold?'bold':'normal'};font-style:${f.italic?'italic':'normal'};text-decoration:${dec.trim()||'none'};font-size:${(f.height||1)}em${bx?';box-shadow:'+bx:''}`;} +function os(app,face,txt){return `<span data-face="${face}" style="${ofs(app,face)}">${txt}</span>`;} +function renderOrgPreview(){const a='org-mode',L=[]; + L.push(os(a,'org-document-info-keyword','#+TITLE:')+' '+os(a,'org-document-title','Project Notes')); + L.push(os(a,'org-document-info-keyword','#+AUTHOR:')+' '+os(a,'org-document-info','Craig Jennings')); + L.push(os(a,'org-meta-line','#+STARTUP: overview')); + L.push(''); + L.push(os(a,'org-level-1','* Inbox')+' '+os(a,'org-tag',':work:')+os(a,'org-tag-group',':@office:')); + L.push(os(a,'org-level-2','** ')+os(a,'org-todo','TODO')+os(a,'org-level-2',' Draft the spec')+' '+os(a,'org-priority','[#A]')+' '+os(a,'org-tag',':spec:')); + L.push(' '+os(a,'org-special-keyword','SCHEDULED:')+' '+os(a,'org-date','<2026-06-08 Sun>')+' '+os(a,'org-special-keyword','DEADLINE:')+' '+os(a,'org-date','<2026-06-12 Thu>')); + L.push(' '+os(a,'org-drawer',':PROPERTIES:')); + L.push(' '+os(a,'org-special-keyword',':ID:')+' '+os(a,'org-property-value','abc-123-def')); + L.push(' '+os(a,'org-drawer',':END:')); + L.push(' '+os(a,'org-list-dt','- term ::')+' definition, with a '+os(a,'org-footnote','[fn:1]')+' note.'); + L.push(' '+os(a,'org-checkbox','[X]')+' done item '+os(a,'org-checkbox-statistics-done','[2/2]')); + L.push(' '+os(a,'org-checkbox','[ ]')+' open item '+os(a,'org-checkbox-statistics-todo','[0/3]')+' '+os(a,'org-warning','(!)')); + L.push(os(a,'org-level-2','** ')+os(a,'org-done','DONE')+os(a,'org-headline-done',' Ship the tool')); + L.push(os(a,'org-level-3','*** ')+os(a,'org-todo','TODO')+os(a,'org-headline-todo',' Heading three')); + L.push(os(a,'org-level-4','**** four')+' / '+os(a,'org-level-5','***** five')+' / '+os(a,'org-level-6','****** six')+' / '+os(a,'org-level-7','******* seven')+' / '+os(a,'org-level-8','******** eight')); + L.push(' Inline '+os(a,'org-code','=code=')+', '+os(a,'org-verbatim','~verbatim~')+', '+os(a,'org-inline-src-block','src_py{1+1}')+','); + L.push(' a '+os(a,'org-link','[[https://gnu.org][link]]')+', a '+os(a,'org-target','<<target>>')+', a '+os(a,'org-macro','{{{macro}}}')+','); + L.push(' a '+os(a,'org-cite','[cite:')+os(a,'org-cite-key','@knuth1984')+os(a,'org-cite',']')+', a date '+os(a,'org-sexp-date','<%%(diary-float 6 5 2)>')+'.'); + L.push(' '+os(a,'org-quote','#+begin_quote')+' a '+os(a,'org-verse','verse')+' line, latex '+os(a,'org-latex-and-related','$E = mc^2$')+'.'); + L.push(''); + L.push(' '+os(a,'org-block-begin-line','#+begin_src elisp')); + L.push(' '+os(a,'org-block',' (message "hi")')); + L.push(' '+os(a,'org-block-end-line','#+end_src')); + L.push(''); + L.push(' '+os(a,'org-table-header','| name | hex |')); + L.push(' '+os(a,'org-table','|------+---------|')); + L.push(' '+os(a,'org-table-row','| blue | #67809c |')+' '+os(a,'org-formula',':=vsum(@2)')); + L.push(' '+os(a,'org-column-title','Effort')+' '+os(a,'org-column','| 0:30 |')+' '+os(a,'org-archived','* archived')+os(a,'org-ellipsis',' ...')); + L.push(''); + L.push(os(a,'org-agenda-structure','Week-agenda (W23):')); + L.push(os(a,'org-agenda-date','Monday 8 June 2026')); + L.push(os(a,'org-agenda-date-today','Tuesday 9 June 2026')+' '+os(a,'org-agenda-current-time','10:24')+' '+os(a,'org-time-grid','----------')); + L.push(os(a,'org-agenda-date-weekend','Saturday 13 June')+' / '+os(a,'org-agenda-date-weekend-today','wknd-today')); + L.push(' '+os(a,'org-scheduled-previously','Sched.past:')+' overdue '+os(a,'org-agenda-done','x done item')); + L.push(' '+os(a,'org-scheduled','Scheduled:')+' a task '+os(a,'org-scheduled-today','due today')); + L.push(' '+os(a,'org-imminent-deadline','Deadline!')+' / '+os(a,'org-upcoming-deadline','upcoming')+' / '+os(a,'org-upcoming-distant-deadline','distant')); + L.push(' '+os(a,'org-agenda-dimmed-todo-face','dimmed todo')+' '+os(a,'org-agenda-diary','diary')+' '+os(a,'org-agenda-clocking','clocking')); + L.push(' '+os(a,'org-agenda-calendar-event','cal-event')+' / '+os(a,'org-agenda-calendar-sexp','cal-sexp')+' / '+os(a,'org-agenda-calendar-daterange','range')); + L.push(' '+os(a,'org-agenda-structure-secondary','secondary')+' '+os(a,'org-agenda-structure-filter','filter')+' '+os(a,'org-agenda-restriction-lock','lock')+' '+os(a,'org-agenda-column-dateline','col-date')); + L.push(' Filters: '+os(a,'org-agenda-filter-category','cat')+' '+os(a,'org-agenda-filter-tags','tags')+' '+os(a,'org-agenda-filter-effort','effort')+' '+os(a,'org-agenda-filter-regexp','re')); + L.push(' '+os(a,'org-mode-line-clock','[0:45]')+' / '+os(a,'org-mode-line-clock-overrun','[OVER]')+' '+os(a,'org-dispatcher-highlight','[d]ispatch')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`; +} +function renderMagitPreview(){const a='magit',L=[]; + L.push(os(a,'magit-header-line',' Magit: dotemacs ')+' '+os(a,'magit-header-line-key','g')+os(a,'magit-header-line-log-select',' refresh')); + L.push(os(a,'magit-head','Head:')+' '+os(a,'magit-branch-current','main')+' '+os(a,'magit-diff-revision-summary','Ship the tool')); + L.push(os(a,'magit-head','Merge:')+' '+os(a,'magit-branch-remote','origin/main')+' '+os(a,'magit-branch-local','main')); + L.push(os(a,'magit-head','Push:')+' '+os(a,'magit-branch-remote-head','origin/main')); + L.push(os(a,'magit-head','Upstream:')+' '+os(a,'magit-branch-upstream','origin/main')+' '+os(a,'magit-branch-warning','(diverged)')); + L.push(''); + L.push(os(a,'magit-section-heading','Untracked files')+' '+os(a,'magit-section-child-count','(2)')); + L.push(' '+os(a,'magit-filename','notes.txt')+' '+os(a,'magit-dimmed','(ignored sibling)')); + L.push(os(a,'magit-section-highlight',' scratch.el (highlighted row)')); + L.push(''); + L.push(os(a,'magit-section-heading','Unstaged changes')+' '+os(a,'magit-section-child-count','(1)')); + L.push(os(a,'magit-diff-file-heading','modified generate.py')); + L.push(os(a,'magit-diff-hunk-heading','@@ -1,4 +1,5 @@ def main')); + L.push(os(a,'magit-diff-context',' unchanged context')); + L.push(os(a,'magit-diff-removed','- old line')+os(a,'magit-diff-whitespace-warning',' ')); + L.push(os(a,'magit-diff-added','+ new line')); + L.push(''); + L.push(os(a,'magit-section-heading','Staged changes')+' '+os(a,'magit-diffstat-added','++++')+os(a,'magit-diffstat-removed','--')); + L.push(os(a,'magit-diff-file-heading-highlight','modified README.md (highlighted heading)')); + L.push(os(a,'magit-diff-hunk-heading-highlight','@@ hunk heading highlight @@')); + L.push(os(a,'magit-diff-added-highlight','+ added highlight')+' '+os(a,'magit-diff-removed-highlight','- removed highlight')); + L.push(os(a,'magit-diff-context-highlight',' context highlight')); + L.push(''); + L.push(os(a,'magit-section-heading','Stashes')); + L.push(' '+os(a,'magit-refname-stash','stash@{0}')+' '+os(a,'magit-refname-wip','wip')+' '+os(a,'magit-refname-pullreq','pr/42')+' '+os(a,'magit-refname','refs/heads/x')); + L.push(''); + L.push(os(a,'magit-section-heading','Recent commits')); + L.push(os(a,'magit-log-graph','* ')+os(a,'magit-hash','b5b1869f')+' '+os(a,'magit-log-date','06-08')+' '+os(a,'magit-log-author','Craig')+' enlarge the picker'); + L.push(os(a,'magit-log-graph','* ')+os(a,'magit-hash','4fa5e995')+' '+os(a,'magit-log-date','06-07')+' '+os(a,'magit-log-author','Craig')+' '+os(a,'magit-keyword','[feat]')+' picker'); + L.push(os(a,'magit-log-graph','* ')+os(a,'magit-hash','de07e01a')+' '+os(a,'magit-log-date','06-05')+' '+os(a,'magit-log-author','Craig')+' '+os(a,'magit-tag','v0.3')+' '+os(a,'magit-keyword-squash','!squash')); + L.push(''); + L.push(os(a,'magit-section-secondary-heading','Merge conflict')+' '+os(a,'magit-diff-lines-heading','lines 10-14')+os(a,'magit-diff-lines-boundary','|')); + L.push(' '+os(a,'magit-diff-conflict-heading','=======')+' '+os(a,'magit-diff-conflict-heading-highlight','(hl)')); + L.push(' '+os(a,'magit-diff-base','base')+'/'+os(a,'magit-diff-base-highlight','base-hl')+' '+os(a,'magit-diff-our','ours')+'/'+os(a,'magit-diff-our-highlight','ours-hl')+' '+os(a,'magit-diff-their','theirs')+'/'+os(a,'magit-diff-their-highlight','theirs-hl')); + L.push(' '+os(a,'magit-diff-hunk-region','hunk-region')+' '+os(a,'magit-diff-file-heading-selection','file-sel')+' '+os(a,'magit-diff-hunk-heading-selection','hunk-sel')+' '+os(a,'magit-section-heading-selection','sec-sel')+' '+os(a,'magit-diff-revision-summary-highlight','rev-sum-hl')); + L.push(''); + L.push(os(a,'magit-section-heading','Reflog')); + L.push(' '+os(a,'magit-reflog-commit','commit')+' '+os(a,'magit-reflog-amend','amend')+' '+os(a,'magit-reflog-merge','merge')+' '+os(a,'magit-reflog-checkout','checkout')+' '+os(a,'magit-reflog-reset','reset')+' '+os(a,'magit-reflog-rebase','rebase')+' '+os(a,'magit-reflog-cherry-pick','cherry-pick')+' '+os(a,'magit-reflog-remote','remote')+' '+os(a,'magit-reflog-other','other')); + L.push(os(a,'magit-section-heading','Rebase sequence')); + L.push(' '+os(a,'magit-sequence-pick','pick')+' '+os(a,'magit-sequence-stop','stop')+' '+os(a,'magit-sequence-part','part')+' '+os(a,'magit-sequence-head','head')+' '+os(a,'magit-sequence-drop','drop')+' '+os(a,'magit-sequence-done','done')+' '+os(a,'magit-sequence-onto','onto')+' '+os(a,'magit-sequence-exec','exec')); + L.push(os(a,'magit-section-heading','Bisect / Cherry / Process')); + L.push(' '+os(a,'magit-bisect-good','good')+' '+os(a,'magit-bisect-bad','bad')+' '+os(a,'magit-bisect-skip','skip')+' '+os(a,'magit-cherry-equivalent','equivalent')+' '+os(a,'magit-cherry-unmatched','unmatched')); + L.push(' '+os(a,'magit-process-ok','OK')+' '+os(a,'magit-process-ng','NG')+' '+os(a,'magit-mode-line-process','[fetch]')+' '+os(a,'magit-mode-line-process-error','[error]')); + L.push(os(a,'magit-section-heading','Blame')); + L.push(os(a,'magit-blame-margin','margin')+os(a,'magit-blame-heading',' b5b1869f ')) + L.push(' '+os(a,'magit-blame-hash','b5b1869f')+' '+os(a,'magit-blame-name','Craig')+' '+os(a,'magit-blame-date','2026-06-08')+' '+os(a,'magit-blame-summary','enlarge picker')+' '+os(a,'magit-blame-highlight','hl')+' '+os(a,'magit-blame-dimmed','dim')); + L.push(os(a,'magit-section-heading','Signatures')+os(a,'magit-left-margin',' ')); + L.push(' '+os(a,'magit-signature-good','good')+' '+os(a,'magit-signature-bad','bad')+' '+os(a,'magit-signature-untrusted','untrusted')+' '+os(a,'magit-signature-expired','expired')+' '+os(a,'magit-signature-expired-key','expired-key')+' '+os(a,'magit-signature-revoked','revoked')+' '+os(a,'magit-signature-error','error')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderElfeedPreview(){const a='elfeed',L=[]; + L.push(os(a,'elfeed-search-filter-face','@6-months-ago +unread')+' '+os(a,'elfeed-search-unread-count-face','3/120')+' '+os(a,'elfeed-search-last-update-face','updated 02:24')); + L.push(''); + L.push(os(a,'elfeed-search-date-face','2026-06-08')+' '+os(a,'elfeed-search-feed-face','Planet Emacs')+' '+os(a,'elfeed-search-unread-title-face','New release of Magit')+' '+os(a,'elfeed-search-tag-face',':emacs:')); + L.push(os(a,'elfeed-search-date-face','2026-06-07')+' '+os(a,'elfeed-search-feed-face','LWN')+' '+os(a,'elfeed-search-unread-title-face','Kernel 6.18 lands')+' '+os(a,'elfeed-search-tag-face',':linux:')); + L.push(os(a,'elfeed-search-date-face','2026-06-05')+' '+os(a,'elfeed-search-feed-face','Hacker News')+' '+os(a,'elfeed-search-title-face','Show HN: a theme editor')+' '+os(a,'elfeed-search-tag-face',':show:')); + L.push(''); + L.push(os(a,'elfeed-log-date-face','02:24:01')+' '+os(a,'elfeed-log-info-level-face','INFO ')+' updated 12 feeds'); + L.push(os(a,'elfeed-log-date-face','02:24:02')+' '+os(a,'elfeed-log-warn-level-face','WARN ')+' slow feed: example.com'); + L.push(os(a,'elfeed-log-date-face','02:24:03')+' '+os(a,'elfeed-log-error-level-face','ERROR')+' failed: bad.example'); + L.push(os(a,'elfeed-log-date-face','02:24:04')+' '+os(a,'elfeed-log-debug-level-face','DEBUG')+' parsed 340 entries'); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderGhostelPreview(){const a='ghostel',L=[]; + L.push(os(a,'ghostel-default','craig@host')+' '+os(a,'ghostel-color-green','~/code')+' $ ls'+os(a,'ghostel-fake-cursor',' ')+os(a,'ghostel-fake-cursor-box','[ ]')); + L.push(''); + L.push(os(a,'ghostel-default','normal:')+' '+os(a,'ghostel-color-black','black')+' '+os(a,'ghostel-color-red','red')+' '+os(a,'ghostel-color-green','green')+' '+os(a,'ghostel-color-yellow','yellow')+' '+os(a,'ghostel-color-blue','blue')+' '+os(a,'ghostel-color-magenta','magenta')+' '+os(a,'ghostel-color-cyan','cyan')+' '+os(a,'ghostel-color-white','white')); + L.push(os(a,'ghostel-default','bright:')+' '+os(a,'ghostel-color-bright-black','black')+' '+os(a,'ghostel-color-bright-red','red')+' '+os(a,'ghostel-color-bright-green','green')+' '+os(a,'ghostel-color-bright-yellow','yellow')+' '+os(a,'ghostel-color-bright-blue','blue')+' '+os(a,'ghostel-color-bright-magenta','magenta')+' '+os(a,'ghostel-color-bright-cyan','cyan')+' '+os(a,'ghostel-color-bright-white','white')); + L.push(''); + L.push(os(a,'ghostel-default','default terminal output, 256-color text and a blinking ')+os(a,'ghostel-fake-cursor','cursor')+'.'); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderDashboardPreview(){const a='dashboard',L=[]; + L.push(os(a,'dashboard-text-banner',' ___ _ __ ___ __ _ ___ ___')); + L.push(os(a,'dashboard-banner-logo-title',' Welcome back, Craig')); + L.push(''); + L.push(os(a,'dashboard-heading','Recent Files')); + L.push(' '+os(a,'dashboard-items-face','init.el')); + L.push(' '+os(a,'dashboard-items-face','notes.org')); + L.push(os(a,'dashboard-heading','Bookmarks')); + L.push(' '+os(a,'dashboard-no-items-face','-- no items --')); + L.push(''); + L.push(os(a,'dashboard-navigator','[ Projects ] [ Recent ] [ Agenda ]')); + L.push(os(a,'dashboard-footer-icon-face','*')+' '+os(a,'dashboard-footer-face','Happy hacking, Craig!')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderMu4ePreview(){const a='mu4e',L=[]; + L.push(os(a,'mu4e-title-face','mu4e')+' '+os(a,'mu4e-context-face','[Personal]')+' '+os(a,'mu4e-ok-face','online')+' '+os(a,'mu4e-warning-face','2 retry')+' '+os(a,'mu4e-modeline-face','12/340')); + L.push(''); + L.push(os(a,'mu4e-header-title-face','Date Flags From Subject')); + L.push(os(a,'mu4e-header-value-face','2026-06-08')+' '+os(a,'mu4e-header-marks-face','N')+' '+os(a,'mu4e-unread-face','Alice')+' '+os(a,'mu4e-unread-face','Unread message')); + L.push(os(a,'mu4e-header-value-face','2026-06-07')+' '+os(a,'mu4e-header-marks-face','R')+' '+os(a,'mu4e-header-face','Bob')+' '+os(a,'mu4e-replied-face','Replied thread')); + L.push(os(a,'mu4e-header-value-face','2026-06-06')+' '+os(a,'mu4e-header-marks-face','F')+' '+os(a,'mu4e-header-face','Carol')+' '+os(a,'mu4e-forwarded-face','Forwarded note')); + L.push(os(a,'mu4e-header-value-face','2026-06-05')+' '+os(a,'mu4e-header-marks-face','D')+' '+os(a,'mu4e-draft-face','(draft)')+' '+os(a,'mu4e-draft-face','Draft in progress')); + L.push(os(a,'mu4e-header-value-face','2026-06-04')+' '+os(a,'mu4e-header-marks-face','T')+' '+os(a,'mu4e-trashed-face','Dan')+' '+os(a,'mu4e-moved-face','Trashed and moved')); + L.push(os(a,'mu4e-header-highlight-face','2026-06-03 ! Eve Flagged ')+os(a,'mu4e-flagged-face','important')+os(a,'mu4e-related-face',' (related)')); + L.push(''); + L.push(os(a,'mu4e-header-key-face','From:')+' '+os(a,'mu4e-contact-face','Alice <alice@example.com>')); + L.push(os(a,'mu4e-header-key-face','To:')+' '+os(a,'mu4e-special-header-value-face','craig, list@gnu.org')); + L.push(os(a,'mu4e-header-key-face','Attach:')+' '+os(a,'mu4e-attach-number-face','[1]')+' report.pdf link '+os(a,'mu4e-url-number-face','[2]')+' '+os(a,'mu4e-link-face','https://gnu.org')); + L.push(''); + L.push(' body with a '+os(a,'mu4e-highlight-face','search hit')+' and '+os(a,'mu4e-region-code','code region')+'.'); + L.push(' '+os(a,'mu4e-cited-1-face','> level 1')+' '+os(a,'mu4e-cited-2-face','>> 2')+' '+os(a,'mu4e-cited-3-face','>>> 3')+' '+os(a,'mu4e-cited-4-face','> 4')+' '+os(a,'mu4e-cited-5-face','> 5')+' '+os(a,'mu4e-cited-6-face','> 6')+' '+os(a,'mu4e-cited-7-face','> 7')); + L.push(' '+os(a,'mu4e-system-face','*** system message ***')+' '+os(a,'mu4e-footer-face','-- sent with mu4e')); + L.push(''); + L.push(os(a,'mu4e-compose-header-face','Subject:')+' new mail'); + L.push(os(a,'mu4e-compose-separator-face','--text follows this line--')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderLspPreview(){const a='lsp-mode',L=[]; + L.push(os(a,'lsp-signature-face','process(')+os(a,'lsp-signature-highlight-function-argument','items: list')+os(a,'lsp-signature-face',') -> None')); + L.push(os(a,'lsp-signature-posframe',' docs: iterate over items and process each one ')); + L.push(''); + L.push('def process(items):'); + L.push(' n = len(items)'+os(a,'lsp-inlay-hint-type-face',': int')); + L.push(' handle('+os(a,'lsp-inlay-hint-parameter-face','arg:')+'n)'+os(a,'lsp-inlay-hint-face',' # hint')); + L.push(' '+os(a,'lsp-face-highlight-read','value')+' = '+os(a,'lsp-face-highlight-write','value')+' + '+os(a,'lsp-face-highlight-textual','value')); + L.push(' rename '+os(a,'lsp-face-rename','oldName')+' to '+os(a,'lsp-rename-placeholder-face','newName')); + L.push(' getName() '+os(a,'lsp-details-face','str the cached getter')); + L.push(''); + L.push(os(a,'lsp-installation-buffer-face','Installing pyright...')+' '+os(a,'lsp-installation-finished-buffer-face','done.')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderGitGutterPreview(){const a='git-gutter',L=[]; + L.push(os(a,'git-gutter:added','+')+os(a,'git-gutter:separator','|')+' added line of code'); + L.push(os(a,'git-gutter:modified','~')+os(a,'git-gutter:separator','|')+' modified line of code'); + L.push(os(a,'git-gutter:deleted','_')+os(a,'git-gutter:separator','|')+' (deleted lines marker)'); + L.push(os(a,'git-gutter:unchanged',' ')+os(a,'git-gutter:separator','|')+' '+os(a,'git-gutter:unchanged','unchanged line of code')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderFlycheckPreview(){const a='flycheck',L=[]; + L.push(os(a,'flycheck-fringe-error','E')+os(a,'flycheck-fringe-warning','W')+os(a,'flycheck-fringe-info','I')+' x = '+os(a,'flycheck-error','undefined_name')+'('+os(a,'flycheck-warning','unused_arg')+') '+os(a,'flycheck-info','# note')); + L.push(' '+os(a,'flycheck-error-delimiter','[')+os(a,'flycheck-delimited-error','err')+os(a,'flycheck-error-delimiter',']')); + L.push(''); + L.push(os(a,'flycheck-error-list-checker-name','pyright')+' '+os(a,'flycheck-verify-select-checker','(selected checker)')); + L.push(os(a,'flycheck-error-list-filename','main.py')+':'+os(a,'flycheck-error-list-line-number','12')+':'+os(a,'flycheck-error-list-column-number','4')+' '+os(a,'flycheck-error-list-error','error')+' '+os(a,'flycheck-error-list-error-message','undefined name x')+' '+os(a,'flycheck-error-list-id','[E0602]')); + L.push(os(a,'flycheck-error-list-filename','main.py')+':'+os(a,'flycheck-error-list-line-number','18')+':'+os(a,'flycheck-error-list-column-number','1')+' '+os(a,'flycheck-error-list-warning','warning')+' '+os(a,'flycheck-error-list-error-message','unused import')+' '+os(a,'flycheck-error-list-id-with-explainer','[W0611?]')); + L.push(os(a,'flycheck-error-list-highlight','main.py:20 '+os(a,'flycheck-error-list-info','info')+' highlighted row')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderDiredPreview(){const a='dired',L=[]; + L.push(os(a,'dired-header','/home/craig/code:')); + L.push(' '+os(a,'dired-perm-write','drwxr-xr-x')+' craig 4096 '+os(a,'dired-directory','src/')); + L.push(' -rw-r--r-- craig 120 notes.org'); + L.push(' '+os(a,'dired-perm-write','lrwxrwxrwx')+' craig 18 '+os(a,'dired-symlink','latest -> v2.1')); + L.push(' lrwxrwxrwx craig -- '+os(a,'dired-broken-symlink','dead -> gone')); + L.push(os(a,'dired-flagged','D')+' -rw-r--r-- craig 40 deleteme.tmp'); + L.push(os(a,'dired-mark','*')+' '+os(a,'dired-marked','-rw-r--r-- craig 210 marked.txt')); + L.push(' -rw-r--r-- craig 0 '+os(a,'dired-ignored','.gitignore')); + L.push(' '+os(a,'dired-set-id','-rwsr-xr-x')+' root 900 setuid.bin'); + L.push(' '+os(a,'dired-special','prw-r--r--')+' craig 0 fifo.pipe'); + L.push(os(a,'dired-warning','! disk space low on /home')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderDirvishPreview(){const a='dirvish',L=[]; + L.push(os(a,'dirvish-inactive','~/code')+' '+os(a,'dirvish-free-space','[free 24G]')); + L.push(os(a,'dirvish-hl-line',' '+os(a,'dirvish-file-modes','-rw-r--r--')+' '+os(a,'dirvish-file-link-number','1')+' '+os(a,'dirvish-file-user-id','craig')+' '+os(a,'dirvish-file-group-id','staff')+' '+os(a,'dirvish-file-size','4.0K')+' '+os(a,'dirvish-file-time','Jun 8 02:24')+' init.el ')); + L.push(' '+os(a,'dirvish-file-modes','drwxr-xr-x')+' '+os(a,'dirvish-file-link-number','5')+' '+os(a,'dirvish-file-user-id','craig')+' '+os(a,'dirvish-file-group-id','staff')+' '+os(a,'dirvish-file-size',' - ')+' '+os(a,'dirvish-file-time','Jun 7 18:00')+' '+os(a,'dirvish-collapse-dir-face','src')+os(a,'dirvish-subtree-state','+')+os(a,'dirvish-subtree-guide',' |')); + L.push(os(a,'dirvish-hl-line-inactive',' inactive-window current line ')); + L.push(' inode '+os(a,'dirvish-file-inode-number','1048576')+' dev '+os(a,'dirvish-file-device-number','8,1')+' '+os(a,'dirvish-collapse-empty-dir-face','empty/')+' '+os(a,'dirvish-collapse-file-face','file.txt')); + L.push(' VC '+os(a,'dirvish-vc-added-state','A')+os(a,'dirvish-vc-edited-state','M')+os(a,'dirvish-vc-removed-state','D')+os(a,'dirvish-vc-conflict-state','C')+os(a,'dirvish-vc-locked-state','L')+os(a,'dirvish-vc-missing-state','!')+os(a,'dirvish-vc-needs-merge-face','m')+os(a,'dirvish-vc-needs-update-state','u')+os(a,'dirvish-vc-unregistered-face','?')); + L.push(' git '+os(a,'dirvish-git-commit-message-face','feat: enlarge the picker')); + L.push(' '+os(a,'dirvish-media-info-heading','Media')+' '+os(a,'dirvish-media-info-property-key','Dimensions:')+' 1920x1080'); + L.push(' proc '+os(a,'dirvish-proc-running','running')+' / '+os(a,'dirvish-proc-finished','finished')+' / '+os(a,'dirvish-proc-failed','failed')); + L.push(' narrow '+os(a,'dirvish-narrow-match-face-0','m0')+' '+os(a,'dirvish-narrow-match-face-1','m1')+' '+os(a,'dirvish-narrow-match-face-2','m2')+' '+os(a,'dirvish-narrow-match-face-3','m3')+os(a,'dirvish-narrow-split',' | ')+os(a,'dirvish-emerge-group-title','Group: images')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderCalibredbPreview(){const a='calibredb',L=[]; + L.push(os(a,'calibredb-search-header-library-name-face','Calibre')+' '+os(a,'calibredb-search-header-library-path-face','~/books')+' '+os(a,'calibredb-search-header-total-face','412 books')+' '+os(a,'calibredb-search-header-filter-face','tag:scifi')+' '+os(a,'calibredb-search-header-sort-face','sort:date')+' '+os(a,'calibredb-search-header-highlight-face','[*]')); + L.push(''); + L.push(os(a,'calibredb-id-face','1')+' '+os(a,'calibredb-title-face','Dune')+' '+os(a,'calibredb-author-face','Herbert')+' '+os(a,'calibredb-format-face','EPUB')+' '+os(a,'calibredb-size-face','2.1M')+' '+os(a,'calibredb-tag-face',':scifi:')+' '+os(a,'calibredb-date-face','2026-06-08')); + L.push(os(a,'calibredb-mark-face','*')+os(a,'calibredb-id-face','2')+' '+os(a,'calibredb-title-face','Foundation')+' '+os(a,'calibredb-author-face','Asimov')+' '+os(a,'calibredb-series-face','[Foundation #1]')+' '+os(a,'calibredb-publisher-face','Bantam')+' '+os(a,'calibredb-pubdate-face','1951')); + L.push(''); + L.push(os(a,'calibredb-title-detailed-view-face','Foundation (detailed)')+' '+os(a,'calibredb-language-face','eng')+' '+os(a,'calibredb-favorite-face','* fav')+' '+os(a,'calibredb-archive-face','archived')); + L.push(os(a,'calibredb-ids-face','isbn:0553293354')+' '+os(a,'calibredb-file-face','foundation.epub')+' '+os(a,'calibredb-comment-face','A classic of the genre.')); + L.push(os(a,'calibredb-edit-annotation-header-title-face','Annotations')+' '+os(a,'calibredb-highlight-face','highlighted passage')+' '+os(a,'calibredb-current-page-button-face','[page 42]')+' '+os(a,'calibredb-mouse-face','hover row')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderErcPreview(){const a='erc',L=[]; + L.push(os(a,'erc-header-line',' #emacs on Libera.Chat 18 users ')); + L.push(os(a,'erc-timestamp-face','[10:24]')+' '+os(a,'erc-notice-face','*** alice has joined #emacs')); + L.push(os(a,'erc-timestamp-face','[10:25]')+' <'+os(a,'erc-my-nick-prefix-face','@')+os(a,'erc-my-nick-face','craig')+'> '+os(a,'erc-input-face','hello everyone')); + L.push(os(a,'erc-timestamp-face','[10:25]')+' <'+os(a,'erc-nick-prefix-face','+')+os(a,'erc-nick-default-face','bob')+'> '+os(a,'erc-default-face','hi craig, see ')+os(a,'erc-button','this link')+os(a,'erc-default-face',' cc ')+os(a,'erc-button-nick-default-face','@alice')); + L.push(os(a,'erc-timestamp-face','[10:26]')+' '+os(a,'erc-action-face','* craig waves')+' '+os(a,'erc-keyword-face','emacs')+' '+os(a,'erc-pal-face','<friend>')+' '+os(a,'erc-fool-face','<troll>')+' '+os(a,'erc-dangerous-host-face','<bad@host>')); + L.push(os(a,'erc-timestamp-face','[10:27]')+' '+os(a,'erc-direct-msg-face','(DM)')+' <'+os(a,'erc-nick-msg-face','bob')+'> psst '+os(a,'erc-current-nick-face','craig')+' '+os(a,'erc-information','-info-')); + L.push(os(a,'erc-error-face','*** ERROR: connection reset')); + L.push(os(a,'erc-command-indicator-face','/help')+' '+os(a,'erc-bold-face','bold')+' '+os(a,'erc-italic-face','italic')+' '+os(a,'erc-underline-face','underline')+' '+os(a,'erc-inverse-face','inverse')+' '+os(a,'erc-spoiler-face','spoiler')); + L.push(os(a,'erc-keep-place-indicator-arrow','>')+os(a,'erc-keep-place-indicator-line',' ---- last read ---- ')+os(a,'erc-fill-wrap-merge-indicator-face','+')); + L.push(os(a,'erc-prompt-face','craig>')+' '+os(a,'erc-input-face','type a message...')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderOrgdrillPreview(){const a='org-drill',L=[]; + L.push('Q: The capital of France is '+os(a,'org-drill-hidden-cloze-face','[...]')+'.'); + L.push('A: The capital of France is '+os(a,'org-drill-visible-cloze-face','Paris')+'.'); + L.push(' '+os(a,'org-drill-visible-cloze-hint-face','hint: P____')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderOrgnoterPreview(){const a='org-noter',L=[]; + L.push('org-noter paper.pdf'); + L.push(' page 1 '+os(a,'org-noter-notes-exist-face','[notes]')); + L.push(' page 2 '+os(a,'org-noter-no-notes-exist-face','[no notes]')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderSignelPreview(){const a='signel',L=[]; + L.push(os(a,'signel-timestamp-face','[10:24]')+' '+os(a,'signel-my-msg-face','Me: hey, are we still on for tonight?')); + L.push(os(a,'signel-timestamp-face','[10:25]')+' '+os(a,'signel-other-msg-face','Alice: yes! see you at 7')); + L.push(os(a,'signel-error-face','(failed to send -- retrying)')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderPearlPreview(){const a='pearl',L=[]; + L.push(os(a,'pearl-preamble-summary','PEARL-42 Fix the broken picker')); + L.push('State: '+os(a,'pearl-modified-local','In Progress')+' Priority: '+os(a,'pearl-modified-highlight','High')+' Estimate: '+os(a,'pearl-modified-unknown','?')); + L.push(' '+os(a,'pearl-editable-comment','> add a comment (editable)')); + L.push(' '+os(a,'pearl-readonly-comment','> created by automation (read-only)')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderShrPreview(){const a='shr',L=[]; + L.push(os(a,'shr-text','shr renders nov (EPUB), eww (web), elfeed, and HTML mail.')); + L.push(''); + L.push(os(a,'shr-h1','Chapter One: The Beginning')); + L.push(os(a,'shr-h2','A Section Heading')); + L.push(os(a,'shr-h3','A subsection')+' '+os(a,'shr-h4','h4')+' / '+os(a,'shr-h5','h5')+' / '+os(a,'shr-h6','h6')); + L.push(os(a,'shr-text','Body text flows in shr-text, with a ')+os(a,'shr-link','hyperlink')+os(a,'shr-text',' and a ')+os(a,'shr-selected-link','focused link')+os(a,'shr-text',',')); + L.push(os(a,'shr-text','some ')+os(a,'shr-code','inline_code()')+os(a,'shr-text',', a ')+os(a,'shr-mark','highlighted mark')+os(a,'shr-text',', ')+os(a,'shr-strike-through','struck out')+os(a,'shr-text',', a footnote')+os(a,'shr-sup','[1]')+os(a,'shr-text',',')); + L.push(os(a,'shr-text','an ')+os(a,'shr-abbreviation','HTML')+os(a,'shr-text',' abbreviation, and an ')+os(a,'shr-sliced-image','[image]')+os(a,'shr-text',' slice.')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderSlackPreview(){const a='slack',L=[]; + L.push(os(a,'slack-room-info-title-room-name-face','#general')+' '+os(a,'slack-room-info-title-face','Acme Workspace')); + L.push(os(a,'slack-room-info-section-title-face','Topic')+' '+os(a,'slack-room-info-section-label-face','daily standup')+' '+os(a,'slack-room-unread-face','3 unread')); + L.push(os(a,'slack-new-message-marker-face','---------------- new messages ----------------')); + L.push(os(a,'slack-message-output-header','craig 10:24')); + L.push(' '+os(a,'slack-message-output-text','hey ')+os(a,'slack-message-mention-me-face','@craig')+os(a,'slack-message-output-text',', see ')+os(a,'slack-message-mention-face','@alice')+os(a,'slack-message-output-text',' in ')+os(a,'slack-channel-button-face','#general')+' '+os(a,'slack-message-mention-keyword-face','urgent')); + L.push(' '+os(a,'slack-mrkdwn-bold-face','*bold*')+' '+os(a,'slack-mrkdwn-italic-face','_italic_')+' '+os(a,'slack-mrkdwn-code-face','`code`')+' '+os(a,'slack-mrkdwn-strike-face','~strike~')); + L.push(' '+os(a,'slack-mrkdwn-blockquote-face','> quoted')+' '+os(a,'slack-mrkdwn-list-face','- item')); + L.push(' '+os(a,'slack-mrkdwn-code-block-face','``` code block ```')); + L.push(' '+os(a,'slack-message-output-reaction',':thumbsup: 3')+' '+os(a,'slack-message-output-reaction-pressed',':heart: 1')+' '+os(a,'slack-message-deleted-face','(message deleted)')); + L.push(' '+os(a,'slack-all-thread-buffer-thread-header-face','Thread: 2 replies')); + L.push(os(a,'slack-attachment-header','Attachment')+' '+os(a,'slack-attachment-field-title','Field:')+' val '+os(a,'slack-message-attachment-preview-header-face','Preview')+' '+os(a,'slack-preview-face','snippet')+os(a,'slack-attachment-pad',' | ')+os(a,'slack-attachment-footer','footer')); + L.push(os(a,'slack-block-highlight-source-overlay-face',' highlighted source block ')); + L.push('Actions: '+os(a,'slack-message-action-face','Edit')+' '+os(a,'slack-message-action-primary-face','Approve')+' '+os(a,'slack-message-action-danger-face','Delete')); + L.push('Blocks: '+os(a,'slack-button-block-element-face','[Button]')+os(a,'slack-button-primary-block-element-face','[Primary]')+os(a,'slack-button-danger-block-element-face','[Danger]')+os(a,'slack-select-block-element-face','[Select v]')+os(a,'slack-overflow-block-element-face','[...]')+os(a,'slack-date-picker-block-element-face','[Date]')); + L.push('Dialog: '+os(a,'slack-dialog-title-face','Title')+' '+os(a,'slack-dialog-element-label-face','Label')+' '+os(a,'slack-dialog-element-hint-face','(hint)')+' '+os(a,'slack-dialog-element-placeholder-face','placeholder')+' '+os(a,'slack-dialog-element-error-face','error')+' '+os(a,'slack-dialog-select-element-input-face','[input v]')+' '+os(a,'slack-dialog-submit-button-face','[Submit]')+os(a,'slack-dialog-cancel-button-face','[Cancel]')); + L.push('Users: '+os(a,'slack-user-active-face','alice (active)')+' '+os(a,'slack-user-dnd-face','bob (dnd)')+' '+os(a,'slack-profile-image-face','[img]')+' '+os(a,'slack-user-profile-header-face','Profile')+' '+os(a,'slack-user-profile-property-name-face','Title:')+' Dev'); + L.push('Search: '+os(a,'slack-search-result-message-header-face','#general')+' '+os(a,'slack-search-result-message-username-face','craig')); + L.push('Modeline: '+os(a,'slack-modeline-has-unreads-face','* unreads')+' '+os(a,'slack-modeline-channel-has-unreads-face','#ch')+' '+os(a,'slack-modeline-thread-has-unreads-face','thread')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderTelegaPreview(){const a='telega',L=[]; + L.push(os(a,'telega-root-heading','Telegram')+' '+os(a,'telega-tracking','[tracking]')+' '+os(a,'telega-unread-unmuted-modeline','5 unread')); + L.push(os(a,'telega-has-chatbuf-brackets','[')+os(a,'telega-username','Alice')+os(a,'telega-has-chatbuf-brackets',']')+' '+os(a,'telega-user-online-status','online')+' '+os(a,'telega-unmuted-count','3')+' '+os(a,'telega-mention-count','@2')+os(a,'telega-delim-face',' | ')+os(a,'telega-secret-title','Secret')+' '+os(a,'telega-muted-count','muted')); + L.push(os(a,'telega-username','Bob')+' '+os(a,'telega-user-non-online-status','last seen recently')+' '+os(a,'telega-contact-birthdays-today','birthday today')+' '+os(a,'telega-shadow','shadow')+' '+os(a,'telega-link','link')+' '+os(a,'telega-blue','blue')+' '+os(a,'telega-red','red')); + L.push(''); + L.push(os(a,'telega-msg-heading','Today')); + L.push(os(a,'telega-msg-user-title','Alice')+' '+os(a,'telega-msg-inline-reply','| reply to Bob')+' '+os(a,'telega-msg-inline-forward','fwd from Carol')+' '+os(a,'telega-msg-inline-other','via bot')); + L.push(' '+os(a,'telega-entity-type-bold','bold')+' '+os(a,'telega-entity-type-italic','italic')+' '+os(a,'telega-entity-type-underline','underline')+' '+os(a,'telega-entity-type-strikethrough','strike')+' '+os(a,'telega-entity-type-code','code')+' '+os(a,'telega-entity-type-spoiler','spoiler')); + L.push(' '+os(a,'telega-entity-type-pre','pre block')+' '+os(a,'telega-entity-type-blockquote','> quote')+' '+os(a,'telega-entity-type-mention','@user')+' '+os(a,'telega-entity-type-hashtag','#tag')+' '+os(a,'telega-entity-type-cashtag','$USD')+' '+os(a,'telega-entity-type-botcommand','/start')+' '+os(a,'telega-entity-type-texturl','link')); + L.push(os(a,'telega-msg-self-title','Me')+' '+os(a,'telega-reaction',':+1: 2')+' '+os(a,'telega-reaction-chosen',':heart: 1')+' '+os(a,'telega-reaction-paid',':star: 5')+' '+os(a,'telega-reaction-paid-chosen',':star: paid')+' '+os(a,'telega-msg-deleted','(deleted)')+' '+os(a,'telega-msg-sponsored','Sponsored')); + L.push(' checklist '+os(a,'telega-checklist-stats-done','2 done')+' / '+os(a,'telega-checklist-stats-todo','3 todo')+' '+os(a,'telega-highlight-text-face','search hit')+' '+os(a,'telega-button-highlight','[active btn]')); + L.push(os(a,'telega-chat-prompt','>')+' '+os(a,'telega-chat-prompt-aux','reply')+' '+os(a,'telega-chat-input-attachment','[photo.jpg]')+' '+os(a,'telega-topic-button','# Topic')+' '+os(a,'telega-filter-active','Main')+' '+os(a,'telega-filter-button-active','[Unread]')+os(a,'telega-filter-button-inactive','[All]')); + L.push('Buttons '+os(a,'telega-box-button','[box]')+os(a,'telega-box-button-active','[on]')+os(a,'telega-box-button-default-active','[def]')+os(a,'telega-box-button-default-passive','[def-]')+os(a,'telega-box-button-primary-active','[pri]')+os(a,'telega-box-button-primary-passive','[pri-]')+os(a,'telega-box-button-success-active','[ok]')+os(a,'telega-box-button-success-passive','[ok-]')); + L.push(' '+os(a,'telega-box-button-danger-active','[del]')+os(a,'telega-box-button-danger-passive','[del-]')+os(a,'telega-box-button-ui-active','[ui]')+os(a,'telega-box-button-ui-passive','[ui-]')+os(a,'telega-box-button2-active','[b2]')+os(a,'telega-box-button2-passive','[b2-]')+os(a,'telega-box-button2-white-foreground','[b2w]')); + L.push('Describe '+os(a,'telega-describe-section-title','Section')+' '+os(a,'telega-describe-subsection-title','Sub')+' '+os(a,'telega-describe-item-title','Item:')+' enckey '+os(a,'telega-enckey-00','00')+os(a,'telega-enckey-01','01')+os(a,'telega-enckey-10','10')+os(a,'telega-enckey-11','11')); + L.push('Palette '+os(a,'telega-palette-builtin-blue','blue')+' '+os(a,'telega-palette-builtin-green','green')+' '+os(a,'telega-palette-builtin-orange','orange')+' '+os(a,'telega-palette-builtin-purple','purple')); + L.push(os(a,'telega-link-preview-sitename','example.com')+' '+os(a,'telega-link-preview-title','Link preview title')); + L.push('Webpage '+os(a,'telega-webpage-title','Title')+' '+os(a,'telega-webpage-subtitle','Subtitle')+' '+os(a,'telega-webpage-header','Header')+' '+os(a,'telega-webpage-subheader','Subheader')+' '+os(a,'telega-webpage-outline','outline')+' '+os(a,'telega-webpage-fixed','fixed')+' '+os(a,'telega-webpage-preformatted','pre')+' '+os(a,'telega-webpage-marked','marked')+' '+os(a,'telega-webpage-strike-through','strike')+' '+os(a,'telega-webpage-chat-link','chat-link')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function genericPreview(app){let h='<div style="padding:10px 14px;font:12pt/1.8 monospace">';for(const [face,label,def] of APPS[app].faces){const f=PKGMAP[app][face],efg=effFg(pkgEffFg(app,face)),ebg=pkgEffBg(app,face);h+=`<div data-face="${face}" style="color:${efg};${ebg?'background:'+ebg+';':''}font-weight:${f.bold?'bold':'normal'};font-style:${f.italic?'italic':'normal'};font-size:${(f.height||1)}em">${esc(label)}</div>`;}return h+'</div>';} +function buildPkgPreview(){const app=curApp(),p=document.getElementById('pkgpreview');if(!p)return;const pv=APPS[app].preview;const bespoke=['org','magit','elfeed','ghostel','dashboard','mu4e','lsp','gitgutter','flycheck','dired','dirvish','calibredb','erc','orgdrill','orgnoter','signel','pearl','slack','telega','shr'].includes(pv);p.innerHTML=pv==='org'?renderOrgPreview():pv==='magit'?renderMagitPreview():pv==='elfeed'?renderElfeedPreview():pv==='ghostel'?renderGhostelPreview():pv==='dashboard'?renderDashboardPreview():pv==='mu4e'?renderMu4ePreview():pv==='lsp'?renderLspPreview():pv==='gitgutter'?renderGitGutterPreview():pv==='flycheck'?renderFlycheckPreview():pv==='dired'?renderDiredPreview():pv==='dirvish'?renderDirvishPreview():pv==='calibredb'?renderCalibredbPreview():pv==='erc'?renderErcPreview():pv==='orgdrill'?renderOrgdrillPreview():pv==='orgnoter'?renderOrgnoterPreview():pv==='signel'?renderSignelPreview():pv==='pearl'?renderPearlPreview():pv==='slack'?renderSlackPreview():pv==='telega'?renderTelegaPreview():pv==='shr'?renderShrPreview():genericPreview(app);p.style.background=MAP['bg'];p.onclick=(e)=>{const u=e.target.closest('[data-face]');if(u)flashPkg(u.dataset.face);};const lbl=document.getElementById('pkgprevlabel');if(lbl)lbl.textContent=bespoke?(APPS[app].label+' preview'):'preview (generic — face names in their own colors)';} +function resetApp(){const app=curApp();for(const [face,label,d] of APPS[app].faces)if(!LOCKED.has('pkg:'+app+':'+face))PKGMAP[app][face]=seedFace(d);pkgChanged();notify('reset editable '+app+' faces to package defaults',false);} +function syncPkgHeight(){const t=document.getElementById('pkgtable'),m=document.getElementById('pkgpreview');if(!t||!m)return;const lb=m.previousElementSibling,lbh=lb?lb.getBoundingClientRect().height+10:30;m.style.height=Math.max(t.getBoundingClientRect().height-lbh,220)+'px';} +// --- worst-case readout for the covered overlay faces (spec Phase 4) --------- +// Default WCAG target for the worst-case verdict (AA). AAA is selectable. +let WORST_TARGET=4.5; +// The live v1 foreground set for a covered overlay face: the syntax-token colors +// (every assignable category except the ground) plus the default foreground. +function fgSetForFace(face){ + const syntaxAssignments=CATS.filter(c=>c[0]!=='bg'&&c[0]!=='p').map(c=>({role:c[0],hex:effFg(MAP[c[0]])})); + return fgSetFor(face,{covered:COVERED_FACES,syntaxAssignments,defaultFg:MAP['p']}); +} +// The worst-case contrast cell for a covered face: the floor over its foreground +// set against its effective background, naming the limiting foreground. Returns +// null for an out-of-scope face so the caller keeps the single-pair readout. +function worstCellHtml(face){ + const r=fgSetForFace(face); + if(r.reason==='out-of-scope')return null; + if(r.reason==='empty'||!r.set.length)return '<span title="this overlay has no syntax foreground set yet">no fg set</span>'; + const bg=effBg(uf(face).bg),fl=floor(bg,r.set),verdict=fl.ratio>=WORST_TARGET?'PASS':'FAIL'; + const s='worst: '+fl.limitingLabel+' '+fl.limitingHex+' — '+fl.ratio.toFixed(1)+' '+verdict; + return `<span style="color:${ratingColor(fl.ratio)}" title="${esc(s)}">${esc(s)}</span>`; +} +// Repaint every covered overlay face (their floors depend on the syntax palette, +// so a syntax-color edit has to refresh them even though it doesn't rebuild the table). +function repaintCovered(){COVERED_FACES.forEach(f=>{if(UIMAP[f]&&document.getElementById('uicr-'+f))paintUI(f);});} +function paintUI(face){const pv=document.getElementById('uiprev-'+face);if(!pv)return;const o=UIMAP[face];pv.style.color=effFg(o.fg);pv.style.background=effBg(o.bg);pv.style.fontWeight=o.bold?'bold':'normal';pv.style.fontStyle=o.italic?'italic':'normal';pv.style.textDecoration=(o.underline?'underline ':'')+(o.strike?'line-through':'')||'none';pv.style.boxShadow=boxCss(o.box,effBg(o.bg)); + const cr=document.getElementById('uicr-'+face);if(cr){const w=worstCellHtml(face);if(w!==null){cr.innerHTML=w;}else{const efg=effFg(o.fg),ebg=effBg(o.bg),r=contrast(efg,ebg);cr.innerHTML=crHtml(r);}}} +function buildUITable(){ + const tb=document.getElementById('uibody');tb.innerHTML=''; + for(const [face,label,ex] of UI_FACES){ + const tr=document.createElement('tr');tr.dataset.face=face; + const c0=document.createElement('td');c0.className='cat';c0.textContent=label;c0.style.cursor='pointer';c0.title='flash this face in the live preview';c0.onclick=()=>flashUiPreview(face); + const fgSel=uiSelect(face,'fg'),bgSel=uiSelect(face,'bg'); + const cF=document.createElement('td');cF.appendChild(fgSel); + const cB=document.createElement('td');cB.appendChild(bgSel); + const cS=document.createElement('td'); + const stBtns=mkStyleButtons(at=>UIMAP[face][at],at=>{UIMAP[face][at]=!UIMAP[face][at];paintUI(face);buildMockFrame();}); + stBtns.forEach(b=>cS.appendChild(b)); + const cC=document.createElement('td');cC.id='uicr-'+face;cC.style.whiteSpace='nowrap';cC.style.fontSize='10pt'; + const cP=document.createElement('td');cP.className='ex';cP.id='uiprev-'+face;cP.textContent=ex;cP.style.padding='4px 10px';cP.style.borderRadius='4px'; + const cX=document.createElement('td');const boxCtl=mkBoxControl(()=>UIMAP[face].box,b=>{UIMAP[face].box=b;paintUI(face);buildMockFrame();});cX.appendChild(boxCtl); + const cL=mkLockCell('ui:'+face,[fgSel,bgSel,...stBtns,boxCtl]); + tr.appendChild(c0);tr.appendChild(cL);tr.appendChild(cF);tr.appendChild(cB);tr.appendChild(cS);tr.appendChild(cC);tr.appendChild(cP);tr.appendChild(cX);tb.appendChild(tr);paintUI(face); + } + applyTableSort('uibody'); + updateLockToggle('ui'); +} +// Generic header-click sort, shared by all three tables. Reads a swatch +// dropdown's value, a select value, a numeric input, or cell text (numeric when +// the text leads with a number, e.g. contrast or size). The UI and package +// tables remember the sort (applyTableSort runs on rebuild) so editing a row +// does not reset it; the syntax table sorts on click only. +let tableSort={}; +function cellVal(td){if(!td)return '';const dd=td.querySelector('.cdd');if(dd)return (dd.dataset.val||'').toLowerCase();const s=td.querySelector('select');if(s)return s.value.toLowerCase();const i=td.querySelector('input');if(i)return parseFloat(i.value)||0;const t=td.innerText.trim();const n=parseFloat(t);return (!isNaN(n)&&/^[-\d.]/.test(t))?n:t.toLowerCase();} +function srtTable(tbId,col){tableSort[tbId]={col,asc:!(tableSort[tbId]&&tableSort[tbId].col===col&&tableSort[tbId].asc)};applyTableSort(tbId);} +function applyTableSort(tbId){const s=tableSort[tbId];if(!s)return;const tb=document.getElementById(tbId);if(!tb)return;const dir=s.asc?1:-1;const r=[...tb.rows];r.sort((a,b)=>{const x=cellVal(a.cells[s.col]),y=cellVal(b.cells[s.col]);return ((typeof x==='number'&&typeof y==='number')?x-y:(x<y?-1:x>y?1:0))*dir;});r.forEach(x=>tb.appendChild(x));} +buildLangSel();buildAppSel();renderPalette();buildTable();buildUITable();renderCode();applyGround();updateTitle();initPicker();buildPkgTable();buildPkgPreview();syncMockHeight();syncPkgHeight(); +addEventListener('resize',()=>{syncMockHeight();syncPkgHeight();}); +BROWSER_GATES_J diff --git a/scripts/theme-studio/app_inventory.py b/scripts/theme-studio/app_inventory.py new file mode 100644 index 00000000..0c55a5d4 --- /dev/null +++ b/scripts/theme-studio/app_inventory.py @@ -0,0 +1,76 @@ +"""Theme-studio package/app face inventory assembly helpers.""" + +from __future__ import annotations + +import json +import os +from typing import Any + + +BESPOKE_APPS = { + "magit", + "elfeed", + "org", + "org-mode", + "mu4e", + "ghostel", + "dashboard", + "lsp-mode", + "git-gutter", + "flycheck", + "dired", + "dirvish", + "calibredb", + "erc", + "org-drill", + "org-noter", + "signel", + "pearl", + "slack", + "telega", + "shr", +} + + +def face_label(face: str, prefix: str) -> str: + label = face[len(prefix) :] if face.startswith(prefix) else face + return label.replace("-face", "").replace("-", " ") + + +def face_rows(names: list[str], prefix: str, seed: dict[str, dict[str, Any]]) -> list[list[Any]]: + return [[face, face_label(face, prefix), seed.get(face, {})] for face in names] + + +def add_inventory_apps(apps: dict[str, Any], inventory_path: str) -> dict[str, Any]: + """Add generic editable apps for installed packages not covered by bespoke previews.""" + if not os.path.exists(inventory_path): + return apps + inventory = json.load(open(inventory_path)) + for pkg in sorted(inventory): + if pkg in BESPOKE_APPS or pkg in apps: + continue + apps[pkg] = { + "label": pkg, + "preview": "generic", + "faces": [[face, face_label(face, pkg + "-"), {}] for face in inventory[pkg]], + } + return apps + + +def apply_default_face_seeds(apps: dict[str, Any], defaults: Any) -> None: + if not defaults.available: + return + for app in apps.values(): + for row in app["faces"]: + row[2] = defaults.seed(row[0], False) + + +def apply_package_overrides(apps: dict[str, Any], packages: dict[str, Any] | None) -> None: + if not packages: + return + for app, package_faces in packages.items(): + if app not in apps: + continue + for row in apps[app]["faces"]: + if row[0] in package_faces: + row[2] = package_faces[row[0]] diff --git a/scripts/theme-studio/browser-gates.js b/scripts/theme-studio/browser-gates.js new file mode 100644 index 00000000..865b3a34 --- /dev/null +++ b/scripts/theme-studio/browser-gates.js @@ -0,0 +1,517 @@ +// Phase-1 self-test (open with #selftest): seed -> export -> import -> compare. +function pkgSelftest(){ + const seeded=seedPkgmap(); + seeded['org-mode']['org-level-2']={fg:'#e8bd30',bg:null,bold:false,italic:false,inherit:'org-level-1',height:1.2,source:'user'}; + const exp=packagesForExport(seeded); + const round=seedPkgmap();mergePackagesInto(round,exp); + const roundtrip=JSON.stringify(exp)===JSON.stringify(packagesForExport(round)); + let oldjson=true;try{const m=seedPkgmap();mergePackagesInto(m,undefined);oldjson=!!(m['org-mode']&&m['org-mode']['org-todo'].source==='default');}catch(e){oldjson=false;} + const l2=exp['org-mode']['org-level-2']; + const inherited=l2.inherit==='org-level-1'&&l2.source==='user'; + const height=l2.height===1.2 && !('height' in (exp['org-mode']['org-todo'])); + const sc=seedPkgmap();sc['org-mode']['org-todo']={fg:null,bg:null,bold:false,italic:false,inherit:null,height:1,source:'cleared'}; + const cleared='org-todo' in packagesForExport(sc)['org-mode']; + const su=seedPkgmap();mergePackagesInto(su,{'zzz-pkg':{'zzz-face':{fg:'#112233',source:'user'}}}); + const unknown=!!(su['zzz-pkg']&&su['zzz-pkg']['zzz-face'].fg==='#112233'); + PKGMAP['__cyc']={a:{fg:null,bg:null,bold:false,italic:false,inherit:'b',height:1,source:'user'},b:{fg:null,bg:null,bold:false,italic:false,inherit:'a',height:1,source:'user'}}; + let cyc=true;try{pkgEffFg('__cyc','a');}catch(e){cyc=false;}delete PKGMAP['__cyc']; + const verdict=(roundtrip&&oldjson&&inherited&&height&&cleared&&unknown&&cyc)?'PASS':'FAIL'; + document.title='SELFTEST '+verdict; + const d=document.createElement('div');d.id='selftest';d.textContent='SELFTEST '+verdict+' roundtrip='+roundtrip+' oldjson='+oldjson+' inherit='+inherited+' height='+height+' cleared='+cleared+' unknown='+unknown+' cycle='+cyc;document.body.appendChild(d); +} +if(location.hash==='#selftest')pkgSelftest(); +// Lock-mechanism gate (open with #locktest): two behaviors the refactor must +// preserve, across all three tiers. (1) Locking a row disables its controls via +// the shared mkLockCell. (2) reset/erase batch actions update editable rows but +// leave locked rows (syntax bare-kind, ui:, pkg: keys) untouched. +if(location.hash==='#locktest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + LOCKED.clear();buildTable(); + {const k=CATS.map(c=>c[0]).filter(k=>k!=='bg'&&k!=='p')[0]; + const tr=document.querySelector('#legbody tr[data-kind="'+k+'"]'),step=tr.querySelector('.cstep'),dd=tr.querySelector('.cdd'),lb=tr.querySelector('.lockbtn'); + A(step.dataset.locked!=='1','syntax-dd-starts-unlocked');lb.click(); + A(step.dataset.locked==='1'&&step.classList.contains('locked')&&step.querySelector('.cstepbtn').disabled,'syntax-lock-disables-dd');lb.click(); + A(step.dataset.locked!=='1'&&!step.classList.contains('locked'),'syntax-unlock-reenables-dd');} + LOCKED.clear();buildUITable(); + {const f=UI_FACES[0][0]; + const tr=document.querySelector('#uibody tr[data-face="'+f+'"]'),step=tr.querySelector('.cstep'),dd=tr.querySelector('.cdd'),lb=tr.querySelector('.lockbtn'); + A(step.dataset.locked!=='1','ui-dd-starts-unlocked');lb.click(); + A(step.dataset.locked==='1'&&step.classList.contains('locked')&&step.querySelector('.cstepbtn').disabled,'ui-lock-disables-dd');lb.click(); + A(step.dataset.locked!=='1'&&!step.classList.contains('locked'),'ui-unlock-reenables-dd');} + {PALETTE=[['#000000','bg','ground'],['#ffffff','fg','ground'],['#222222','gray-dark','gray'],['#888888','gray-mid','gray'],['#dddddd','gray-light','gray']];MAP['bg']='#000000';MAP['p']='#ffffff';MAP['kw']='#888888';LOCKED.clear();buildTable(); + const tr=document.querySelector('#legbody tr[data-kind="kw"]'),btns=tr.querySelectorAll('.cstepbtn');btns[1].click(); + A(MAP['kw']==='#dddddd'&&tr.querySelector('.cdd').dataset.val==='#dddddd','syntax right arrow steps to lighter color');btns[0].click(); + A(MAP['kw']==='#888888','syntax left arrow steps to darker color');} + {UIMAP['region'].bg='#888888';LOCKED.clear();buildUITable();const tr=document.querySelector('#uibody tr[data-face="region"]'),btns=tr.cells[3].querySelectorAll('.cstepbtn');btns[1].click(); + A(UIMAP['region'].bg==='#dddddd','ui right arrow steps to lighter color');btns[0].click(); + A(UIMAP['region'].bg==='#888888','ui left arrow steps to darker color');} + {const app=curApp(),face=APPS[app].faces[0][0];PKGMAP[app][face].fg='#888888';LOCKED.clear();buildPkgTable();const tr=document.querySelector('#pkgbody tr[data-face="'+face+'"]'),btns=tr.cells[2].querySelectorAll('.cstepbtn');btns[1].click(); + A(PKGMAP[app][face].fg==='#dddddd','pkg right arrow steps to lighter color');btns[0].click(); + A(PKGMAP[app][face].fg==='#888888','pkg left arrow steps to darker color');} + {const ks=CATS.map(c=>c[0]).filter(k=>k!=='bg'&&k!=='p'),k1=ks[0],k2=ks[1]; + MAP[k1]='#111111';MAP[k2]='#222222';LOCKED.clear();LOCKED.add(k1);clearUnlocked(); + A(MAP[k1]==='#111111','syntax-erase-keeps-locked');A(MAP[k2]==='','syntax-erase-wipes-unlocked');} + {const ks=CATS.map(c=>c[0]).filter(k=>k!=='bg'&&k!=='p'),k1=ks[0],k2=ks[1]; + MAP[k1]='#111111';MAP[k2]='#222222';LOCKED.clear();LOCKED.add(k1);resetUnlocked(); + A(MAP[k1]==='#111111','syntax-reset-keeps-locked');A(MAP[k2]===DEFAULT_MAP[k2],'syntax-reset-restores-unlocked-default');} + {const f1=UI_FACES[0][0],f2=UI_FACES[1][0]; + UIMAP[f1].fg='#111111';UIMAP[f2].fg='#222222';LOCKED.clear();LOCKED.add('ui:'+f1);clearUnlockedUI(); + A(UIMAP[f1].fg==='#111111','ui-erase-keeps-locked');A(UIMAP[f2].fg===null,'ui-erase-wipes-unlocked');} + {const f1=UI_FACES[0][0],f2=UI_FACES[1][0]; + UIMAP[f1].fg='#111111';UIMAP[f2].fg='#222222';LOCKED.clear();LOCKED.add('ui:'+f1);resetUnlockedUI(); + A(UIMAP[f1].fg==='#111111','ui-reset-keeps-locked');A(JSON.stringify(UIMAP[f2])===JSON.stringify(DEFAULT_UIMAP[f2]),'ui-reset-restores-unlocked-default');} + {const app=curApp(),pf=APPS[app].faces.map(r=>r[0]),p1=pf[0],p2=pf[1]; + PKGMAP[app][p1].fg='#111111';PKGMAP[app][p2].fg='#222222';LOCKED.clear();LOCKED.add('pkg:'+app+':'+p1);clearUnlockedPkg(); + A(PKGMAP[app][p1].fg==='#111111','pkg-erase-keeps-locked');A(PKGMAP[app][p2].fg===null,'pkg-erase-wipes-unlocked');} + {const app=curApp(),rows=APPS[app].faces,p1=rows[0][0],p2=rows[1][0],d2=rows[1][2]; + PKGMAP[app][p1].fg='#111111';PKGMAP[app][p2]=normalizePkgFace({fg:'#222222',bg:'#333333',bold:true,source:'user'},'user'); + LOCKED.clear();LOCKED.add('pkg:'+app+':'+p1);resetApp(); + A(PKGMAP[app][p1].fg==='#111111','pkg-reset-keeps-locked'); + A(JSON.stringify(PKGMAP[app][p2])===JSON.stringify(seedFace(d2)),'pkg-reset-restores-unlocked-default');} + {LOCKED.clear();buildTable();const b=document.getElementById('syntaxlocktoggle');A(b&&b.textContent==='lock all','syntax toggle starts as lock all');b.click(); + A(syntaxLockKeys().every(k=>LOCKED.has(k))&&b.textContent==='unlock all','syntax lock-all locks every syntax row and flips label');b.click(); + A(syntaxLockKeys().every(k=>!LOCKED.has(k))&&b.textContent==='lock all','syntax unlock-all clears every syntax lock and flips label');} + {LOCKED.clear();buildUITable();const b=document.getElementById('uilocktoggle');A(b&&b.textContent==='lock all','ui toggle starts as lock all');b.click(); + A(uiLockKeys().every(k=>LOCKED.has(k))&&b.textContent==='unlock all','ui lock-all locks every UI row and flips label');b.click(); + A(uiLockKeys().every(k=>!LOCKED.has(k))&&b.textContent==='lock all','ui unlock-all clears every UI lock and flips label');} + {LOCKED.clear();buildPkgTable();const b=document.getElementById('pkglocktoggle');A(b&&b.textContent==='lock all','pkg toggle starts as lock all');b.click(); + A(pkgLockKeys().every(k=>LOCKED.has(k))&&b.textContent==='unlock all','pkg lock-all locks every current package row and flips label');b.click(); + A(pkgLockKeys().every(k=>!LOCKED.has(k))&&b.textContent==='lock all','pkg unlock-all clears every current package lock and flips label');} + {LOCKED.clear();const app=curApp(),faces=APPS[app].faces.map(r=>r[0]),filter=document.getElementById('pkgfilter'); + if(filter&&faces.length>1){filter.value=faces[0];buildPkgTable();const b=document.getElementById('pkglocktoggle');b.click(); + A(faces.every(face=>LOCKED.has('pkg:'+app+':'+face)),'pkg lock-all covers the whole package even when filtered'); + filter.value='';buildPkgTable();}} + document.title='LOCKTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='locktest';d.textContent='LOCKTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Sort gate (open with #sorttest): all three tables now share srtTable/cellVal. +// Verifies the syntax table (which used to have its own srt) sorts by color +// value and by element name, that a repeat click reverses, and that the UI and +// package tables still sort. Guards the unified sort for the later stages. +if(location.hash==='#sorttest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const ddVals=tb=>[...document.querySelectorAll('#'+tb+' tr')].map(tr=>{const dd=tr.cells[2].querySelector('.cdd');return dd?(dd.dataset.val||''):'';}); + const txtVals=tb=>[...document.querySelectorAll('#'+tb+' tr')].map(tr=>tr.cells[0].innerText.trim().toLowerCase()); + const asc=a=>a.every((v,i)=>i===0||a[i-1]<=v),desc=a=>a.every((v,i)=>i===0||a[i-1]>=v); + buildTable(); + srtTable('legbody',2);A(asc(ddVals('legbody')),'legbody-color-asc'); + srtTable('legbody',2);A(desc(ddVals('legbody')),'legbody-color-desc'); + srtTable('legbody',0);A(asc(txtVals('legbody')),'legbody-elements-asc'); + buildUITable();srtTable('uibody',0);A(asc(txtVals('uibody')),'uibody-face-asc'); + buildPkgTable();srtTable('pkgbody',2);A(asc(ddVals('pkgbody')),'pkgbody-fg-asc'); + document.title='SORTTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='sorttest';d.textContent='SORTTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Live-buffer rendering gate (open with #mocktest): pins the face-faithfulness +// fixes so they cannot silently regress — overlay faces keep syntax colors and +// honor their styles, the cursor sits on a glyph, line numbers honor weight, the +// fringe shows its foreground indicator, and the mode-line carries its box. +if(location.hash==='#mocktest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const Q=s=>document.querySelector('#mockframe '+s); + buildMockFrame(); + A(Q('[data-face="highlight"] [data-k]'),'highlight-keeps-token-colors'); + A(Q('[data-face="region"] [data-k]'),'region-keeps-token-colors'); + const curCell=Q('[data-face="cursor"]'); + A(curCell&&curCell.textContent.trim().length===1,'cursor-on-glyph'); + const laz=Q('[data-face="lazy-highlight"]'); + A(laz&&/background:\s*(?!transparent)/.test(laz.getAttribute('style')||''),'overlay-honors-background-style'); + A([...document.querySelectorAll('#mockframe .fr')].some(e=>e.textContent.trim()),'fringe-indicator-present'); + const mlbar=Q('[data-face="mode-line"]'); + A(mlbar&&/box-shadow/.test(mlbar.getAttribute('style')||''),'mode-line-box'); + UIMAP['line-number-current-line'].bold=true;buildMockFrame(); + const curNum=Q('[data-face="line-number-current-line"]'); + A(curNum&&/font-weight:\s*bold/.test(curNum.getAttribute('style')||''),'line-number-honors-weight'); + UIMAP['region'].bold=false;buildUITable(); + const uiBold=[...document.querySelectorAll('#uibody tr')].find(r=>r.dataset.face==='region').querySelector('.sbtn[title="bold"]'); + A(uiBold&&!uiBold.classList.contains('on'),'ui style button starts off when model is false'); + uiBold.click(); + A(uiBold.classList.contains('on')&&UIMAP['region'].bold===true,'ui style button visual state turns on with model'); + uiBold.click(); + A(!uiBold.classList.contains('on')&&UIMAP['region'].bold===false,'ui style button visual state turns off with model'); + const app=curApp(),face=APPS[app].faces[0][0];PKGMAP[app][face].bold=false;buildPkgTable(); + const pkgBtn=()=>document.querySelector('#pkgbody tr[data-face="'+face+'"] .sbtn[title="bold"]'); + A(pkgBtn()&&!pkgBtn().classList.contains('on'),'pkg style button starts off when model is false'); + pkgBtn().click(); + A(pkgBtn()&&pkgBtn().classList.contains('on')&&PKGMAP[app][face].bold===true,'pkg style button visual state turns on after rebuild'); + document.title='MOCKTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='mocktest';d.textContent='MOCKTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +if(location.hash.startsWith('#pick')){openPicker();const m=location.hash.slice(5);if(m){const b=document.querySelector('.pmode button[data-m="'+m+'"]');if(b)b.click();}} +if(location.hash==='#cursortest'){document.getElementById('newhexstr').value='#67809c';openPicker();const sc=document.getElementById('svcur'),hc=document.getElementById('huecur');const L=parseFloat(sc.style.left||'0'),T=parseFloat(sc.style.top||'0'),H=parseFloat(hc.style.top||'0');const ok=L>1&&T>1&&H>1;document.title='CURSORTEST '+(ok?'PASS':'FAIL');const d=document.createElement('div');d.id='cursortest';d.textContent='CURSORTEST '+(ok?'PASS':'FAIL')+' left='+sc.style.left+' top='+sc.style.top+' hue='+hc.style.top;document.body.appendChild(d);} +if(location.hash.startsWith('#app')){const ap=location.hash.slice(4),s=document.getElementById('appsel');if(s&&ap){s.value=ap;pkgChanged();}} +if(location.hash==='#planetest'){let ok=true;const notes=[]; + document.getElementById('newhexstr').value='#67809c';openPicker();setPkModel('oklch');paintPicker(); + const sv=document.getElementById('sv'),cv=document.getElementById('svmask'),ctx=cv.getContext('2d'); + const [L,C,H]=readOklch(); + const expLeft=Math.min(1,C/OKLCH_CMAX)*sv.clientWidth,expTop=(1-L)*sv.clientHeight; + const gotLeft=parseFloat(document.getElementById('svcur').style.left),gotTop=parseFloat(document.getElementById('svcur').style.top); + if(Math.abs(gotLeft-expLeft)>2||Math.abs(gotTop-expTop)>2){ok=false;notes.push('crosshair off got '+gotLeft.toFixed(1)+','+gotTop.toFixed(1)+' exp '+expLeft.toFixed(1)+','+expTop.toFixed(1));} + const Coog=0.38,Loog=0.5,labO=oklch2oklab(Loog,Coog,H),oog=!inGamut(oklab2lrgb(labO.L,labO.a,labO.b)); + const oogX=Math.min(cv.width-2,Math.round((Coog/OKLCH_CMAX)*cv.width)),oogY=Math.round((1-Loog)*cv.height); + const dO=ctx.getImageData(oogX,oogY,1,1).data,greyO=Math.abs(dO[0]-0x15)<10&&Math.abs(dO[1]-0x12)<10&&Math.abs(dO[2]-0x0f)<10; + if(oog&&!greyO){ok=false;notes.push('OOG cell not masked rgb '+dO[0]+','+dO[1]+','+dO[2]);} + const inX=Math.round((0.03/OKLCH_CMAX)*cv.width),inY=Math.round(0.5*cv.height); + const dI=ctx.getImageData(inX,inY,1,1).data,greyI=Math.abs(dI[0]-0x15)<10&&Math.abs(dI[1]-0x12)<10&&Math.abs(dI[2]-0x0f)<10; + if(greyI){ok=false;notes.push('in-gamut cell rendered as OOG grey rgb '+dI[0]+','+dI[1]+','+dI[2]);} + document.title='PLANETEST '+(ok?'PASS':'FAIL');const d=document.createElement('div');d.id='planetest';d.textContent='PLANETEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +if(location.hash==='#oklchtest'){let ok=true;const notes=[]; + document.getElementById('newhexstr').value='#67809c';openPicker(); + const before=document.getElementById('newhexstr').value; + setPkModel('oklch'); + if(pkModel!=='oklch'){ok=false;notes.push('model not oklch');} + if(!document.getElementById('oklchctl').classList.contains('show')){ok=false;notes.push('oklch dials hidden');} + if(document.getElementById('newhexstr').value!==before){ok=false;notes.push('color changed on model switch: '+document.getElementById('newhexstr').value);} + pkMode='any';document.querySelector('.pmode button[data-m="aa"]').click(); + if(pkModel!=='oklch'){ok=false;notes.push('mask toggle reset model');} + if(pkMode!=='aa'){ok=false;notes.push('mask did not set aa');} + setPkModel('hsv'); + if(pkMode!=='aa'){ok=false;notes.push('model switch reset mask to '+pkMode);} + if(pkModel!=='hsv'){ok=false;notes.push('model not hsv after switch');} + setPkModel('oklch');setOklchInputs(0.591,0.052,251.6);pkOklchSet(); + const driven=document.getElementById('newhexstr').value,dl=oklab2oklch(srgb2oklab(driven)); + if(!(Math.abs(dl.L-0.591)<0.02&&Math.abs(dl.C-0.052)<0.02)){ok=false;notes.push('dials did not drive color: '+driven);} + const {clamped}=oklch2hex(0.7,0.4,140);setOklchInputs(0.7,0.4,140);pkOklchSet(); + if(!(clamped&&document.getElementById('pkclamp').classList.contains('show'))){ok=false;notes.push('clamp status missing for out-of-gamut C');} + document.title='OKLCHTEST '+(ok?'PASS':'FAIL');const d=document.createElement('div');d.id='oklchtest';d.textContent='OKLCHTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +if(location.hash==='#deltatest'){const save=PALETTE.slice();let ok=true;const notes=[];const W=()=>document.getElementById('palwarn'); + PALETTE=[['#0d0b0a','ground'],['#cdced1','fg'],['#67809c','blue'],['#69829e','blue2']];renderPalette(); + const t1=W().textContent;if(!(W().style.display!=='none'&&/blue \/ blue2/.test(t1)&&/ΔE/.test(t1))){ok=false;notes.push('near-pair did not fire: '+t1);} + PALETTE=[['#0d0b0a','ground'],['#cdced1','fg'],['#67809c','blue'],['#e8bd30','gold'],['#cb6b4d','terra']];renderPalette(); + if(W().style.display!=='none'){ok=false;notes.push('spread palette warned: '+W().textContent);} + PALETTE=[['#0d0b0a','ground'],['#cdced1','fg']];for(let k=0;k<7;k++){const v=(0x67+k).toString(16).padStart(2,'0');PALETTE.push(['#'+v+'809c','c'+k]);}renderPalette(); + const tc=W().textContent;const nums=[...tc.matchAll(/ΔE (\d+\.\d+)/g)].map(m=>parseFloat(m[1])); + if(!/and \d+ more/.test(tc)){ok=false;notes.push('no cap suffix: '+tc);} + if(!(nums.length===5&&nums.every((n,k)=>k===0||n>=nums[k-1]))){ok=false;notes.push('not 5-capped ascending: '+nums.join(','));} + PALETTE=save;renderPalette(); + document.title='DELTATEST '+(ok?'PASS':'FAIL');const d=document.createElement('div');d.id='deltatest';d.textContent='DELTATEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +if(location.hash==='#readouttest'){const hex='#67809c';document.getElementById('newhexstr').value=hex;openPicker();pkReadout(hex); + const o=document.getElementById('pkoklch').textContent,a=document.getElementById('pkapca').textContent,w=document.getElementById('pkcon').textContent; + const lch=oklab2oklch(srgb2oklab(hex)); + const expO='OKLCH '+lch.L.toFixed(3)+' '+lch.C.toFixed(3)+' '+Math.round(lch.H)+'\u00b0'; + const expA='APCA Lc '+apca(hex,MAP['bg']).toFixed(0); + const r=contrast(hex,MAP['bg']),expW=r.toFixed(1)+' '+rating(r); + const wired=o===expO&&a===expA&&w===expW; + const sane=Math.abs(lch.L-0.591)<0.01&&Math.abs(lch.C-0.052)<0.01&&Math.abs(lch.H-251.6)<2; + const ok=wired&&sane;document.title='READOUTTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='readouttest';d.textContent='READOUTTEST '+(ok?'PASS':'FAIL')+' oklch='+o+' | apca='+a+' | wcag='+w;document.body.appendChild(d);} +// Worst-case readout gate (open with #contrasttest): a covered overlay face shows +// the floor over its foreground set and names the limiting foreground, an +// out-of-scope face keeps the single-pair readout, and an empty set reads "no fg set". +if(location.hash==='#contrasttest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const saveMAP=Object.assign({},MAP),saveUI=JSON.parse(JSON.stringify(UIMAP)); + CATS.forEach(c=>{if(c[0]!=='bg'&&c[0]!=='p')MAP[c[0]]='';}); + MAP['p']='#f0fef0';MAP['kw']='#67809c';MAP['str']='#a3b18a';MAP['bg']='#000000'; + UIMAP['region']={fg:null,bg:'#202830',bold:false,italic:false,underline:false,strike:false}; + buildUITable(); + const cell=document.getElementById('uicr-region'); + A(cell&&/^worst:/.test(cell.textContent),'region shows the worst-case readout: '+(cell&&cell.textContent)); + A(cell&&cell.textContent.includes('#67809c'),'limiting fg is keyword blue: '+(cell&&cell.textContent)); + A(cell&&/\b(PASS|FAIL)\b/.test(cell.textContent),'readout carries a verdict'); + const fl=floor('#202830',fgSetForFace('region').set); + A(fl.limitingHex==='#67809c','floor limiting is blue, got '+fl.limitingHex); + A(Math.abs(fl.ratio-contrast('#67809c','#202830'))<1e-9,'floor ratio matches blue-on-bg'); + const ml=document.getElementById('uicr-mode-line'); + A(worstCellHtml('mode-line')===null,'mode-line is out of scope (single-pair)'); + A(ml&&/^\d/.test(ml.textContent.trim()),'mode-line cell is a numeric ratio: '+(ml&&ml.textContent)); + MAP['p']='';CATS.forEach(c=>{if(c[0]!=='bg')MAP[c[0]]='';});buildUITable(); + const empty=document.getElementById('uicr-region'); + A(empty&&empty.textContent.trim()==='no fg set','empty set reads the no-set message: '+(empty&&empty.textContent)); + // A two-color face (own fg AND own bg) rates its own pair, never the ground bg. + UIMAP['mode-line']={fg:'#112233',bg:'#aabbcc',bold:false,italic:false,underline:false,strike:false}; + buildUITable(); + const two=document.getElementById('uicr-mode-line'),twoWant=contrast('#112233','#aabbcc'); + A(two&&Math.abs(parseFloat(two.textContent)-twoWant)<0.06,'ui two-color face rates own fg-on-bg: got '+(two&&two.textContent.trim())+' want '+twoWant.toFixed(1)); + const tApp=Object.keys(APPS)[0],tFace=APPS[tApp].faces[0][0],savePF=JSON.parse(JSON.stringify(PKGMAP[tApp][tFace])); + Object.assign(PKGMAP[tApp][tFace],{fg:'#112233',bg:'#aabbcc',inherit:null});buildPkgTable(); + const prow=document.querySelector('#pkgbody tr[data-face="'+tFace+'"]'),pcell=prow&&prow.children[5]; + A(pcell&&Math.abs(parseFloat(pcell.textContent)-twoWant)<0.06,'pkg two-color face rates own fg-on-bg: got '+(pcell&&pcell.textContent.trim())+' want '+twoWant.toFixed(1)); + PKGMAP[tApp][tFace]=savePF;buildPkgTable(); + // A ground-bg change must not clobber a face's own preview bg, must leave a + // two-color ratio alone, and must re-rate a ground-dependent face's cell. + UIMAP['fringe']={fg:'#ddeeff',bg:null,bold:false,italic:false,underline:false,strike:false}; + buildUITable(); + MAP['bg']='#440000';applyGround(); + const pv=document.getElementById('uiprev-mode-line'); + A(pv&&pv.style.background==='rgb(170, 187, 204)','ground change keeps a face own preview bg: got '+(pv&&pv.style.background)); + const twoAfter=document.getElementById('uicr-mode-line'); + A(twoAfter&&Math.abs(parseFloat(twoAfter.textContent)-twoWant)<0.06,'ground change leaves a two-color ratio alone: got '+(twoAfter&&twoAfter.textContent.trim())); + const frc=document.getElementById('uicr-fringe'),frWant=contrast('#ddeeff','#440000'); + A(frc&&Math.abs(parseFloat(frc.textContent)-frWant)<0.06,'ground change re-rates a ground-dependent face: got '+(frc&&frc.textContent.trim())+' want '+frWant.toFixed(1)); + // A default-fg (p) change through the real syntax dropdown re-rates a face + // whose fg falls back to it. Drives the DOM so the handler wiring is pinned. + UIMAP['fringe']={fg:null,bg:'#aabbcc',bold:false,italic:false,underline:false,strike:false}; + buildUITable(); + const pLocked=LOCKED.has('p');if(pLocked){LOCKED.delete('p');buildTable();} + const pdd=document.querySelector('#legbody tr[data-kind="p"] .cdd'); + if(pdd){pdd.click(); + const pHex=PALETTE.find(p=>p[0]!==MAP['p'])[0]; + const prow=[...document.querySelectorAll('.cddpop .cddrow')].find(r=>r.querySelector('.cddhx').textContent===pHex); + if(prow)prow.click(); + const pf=document.getElementById('uicr-fringe'),pfWant=contrast(pHex,'#aabbcc'); + A(prow&&pf&&Math.abs(parseFloat(pf.textContent)-pfWant)<0.06,'default-fg change re-rates a p-fallback face: got '+(pf&&pf.textContent.trim())+' want '+pfWant.toFixed(1)); + }else A(false,'syntax table has a p row with a dropdown'); + if(pLocked){LOCKED.add('p');buildTable();} + for(const k in MAP)delete MAP[k];Object.assign(MAP,saveMAP);for(const f in UIMAP)delete UIMAP[f];Object.assign(UIMAP,saveUI);buildUITable();applyGround(); + document.title='CONTRASTTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='contrasttest';d.textContent='CONTRASTTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Bevel gate (open with #beveltest): released/pressed boxes derive their +// highlight and shadow from the face's effective bg per Emacs's relief +// algorithm, and pressed draws the shadow edge first. +if(location.hash==='#beveltest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const saveUI=JSON.parse(JSON.stringify(UIMAP)),saveP=PALETTE.slice(),savePK=JSON.parse(JSON.stringify(PKGMAP)); + UIMAP['mode-line']={fg:'#d8dee9',bg:'#30343c',bold:false,italic:false,underline:false,strike:false,box:{style:'released',width:1,color:null}}; + buildUITable(); + const pv=document.getElementById('uiprev-mode-line'); + const bs=pv&&pv.style.boxShadow; + A(bs&&bs.includes('rgb(113, 118, 127)'),'released highlight derives from the face bg (#71767f): '+bs); + A(bs&&bs.includes('rgb(15, 17, 22)'),'released shadow derives from the face bg (#0f1116): '+bs); + UIMAP['mode-line'].box={style:'pressed',width:1,color:null};paintUI('mode-line'); + const bs2=pv&&pv.style.boxShadow; + A(bs2&&bs2.includes('rgb(15, 17, 22)')&&bs2.includes('rgb(113, 118, 127)')&&bs2.indexOf('rgb(15, 17, 22)')<bs2.indexOf('rgb(113, 118, 127)'),'pressed swaps the pair (shadow edge first): '+bs2); + UIMAP['mode-line'].box={style:'line',width:1,color:'#ff0000'};paintUI('mode-line'); + A(pv&&pv.style.boxShadow.includes('rgb(255, 0, 0)'),'line style keeps its explicit color: '+(pv&&pv.style.boxShadow)); + UIMAP['mode-line'].box={style:'released',width:1,color:'#ff0000'};paintUI('mode-line'); + const bs3=pv&&pv.style.boxShadow; + A(bs3&&bs3.includes('rgb(255, 42, 42)')&&bs3.includes('rgb(143, 0, 0)'),'released style derives relief from explicit box color: '+bs3); + PALETTE=[['#ff0000','red','red'],['#30343c','slate','slate']]; + buildUITable(); + const mlrow=document.querySelector('#uibody tr[data-face="mode-line"]'),boxCell=mlrow&&mlrow.cells[7],boxSel=boxCell&&boxCell.querySelector('select'),boxDd=boxCell&&boxCell.querySelector('.cdd'); + if(boxSel&&boxDd){boxSel.value='line';boxSel.dispatchEvent(new Event('change',{bubbles:true}));boxDd.click();const redRow=[...document.querySelectorAll('.cddpop .cddrow')].find(r=>r.textContent.includes('red'));if(redRow)redRow.click();} + A(UIMAP['mode-line'].box&&UIMAP['mode-line'].box.color==='#ff0000','UI box color dropdown writes box.color'); + const app=curApp(),face=APPS[app].faces[0][0];PKGMAP[app][face].box={style:'line',width:1,color:null};buildPkgTable(); + const prow=document.querySelector('#pkgbody tr[data-face="'+face+'"]'),pbox=prow&&prow.cells[8],pdd=pbox&&pbox.querySelector('.cdd'); + if(pdd){pdd.click();const redRow=[...document.querySelectorAll('.cddpop .cddrow')].find(r=>r.textContent.includes('red'));if(redRow)redRow.click();} + A(PKGMAP[app][face].box&&PKGMAP[app][face].box.color==='#ff0000','package box color dropdown writes box.color'); + PALETTE=saveP;PKGMAP=savePK;for(const f in UIMAP)delete UIMAP[f];Object.assign(UIMAP,saveUI);buildUITable();buildPkgTable(); + document.title='BEVELTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='beveltest';d.textContent='BEVELTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Preview-link gate (open with #previewlinktest): known bespoke-preview face +// mappings stay wired to the face that Emacs actually uses. +if(location.hash==='#previewlinktest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const box=document.createElement('div'); + box.innerHTML=renderOrgPreview(); + const headline=[...box.querySelectorAll('[data-face="org-headline-todo"]')].find(e=>e.textContent.includes('Heading three')); + A(!!headline&&headline.previousElementSibling&&headline.previousElementSibling.dataset.face==='org-todo','org headline-todo follows a TODO keyword span'); + box.innerHTML=renderFlycheckPreview(); + const delim=[...box.querySelectorAll('[data-face="flycheck-error-delimiter"]')].map(e=>e.textContent).join(''); + const enclosed=[...box.querySelectorAll('[data-face="flycheck-delimited-error"]')].map(e=>e.textContent).join(''); + A(delim==='[]','flycheck delimiters use flycheck-error-delimiter'); + A(enclosed==='err','flycheck enclosed text uses flycheck-delimited-error'); + box.innerHTML=renderErcPreview(); + const own=[...box.querySelectorAll('[data-face="erc-input-face"]')].some(e=>e.textContent.includes('hello everyone')); + const bob=[...box.querySelectorAll('[data-face="erc-default-face"]')].some(e=>e.textContent.includes('hi craig')); + A(own,'erc own sent message uses erc-input-face'); + A(bob,'erc remote message uses erc-default-face'); + document.title='PREVIEWLINKTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='previewlinktest';d.textContent='PREVIEWLINKTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Safe-lightness gate (open with #safetest): the OKLCH picker shades the unsafe +// lightness band for a selected covered face and hides it when no face is selected. +if(location.hash==='#safetest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const saveMAP=Object.assign({},MAP); + MAP['p']='#f0fef0';MAP['kw']='#67809c';MAP['bg']='#000000'; + document.getElementById('newhexstr').value='#202830';openPicker();setPkModel('oklch'); + setSafeFace('region'); + const band=document.getElementById('svsafe'); + A(band&&band.style.display==='block','safe band shows for an in-scope face'); + A(band&&parseFloat(band.style.height)>0,'safe band has a positive height: '+(band&&band.style.height)); + setSafeFace(''); + A(band&&band.style.display==='none','safe band hidden when no face is selected'); + for(const k in MAP)delete MAP[k];Object.assign(MAP,saveMAP); + setPkModel('hsv');closePicker(); + document.title='SAFETEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='safetest';d.textContent='SAFETEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Gone-rebind gate (open with #healtest): deleting a named color then recreating +// the name re-points the assignments stranded on the old hex to the new color. +if(location.hash==='#healtest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const saveP=PALETTE.slice(),saveM=Object.assign({},MAP),saveU=JSON.parse(JSON.stringify(UIMAP)),savePK=JSON.parse(JSON.stringify(PKGMAP)),saveG=Object.assign({},lastGone),saveSel=selectedIdx; + PALETTE=[['#0d0b0a','ground'],['#cdced1','fg'],['#67809c','blue']];MAP['kw']='#67809c';lastGone={};selectedIdx=null;renderPalette();buildTable(); + const blue=[...document.querySelectorAll('#pals .pchip')].find(c=>c.querySelector('.nm')&&c.querySelector('.nm').value==='blue'); + A(!!(blue&&blue.querySelector('.rm')),'blue chip has a remove button'); + if(blue&&blue.querySelector('.rm'))blue.querySelector('.rm').click(); + A(!PALETTE.some(p=>p[1]==='blue'),'blue was deleted'); + A(lastGone['blue']==='#67809c','delete recorded the gone name->hex'); + document.getElementById('newhexstr').value='#5a7a9a';document.getElementById('newname').value='blue';selectedIdx=null;addColor(); + A(MAP['kw']==='#5a7a9a','assignment re-bound to the recreated name, got '+MAP['kw']); + A(!('blue' in lastGone),'heal consumed the gone entry'); + PALETTE=saveP;for(const k in MAP)delete MAP[k];Object.assign(MAP,saveM);for(const f in UIMAP)delete UIMAP[f];Object.assign(UIMAP,saveU);PKGMAP=savePK;lastGone=saveG;selectedIdx=saveSel; + renderPalette();buildTable();buildUITable();if(document.getElementById('pkgbody'))buildPkgTable(); + document.title='HEALTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='healtest';d.textContent='HEALTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Column-strip gate (open with #columntest): the palette renders as a pinned +// ground column plus structural columns, chips keep their controls, and renaming +// a color leaves it in the same strip because the column id is stable. +if(location.hash==='#columntest'||location.hash==='#familytest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const saveP=PALETTE.slice(),saveM=Object.assign({},MAP),saveG=Object.assign({},lastGone),saveSel=selectedIdx; + MAP['bg']='#0d0b0a';MAP['p']='#f0fef0'; + PALETTE=[['#0d0b0a','ground'],['#f0fef0','fg'],['#c0402a','red'],['#3a6ea5','blue'],['#808080','gray']];selectedIdx=null;renderPalette(); + const strips=[...document.querySelectorAll('#pals .fstrip')]; + A(strips.length&&strips[0].dataset.column==='ground','ground column is pinned first'); + A(strips[0].querySelectorAll('.pchip').length===2,'ground column carries bg + fg endpoints'); + A(!!strips[0].querySelector('.fhead + .fcount + .pchip'),'span control sits between header and tiles for ground'); + A(strips.length>=4,'ground + red + blue + gray columns, got '+strips.length); + PALETTE=[['#3a6ea5','blue','blue']];MAP['bg']='#0d0b0a';MAP['p']='#f0fef0';selectedIdx=null;renderPalette(); + const fgChip=[...document.querySelectorAll('#pals .fstrip[data-column="ground"] .pchip')].find(c=>c.querySelector('.nm')&&c.querySelector('.nm').value==='fg'); + A(!!fgChip&&!fgChip.querySelector('.nm').disabled,'missing fg endpoint is normalized into a selectable real chip'); + if(fgChip)fgChip.click(); + A(selectedIdx!==null&&PALETTE[selectedIdx]&&PALETTE[selectedIdx][1]==='fg'&&document.getElementById('newhexstr').value.toLowerCase()==='#f0fef0','clicking normalized fg selects it and updates the color editor'); + PALETTE=[['#0d0b0a','ground'],['#f0fef0','fg'],['#c0402a','red'],['#3a6ea5','blue'],['#808080','gray']];selectedIdx=null;renderPalette(); + const resetStrips=[...document.querySelectorAll('#pals .fstrip')]; + const blueHead=resetStrips.find(s=>s.dataset.column==='blue')&&resetStrips.find(s=>s.dataset.column==='blue').querySelector('.ctitle'); + A(!!blueHead,'normal column header has a selectable title'); + if(blueHead)blueHead.click(); + A(selectedIdx!==null&&PALETTE[selectedIdx][1]==='blue'&&document.getElementById('newhexstr').value.toLowerCase()==='#3a6ea5','clicking a column title selects its base color'); + const blueRight=resetStrips.find(s=>s.dataset.column==='blue')&&resetStrips.find(s=>s.dataset.column==='blue').querySelector('.cmove.right'); + if(blueRight)blueRight.click(); + const moved=[...document.querySelectorAll('#pals .fstrip')].map(s=>s.dataset.column); + A(moved.indexOf('blue')>moved.indexOf('gray'),'right arrow moves a color column after its neighbor'); + A(!document.querySelector('#pals .fstrip[data-column="ground"] .cdel'),'ground column has no delete button'); + const redChip=[...document.querySelectorAll('#pals .pchip')].find(c=>c.querySelector('.nm')&&c.querySelector('.nm').value==='red'); + A(!!redChip&&!!redChip.querySelector('.rm')&&!!redChip.querySelector('.nm'),'a column chip keeps remove + rename controls'); + if(redChip){ + const redName=redChip.querySelector('.nm');selectedIdx=null;redName.click(); + A(selectedIdx!==null&&PALETTE[selectedIdx][1]==='red','single-clicking a tile name selects the whole tile'); + const chipHex=chip=>rgb2hex(...getComputedStyle(chip).backgroundColor.match(/\d+/g).slice(0,3).map(Number)); + openPicker();setHex('#00ff00'); + A(chipHex(redChip)==='#00ff00','picker edits preview on the selected palette chip'); + closePicker(); + A(chipHex(redChip)==='#c0402a'&&PALETTE[selectedIdx][0]==='#c0402a','closing picker restores selected chip without mutating palette'); + A(redName.readOnly===true&&!redName.classList.contains('editing'),'single-clicking a tile name does not enter name edit mode'); + redName.dispatchEvent(new MouseEvent('dblclick',{bubbles:true,cancelable:true})); + A(redName.readOnly===false&&redName.classList.contains('editing'),'double-clicking a tile name enters edit mode'); + A(redName.selectionStart===0&&redName.selectionEnd===0,'double-clicking places the cursor at the beginning of the name'); + redName.blur(); + } + const redColumn=redChip&&redChip.closest('.fstrip').dataset.column; + const ri=PALETTE.findIndex(p=>p[1]==='red');PALETTE[ri][1]='zztop-absurd';renderPalette(); + const renamed=[...document.querySelectorAll('#pals .pchip')].find(c=>c.querySelector('.nm')&&c.querySelector('.nm').value==='zztop-absurd'); + A(!!renamed&&renamed.closest('.fstrip').dataset.column===redColumn,'a renamed color stays in the same strip'); + PALETTE=[['#0d0b0a','bg','ground'],['#f0fef0','fg','ground'],['#0d0b0a','bg2'],['#0d0b0a','bg-alt']];MAP['bg']='#0d0b0a';MAP['p']='#f0fef0';selectedIdx=null;renderPalette(); + const bg2Chip=[...document.querySelectorAll('#pals .pchip')].find(c=>c.querySelector('.nm')&&c.querySelector('.nm').value==='bg2'); + A(!!bg2Chip&&bg2Chip.closest('.fstrip').dataset.column==='bg2'&&!!bg2Chip.querySelector('.rm')&&!bg2Chip.querySelector('.lock'),'same-hex bg2 remains a normal removable color column chip'); + if(bg2Chip){bg2Chip.click();document.getElementById('newhexstr').value='#101820';document.getElementById('newname').value='bg2';updateColor();} + A(MAP['bg']==='#0d0b0a','editing same-hex bg2 does not repoint the real bg assignment'); + A(PALETTE.some(p=>p[1]==='bg2'&&p[0]==='#101820'),'editing same-hex bg2 updates only that palette tile'); + PALETTE=[['#0d0b0a','bg','ground'],['#f0fef0','fg','ground'],['#c0402a','red','red'],['#3a6ea5','blue','blue'],['#92acc2','blue+1','blue'],['#808080','gray','gray']]; + MAP['kw']='#92acc2';lastGone={};selectedIdx=PALETTE.findIndex(p=>p[1]==='blue+1');renderPalette(); + const del=document.querySelector('#pals .fstrip[data-column="blue"] .cdel'); + A(!!del,'normal column has a delete button'); + const beforeDelete=PALETTE.map(p=>p.join('|')).join('||'),oldConfirm=window.confirm; + window.confirm=()=>false; + if(del)del.click(); + A(PALETTE.map(p=>p.join('|')).join('||')===beforeDelete,'canceling column delete leaves the palette unchanged'); + window.confirm=()=>true; + if(del)del.click(); + window.confirm=oldConfirm; + A(!PALETTE.some(p=>p[2]==='blue'),'column delete removes every entry with the stable column id'); + A(PALETTE.some(p=>p[1]==='red')&&PALETTE.some(p=>p[1]==='gray'),'column delete leaves neighboring columns alone'); + A(PALETTE.some(p=>groundRoleOfEntry(p,{bg:MAP['bg'],fg:MAP['p']})==='bg')&&PALETTE.some(p=>groundRoleOfEntry(p,{bg:MAP['bg'],fg:MAP['p']})==='fg'),'column delete leaves ground entries alone'); + A(MAP['kw']==='#92acc2','column delete leaves assignments on removed hexes'); + A(lastGone['blue']==='#3a6ea5'&&lastGone['blue+1']==='#92acc2','column delete records every removed name for recovery'); + A(selectedIdx===null,'column delete clears selected color'); + PALETTE=[['#0d0b0a','bg','ground'],['#f0fef0','fg','ground'],['#c0402a','red','red'],['#3a6ea5','blue','blue'],['#92acc2','blue+1','blue']]; + MAP['kw']='#3a6ea5';selectedIdx=2;clearPalette(); + A(PALETTE.length===2&&PALETTE.every(p=>groundRoleOfEntry(p,{bg:MAP['bg'],fg:MAP['p']})),'clear palette leaves only bg and fg tiles'); + A(!PALETTE.some(p=>p[1]==='red'||p[1]==='blue'||p[1]==='blue+1'),'clear palette removes normal color columns and spans'); + A(MAP['kw']==='#3a6ea5','clear palette leaves existing assignments on gone hexes'); + A(lastGone['blue']==='#3a6ea5'&&lastGone['blue+1']==='#92acc2','clear palette records removed names for recovery'); + A(selectedIdx===null,'clear palette clears selected color'); + PALETTE=saveP;for(const k in MAP)delete MAP[k];Object.assign(MAP,saveM);lastGone=saveG;selectedIdx=saveSel;renderPalette(); + document.title='COLUMNTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='columntest';d.textContent='COLUMNTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Count-control gate (open with #counttest): the per-column count regenerates the +// column — count up adds symmetric steps, count down drops the extremes, a +// reference to a surviving step follows the new hex, a reference to a removed step +// is left on its old (now-gone) hex. +if(location.hash==='#counttest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const saveP=PALETTE.slice(),saveM=Object.assign({},MAP),saveU=JSON.parse(JSON.stringify(UIMAP)),saveSel=selectedIdx; + MAP['bg']='#204060';MAP['p']='#f0fef0'; + PALETTE=[['#204060','bg'],['#f0fef0','fg']]; + setGroundSpan(2); + A(MAP['bg']==='#204060'&&MAP['p']==='#f0fef0','spanning ground keeps bg/fg assignments on endpoints'); + A(PALETTE.some(p=>p[1]==='ground+1')&&PALETTE.some(p=>p[1]==='ground+2'),'spanning ground adds interior ground+N entries'); + A(document.querySelector('#pals .fstrip[data-column="ground"] .fhead + .fcount + .pchip'),'ground span control renders before tiles'); + MAP['bg']='#ffffff';MAP['p']='#000000'; + PALETTE=[['#ffffff','bg'],['#bbbbbb','ground+1','ground'],['#777777','ground+2','ground'],['#000000','fg']]; + renderPalette(); + const groundNames=[...document.querySelectorAll('#pals .fstrip[data-column="ground"] .pchip .nm')].map(e=>e.value); + A(groundNames.join('|')==='bg|ground+1|ground+2|fg','ground column order is bg, ground steps, fg even when bg is lighter: '+groundNames.join('|')); + MAP['bg']='#204060';MAP['p']='#f0fef0'; + setGroundSpan(1); + A(!PALETTE.some(p=>p[1]==='ground+2'),'lowering ground span removes dropped interior steps'); + PALETTE=[['#204060','bg'],['#f0fef0','fg'],['#e0e0e0','near-white','near-white']]; + setColumnCount('#e0e0e0',4); + A(!PALETTE.some(p=>p[0].toLowerCase()==='#ffffff'&&p[1]!=='fg'),'spanning a near-white base skips generated pure-white tiles'); + PALETTE=[['#204060','bg'],['#f0fef0','fg'],['#101010','near-black','near-black']]; + setColumnCount('#101010',4); + A(!PALETTE.some(p=>p[0].toLowerCase()==='#000000'&&p[1]!=='bg'),'spanning a near-black base skips generated pure-black tiles'); + PALETTE=[['#204060','bg'],['#f0fef0','fg']]; + regenColumn('#67809c',2).members.forEach(m=>PALETTE.push([m.hex,m.offset===0?'blue':'blue'+(m.offset>0?'+'+m.offset:m.offset)])); + const innerOld=regenColumn('#67809c',2).members.find(m=>m.offset===1).hex; // survives a count change + const outerOld=regenColumn('#67809c',2).members.find(m=>m.offset===2).hex; // dropped on count-down + UIMAP['region']={fg:null,bg:innerOld,bold:false,italic:false,underline:false,strike:false}; + UIMAP['highlight']={fg:null,bg:outerOld,bold:false,italic:false,underline:false,strike:false}; + selectedIdx=null;renderPalette(); + const blueSpanInput=document.querySelector('#pals .fstrip[data-column="blue"] .fcount input'); + A(blueSpanInput&&blueSpanInput.max==='8','normal column span control allows up to 8 per side'); + setColumnCount('#67809c',1); + const palHexes=new Set(PALETTE.map(p=>p[0].toLowerCase())); + A(!palHexes.has(outerOld.toLowerCase()),'outer step removed from palette on count down'); + A(UIMAP['highlight'].bg.toLowerCase()===outerOld.toLowerCase(),'a removed-step reference stays on its old (gone) hex'); + const newInner=regenColumn('#67809c',1).members.find(m=>m.offset===1).hex; + A(UIMAP['region'].bg.toLowerCase()===newInner.toLowerCase(),'a surviving-step reference followed the regenerate, got '+UIMAP['region'].bg); + setColumnCount('#67809c',3); + const want3=regenColumn('#67809c',3).members.map(m=>m.hex.toLowerCase()); + const have=new Set(PALETTE.map(p=>p[0].toLowerCase())); + A(want3.every(h=>have.has(h)),'count up to 3 adds all 7 span colors to the palette'); + PALETTE=saveP;for(const k in MAP)delete MAP[k];Object.assign(MAP,saveM);for(const f in UIMAP)delete UIMAP[f];Object.assign(UIMAP,saveU);selectedIdx=saveSel;renderPalette(); + document.title='COUNTTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='counttest';d.textContent='COUNTTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Base-edit + ground-edit gate (open with #baseedittest): editing a column base +// recolors the whole column at the same count and references follow; editing a +// ground swatch writes the bg/fg assignment. +if(location.hash==='#baseedittest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const saveP=PALETTE.slice(),saveM=Object.assign({},MAP),saveU=JSON.parse(JSON.stringify(UIMAP)),saveSel=selectedIdx; + MAP['bg']='#0d0b0a';MAP['p']='#f0fef0'; + PALETTE=[['#0d0b0a','ground'],['#f0fef0','fg']]; + regenColumn('#67809c',2).members.forEach(m=>PALETTE.push([m.hex,m.offset===0?'blue':'blue'+(m.offset>0?'+'+m.offset:m.offset)])); + UIMAP['region']={fg:null,bg:'#67809c',bold:false,italic:false,underline:false,strike:false}; + renderPalette();buildUITable(); + selectedIdx=PALETTE.findIndex(p=>p[0].toLowerCase()==='#67809c'); + document.getElementById('newhexstr').value='#3a8a8a';document.getElementById('newname').value='teal'; + updateColor(); + const column=columnsFromPalette(PALETTE,{bg:MAP['bg'],fg:MAP['p']}).columns[0]; + A(column&&column.members.some(m=>m.hex.toLowerCase()==='#3a8a8a'),'column base recolored to the new hex'); + A(fam&&fam.members.length===5,'count preserved (±2 → 5 members), got '+(fam&&fam.members.length)); + A(!new Set(PALETTE.map(p=>p[0].toLowerCase())).has('#67809c'),'old base removed from palette'); + A(UIMAP['region'].bg.toLowerCase()==='#3a8a8a','a reference to the base followed to the new base hex'); + // ground edit: select bg, change hex, MAP.bg follows + selectedIdx=PALETTE.findIndex(p=>p[0].toLowerCase()==='#0d0b0a'); + document.getElementById('newhexstr').value='#101010';document.getElementById('newname').value='ground'; + updateColor(); + A(MAP['bg'].toLowerCase()==='#101010','editing the bg swatch wrote the bg assignment, got '+MAP['bg']); + // fg edit: even when a normal column shares the old fg hex, editing fg must not regenerate that column as fg-*. + MAP['bg']='#0d0b0a';MAP['p']='#e0e0e0'; + PALETTE=[['#0d0b0a','bg','ground'],['#e0e0e0','fg','ground'],['#c0c0c0','silver-1','silver'],['#e0e0e0','silver','silver'],['#f4f4f4','silver+1','silver']]; + selectedIdx=PALETTE.findIndex(p=>p[1]==='fg'); + document.getElementById('newhexstr').value='#d8d8d8';document.getElementById('newname').value='fg'; + updateColor(); + A(MAP['p'].toLowerCase()==='#d8d8d8','editing the fg swatch wrote the fg assignment, got '+MAP['p']); + A(PALETTE.some(p=>p[1]==='silver'&&p[2]==='silver'),'editing fg does not rename a same-hex normal column base'); + A(!PALETTE.some(p=>/^fg[+-]\d+$/.test(p[1])),'editing fg does not generate fg span tiles from a same-hex normal column'); + A(PALETTE.find(p=>p[1]==='fg')[2]==='ground','editing fg preserves the ground column id'); + PALETTE=saveP;for(const k in MAP)delete MAP[k];Object.assign(MAP,saveM);for(const f in UIMAP)delete UIMAP[f];Object.assign(UIMAP,saveU);selectedIdx=saveSel;renderPalette(); + document.title='BASEEDITTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='baseedittest';d.textContent='BASEEDITTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Round-trip gate (open with #roundtriptest): export stays a flat palette with +// stable column ids, and import does not need color-derived column reconstruction. +if(location.hash==='#roundtriptest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const saveP=PALETTE.slice(),saveM=Object.assign({},MAP),saveL=new Set(LOCKED); + PALETTE=[['#ffffff','bg','ground'],['#000000','fg','ground'],['#224466','blue','blue'],['#446688','renamed-blue','blue']]; + MAP['bg']='#ffffff';MAP['p']='#000000'; + LOCKED=new Set(['kw','ui:region','pkg:'+curApp()+':'+APPS[curApp()].faces[0][0]]); + const before=JSON.stringify(exportObj()); + applyImported(before); + const after=JSON.stringify(exportObj()); + A(before===after,'export → import → export is byte-identical'); + const obj=JSON.parse(after); + A(Array.isArray(obj.palette)&&obj.palette.every(e=>Array.isArray(e)&&e.length>=3&&typeof e[2]==='string'),'exported palette carries flat [hex,name,columnId] entries'); + A(obj.palette.some(e=>e[1]==='renamed-blue'&&e[2]==='blue'),'renamed color keeps its stable column id through export/import'); + A(obj.locks&&obj.locks.includes('kw')&&obj.locks.includes('ui:region'),'lock state survives export/import'); + PALETTE=saveP;for(const k in MAP)delete MAP[k];Object.assign(MAP,saveM);LOCKED=saveL; + document.title='ROUNDTRIPTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='roundtriptest';d.textContent='ROUNDTRIPTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} diff --git a/scripts/theme-studio/build-inventory.el b/scripts/theme-studio/build-inventory.el new file mode 100644 index 00000000..04d82145 --- /dev/null +++ b/scripts/theme-studio/build-inventory.el @@ -0,0 +1,31 @@ +;;; build-inventory.el --- emit package->faces inventory for theme-studio -*- lexical-binding: t -*- +;;; Commentary: +;; Loaded into a running Emacs (emacsclient -e '(load ".../build-inventory.el")') +;; to write package-inventory.json next to itself: a JSON object mapping each +;; installed (elpa/straight) package to the faces it defines, grouped by the +;; package that owns the face's definition file. Built-in faces are skipped. +;; generate.py embeds the JSON so the theme-studio dropdown can reach every +;; installed package (tier-3 phase 6, the "theme every package" path). +;;; Code: + +(require 'json) + +(let ((h (make-hash-table :test 'equal))) + (dolist (f (face-list)) + (let* ((file (ignore-errors (symbol-file f 'defface))) + (pkg (and (stringp file) + (string-match "/\\(?:elpa\\|straight/build\\|site-lisp\\)/\\([a-zA-Z0-9._-]+?\\)-[0-9][^/]*/" file) + (match-string 1 file)))) + (when pkg (push (symbol-name f) (gethash pkg h))))) + (let (al) + (maphash (lambda (k v) (push (cons (intern k) (sort v #'string<)) al)) h) + (setq al (sort al (lambda (a b) (string< (symbol-name (car a)) (symbol-name (car b)))))) + (with-temp-file (expand-file-name + "package-inventory.json" + (file-name-directory (or load-file-name buffer-file-name + "~/.emacs.d/scripts/theme-studio/"))) + (let ((json-encoding-pretty-print t)) + (insert (json-encode al) "\n"))))) + +(provide 'build-inventory) +;;; build-inventory.el ends here diff --git a/scripts/theme-studio/build-theme.el b/scripts/theme-studio/build-theme.el new file mode 100644 index 00000000..8391459a --- /dev/null +++ b/scripts/theme-studio/build-theme.el @@ -0,0 +1,262 @@ +;;; build-theme.el --- Convert a theme-studio theme.json into a deftheme -*- lexical-binding: t -*- + +;; Author: Craig Jennings <c@cjennings.net> + +;;; Commentary: + +;; The last link in the theme-studio pipeline: turn a theme.json exported by +;; the tool (see scripts/theme-studio/README.md and +;; docs/design/theme-studio-package-faces-spec.org) into a single, +;; self-contained, loadable Emacs deftheme written to themes/<name>-theme.el. +;; +;; Four tiers come out of the JSON: +;; - default -- background from assignments.bg, foreground from .p +;; - syntax -- assignments.<cat> -> font-lock / tree-sitter faces, with +;; the bold / italic category sets applied +;; - ui -- the ui keys are already real face names; fg/bg passthrough +;; - packages -- per-package face specs with :inherit / :height / weight / +;; slant +;; +;; Usage (from a shell or a running Emacs): +;; +;; emacsclient -e '(progn (load ".../build-theme.el") +;; (build-theme/convert-file ".../dupre-revised.json"))' +;; +;; or in batch: +;; +;; emacs --batch -l build-theme.el \ +;; --eval '(build-theme/convert-file "dupre-revised.json" "themes")' +;; +;; The output is a flat generated deftheme, not the hand-authored +;; palette/faces/theme trio that the original dupre theme ships -- a theme.json +;; carries resolved per-face hex, not dupre's semantic-mapping layer, so a flat +;; deftheme is the faithful output and never clobbers the curated dupre files. + +;;; Code: + +(require 'json) +(require 'subr-x) + +(defconst build-theme/--syntax-face-map + '((kw . (font-lock-keyword-face)) + (bi . (font-lock-builtin-face)) + (pp . (font-lock-preprocessor-face)) + (fnd . (font-lock-function-name-face)) + (fnc . (font-lock-function-call-face)) + (ty . (font-lock-type-face)) + (prop . (font-lock-property-name-face font-lock-property-use-face)) + (con . (font-lock-constant-face)) + (num . (font-lock-number-face)) + (str . (font-lock-string-face)) + (esc . (font-lock-escape-face)) + (re . (font-lock-regexp-face)) + (doc . (font-lock-doc-face)) + (cm . (font-lock-comment-face)) + (cmd . (font-lock-comment-delimiter-face)) + (var . (font-lock-variable-name-face font-lock-variable-use-face)) + (op . (font-lock-operator-face)) + (punc . (font-lock-punctuation-face font-lock-bracket-face + font-lock-delimiter-face font-lock-misc-punctuation-face))) + "Map each theme.json syntax-category key to the font-lock faces it colors. +A category may fan out to several faces (e.g. punc covers bracket and +delimiter too). The dec (decorator) key is deliberately absent: Emacs has +no dedicated decorator face -- it renders decorators with +`font-lock-type-face', which the ty key already owns -- so coloring dec +independently is not possible without clobbering types.") + +;;; --------------------------------------------------------------------------- +;;; Pure helpers + +(defun build-theme/--hex-p (s) + "Non-nil when S is a \"#rrggbb\" hex color string." + (and (stringp s) (string-match-p "\\`#[0-9a-fA-F]\\{6\\}\\'" s))) + +(defun build-theme/--box (box) + "Convert a box spec alist (style/color/width) to an Emacs `:box' value, or nil. +STYLE is \"line\", \"released\", or \"pressed\"; WIDTH defaults to 1; COLOR (a hex +string) applies to the line style and falls through to the face foreground when +unset." + (when box + (let ((style (build-theme/--obj-get box 'style)) + (color (build-theme/--obj-get box 'color)) + (width (or (build-theme/--obj-get box 'width) 1))) + (cond ((equal style "released") (list :line-width width :style 'released-button)) + ((equal style "pressed") (list :line-width width :style 'pressed-button)) + ((equal style "line") (if color (list :line-width width :color color) + (list :line-width width))) + (t nil))))) + +(defun build-theme/--attrs (inherit fg bg bold italic underline strike height &optional box) + "Build a face-attribute plist from the given fields, in canonical order. +INHERIT is a face symbol or nil. FG and BG are hex strings or nil. BOLD, +ITALIC, UNDERLINE, and STRIKE are booleans. HEIGHT is a float multiplier; 1.0 +(or nil) is omitted as the default. BOX is a box spec alist or nil. Only set +attributes are written, so a fully-nil face yields an empty plist." + (let ((plist nil) (bx (build-theme/--box box))) + (when bx (setq plist (list :box bx))) + (when (and height (numberp height) (/= height 1.0)) + (setq plist (append (list :height height) plist))) + (when strike (setq plist (append (list :strike-through t) plist))) + (when underline (setq plist (append (list :underline t) plist))) + (when italic (setq plist (append (list :slant 'italic) plist))) + (when bold (setq plist (append (list :weight 'bold) plist))) + (when bg (setq plist (append (list :background bg) plist))) + (when fg (setq plist (append (list :foreground fg) plist))) + (when inherit (setq plist (append (list :inherit inherit) plist))) + plist)) + +(defun build-theme/--face-spec (face attrs) + "Wrap FACE and its ATTRS plist as a `custom-theme-set-faces' spec. +Return nil when ATTRS is empty, so cleared faces emit nothing." + (when attrs + (list face (list (list t attrs))))) + +(defun build-theme/--obj-get (obj key) + "Value of KEY in alist OBJ, or nil." + (cdr (assq key obj))) + +(defun build-theme/--inherit-symbol (value) + "Coerce an inherit VALUE (a face-name string, symbol, or nil) to a symbol." + (cond ((null value) nil) + ((symbolp value) value) + ((stringp value) (intern value)) + (t nil))) + +;;; --------------------------------------------------------------------------- +;;; Tiers + +(defun build-theme/--default-spec (assignments) + "Build the `default' face spec from ASSIGNMENTS bg / p." + (let ((bg (build-theme/--obj-get assignments 'bg)) + (fg (build-theme/--obj-get assignments 'p))) + (build-theme/--face-spec 'default (build-theme/--attrs nil fg bg nil nil nil nil nil)))) + +(defun build-theme/--syntax-face-specs (assignments bold italic) + "Build syntax-tier face specs from ASSIGNMENTS plus the BOLD and ITALIC sets. +BOLD and ITALIC are lists of category-key symbols. Each category fans out to +the font-lock faces in `build-theme/--syntax-face-map'." + (let (specs) + (dolist (pair build-theme/--syntax-face-map) + (let* ((cat (car pair)) + (faces (cdr pair)) + (hex (build-theme/--obj-get assignments cat))) + (when hex + (let ((attrs (build-theme/--attrs nil hex nil + (memq cat bold) (memq cat italic) nil nil nil))) + (dolist (face faces) + (when-let ((spec (build-theme/--face-spec face attrs))) + (push spec specs))))))) + (nreverse specs))) + +(defun build-theme/--ui-face-specs (ui) + "Build UI-tier face specs from the UI alist (face -> {fg,bg,bold,italic})." + (let (specs) + (dolist (entry ui) + (let* ((face (car entry)) + (obj (cdr entry)) + (attrs (build-theme/--attrs nil + (build-theme/--obj-get obj 'fg) + (build-theme/--obj-get obj 'bg) + (build-theme/--obj-get obj 'bold) + (build-theme/--obj-get obj 'italic) + (build-theme/--obj-get obj 'underline) + (build-theme/--obj-get obj 'strike) + nil + (build-theme/--obj-get obj 'box)))) + (when-let ((spec (build-theme/--face-spec face attrs))) + (push spec specs)))) + (nreverse specs))) + +(defun build-theme/--package-face-specs (packages) + "Build package-tier face specs from the PACKAGES alist (app -> face -> spec)." + (let (specs) + (dolist (app packages) + (dolist (entry (cdr app)) + (let* ((face (car entry)) + (obj (cdr entry)) + (attrs (build-theme/--attrs + (build-theme/--inherit-symbol (build-theme/--obj-get obj 'inherit)) + (build-theme/--obj-get obj 'fg) + (build-theme/--obj-get obj 'bg) + (build-theme/--obj-get obj 'bold) + (build-theme/--obj-get obj 'italic) + (build-theme/--obj-get obj 'underline) + (build-theme/--obj-get obj 'strike) + (build-theme/--obj-get obj 'height) + (build-theme/--obj-get obj 'box)))) + (when-let ((spec (build-theme/--face-spec face attrs))) + (push spec specs))))) + (nreverse specs))) + +(defun build-theme/--all-specs (data) + "Build the full ordered face-spec list from parsed theme.json DATA." + (let ((assignments (build-theme/--obj-get data 'assignments)) + (bold (mapcar #'intern (build-theme/--obj-get data 'bold))) + (italic (mapcar #'intern (build-theme/--obj-get data 'italic))) + (ui (build-theme/--obj-get data 'ui)) + (packages (build-theme/--obj-get data 'packages))) + (delq nil + (append + (list (build-theme/--default-spec assignments)) + (build-theme/--syntax-face-specs assignments bold italic) + (build-theme/--ui-face-specs ui) + (build-theme/--package-face-specs packages))))) + +;;; --------------------------------------------------------------------------- +;;; Rendering + +(defun build-theme/--render (name specs) + "Render a deftheme file body for theme NAME from face SPECS, as a string." + (concat + (format ";;; %s-theme.el --- Generated by theme-studio -*- lexical-binding: t -*-\n" name) + "\n;;; Commentary:\n" + (format ";; Generated from %s.json by scripts/theme-studio/build-theme.el.\n" name) + ";; Do not hand-edit; re-run the converter.\n" + "\n;;; Code:\n\n" + (format "(deftheme %s\n \"Generated by theme-studio.\")\n\n" name) + (format "(custom-theme-set-faces\n '%s\n" name) + ;; Each spec is quoted: custom-theme-set-faces is a function, so an + ;; unquoted (face ((t ...))) would be evaluated as a call. Specs hold + ;; only literal strings, symbols, and numbers, so a plain quote suffices. + (mapconcat (lambda (spec) (concat " '" (prin1-to-string spec))) specs "\n") + ")\n\n" + (format "(provide-theme '%s)\n" name) + (format ";;; %s-theme.el ends here\n" name))) + +(defun build-theme/--parse (json-file) + "Parse JSON-FILE into an alist, with null/false as nil and arrays as lists. +Signal a `file-missing' error when JSON-FILE does not exist." + (unless (file-readable-p json-file) + (signal 'file-missing (list "Cannot read theme.json" json-file))) + (with-temp-buffer + (insert-file-contents json-file) + (goto-char (point-min)) + (json-parse-buffer :object-type 'alist :array-type 'list + :null-object nil :false-object nil))) + +;;; --------------------------------------------------------------------------- +;;; Entry point + +(defun build-theme/convert-file (json-file &optional out-dir) + "Convert JSON-FILE (a theme.json export) into a deftheme file. +Write themes/<name>-theme.el, where <name> is the JSON name field, into +OUT-DIR (default: the themes/ directory of this repo). Return the written +path." + (let* ((data (build-theme/--parse json-file)) + (name (build-theme/--obj-get data 'name)) + (specs (build-theme/--all-specs data)) + (dir (or out-dir + (expand-file-name + "../../themes" + (file-name-directory (or load-file-name buffer-file-name + default-directory))))) + (out (expand-file-name (format "%s-theme.el" name) dir))) + (unless (and (stringp name) (string-match-p "\\`[a-zA-Z][a-zA-Z0-9-]*\\'" name)) + (error "Invalid theme name in %s: %S" json-file name)) + (make-directory dir t) + (with-temp-file out + (insert (build-theme/--render name specs))) + out)) + +(provide 'build-theme) +;;; build-theme.el ends here diff --git a/scripts/theme-studio/capture-default-faces.py b/scripts/theme-studio/capture-default-faces.py new file mode 100644 index 00000000..60f8967d --- /dev/null +++ b/scripts/theme-studio/capture-default-faces.py @@ -0,0 +1,446 @@ +#!/usr/bin/env python3 +"""Capture Emacs' default face attributes for theme-studio. + +The output is a checked-in snapshot used to seed/review theme-studio defaults. +It runs `emacs -Q --batch`, loads the files that define each `defface`, stores +the raw `face-default-spec`, then selects the normal GUI/light/24-bit branch in +Python. This avoids opening a visible white `emacs -Q` frame while still keeping +the default data reproducible. +""" + +from __future__ import annotations + +import json +import os +import pathlib +import re +import subprocess +import tempfile + +HERE = pathlib.Path(__file__).resolve().parent +ROOT = HERE.parents[1] +OUT = HERE / "emacs-default-faces.json" +INVENTORY = HERE / "package-inventory.json" +PROGRESS = pathlib.Path("/tmp/theme-studio-default-face-capture-progress.txt") + +SYNTAX = { + "bg": ["default"], + "p": ["default"], + "kw": ["font-lock-keyword-face"], + "bi": ["font-lock-builtin-face"], + "pp": ["font-lock-preprocessor-face"], + "fnd": ["font-lock-function-name-face"], + "fnc": ["font-lock-function-call-face"], + "dec": [], + "ty": ["font-lock-type-face"], + "prop": ["font-lock-property-name-face", "font-lock-property-use-face"], + "con": ["font-lock-constant-face"], + "num": ["font-lock-number-face"], + "str": ["font-lock-string-face"], + "esc": ["font-lock-escape-face"], + "re": ["font-lock-regexp-face"], + "doc": ["font-lock-doc-face"], + "cm": ["font-lock-comment-face"], + "cmd": ["font-lock-comment-delimiter-face"], + "var": ["font-lock-variable-name-face", "font-lock-variable-use-face"], + "op": ["font-lock-operator-face"], + "punc": [ + "font-lock-punctuation-face", + "font-lock-bracket-face", + "font-lock-delimiter-face", + "font-lock-misc-punctuation-face", + ], +} + +UI = [ + "cursor", + "region", + "hl-line", + "highlight", + "mode-line", + "mode-line-inactive", + "fringe", + "line-number", + "line-number-current-line", + "minibuffer-prompt", + "isearch", + "lazy-highlight", + "isearch-fail", + "show-paren-match", + "show-paren-mismatch", + "link", + "error", + "warning", + "success", + "vertical-border", +] + +BUILTIN_FEATURES = [ + "font-lock", + "hl-line", + "isearch", + "paren", + "button", + "display-line-numbers", + "shr", +] + +ATTRS = { + ":foreground": "foreground", + ":background": "background", + ":weight": "weight", + ":slant": "slant", + ":underline": "underline", + ":strike-through": "strike", + ":box": "box", + ":height": "height", + ":inherit": "inherit", + ":inverse-video": "inverseVideo", + ":extend": "extend", + ":distant-foreground": "distantForeground", +} + + +def x11_colors() -> dict[str, str]: + colors: dict[str, str] = {} + paths = [pathlib.Path("/usr/share/X11/rgb.txt")] + paths.extend(pathlib.Path("/usr/share/emacs").glob("*/etc/rgb.txt")) + path = next((p for p in paths if p.exists()), None) + if path: + for line in path.read_text(errors="ignore").splitlines(): + if not line or line.startswith("!"): + continue + parts = line.split() + if len(parts) < 4: + continue + try: + r, g, b = [int(x) for x in parts[:3]] + except ValueError: + continue + name = " ".join(parts[3:]).lower().replace(" ", "") + colors[name] = f"#{r:02x}{g:02x}{b:02x}" + return colors + + +X11_COLORS = x11_colors() + + +def color_hex(value: object) -> str | None: + if not isinstance(value, str): + return None + if re.fullmatch(r"#[0-9a-fA-F]{6}", value): + return value.lower() + key = value.lower().replace(" ", "") + if key in X11_COLORS: + return X11_COLORS[key] + m = re.fullmatch(r"gr[ae]y(\d{1,3})", key) + if m: + n = max(0, min(100, int(m.group(1)))) + v = round(255 * n / 100) + return f"#{v:02x}{v:02x}{v:02x}" + return None + + +def plist_to_dict(items: object) -> dict[str, object]: + if isinstance(items, list) and len(items) == 1 and isinstance(items[0], list): + items = items[0] + if not isinstance(items, list): + return {} + out: dict[str, object] = {} + i = 0 + while i + 1 < len(items): + key = items[i] + val = items[i + 1] + if isinstance(key, str) and key in ATTRS: + out[ATTRS[key]] = normalize_value(val) + elif key == ":bold" and val in (True, "t"): + out["weight"] = "bold" + elif key == ":italic" and val in (True, "t"): + out["slant"] = "italic" + i += 2 + return out + + +def normalize_value(value: object) -> object: + if isinstance(value, list): + as_plist = plist_to_dict(value) + if as_plist: + return as_plist + return [normalize_value(v) for v in value] + return value + + +def condition_matches(condition: object) -> bool: + if condition in (True, "t", None): + return True + if condition == "default": + return False + if isinstance(condition, dict): + if "class" in condition: + vals = condition["class"] or [] + if "color" not in vals and "grayscale" not in vals: + return False + if "min-colors" in condition: + vals = condition["min-colors"] or [] + if vals and isinstance(vals[0], int) and vals[0] > 16777216: + return False + if "background" in condition: + vals = condition["background"] or [] + if vals and "light" not in vals: + return False + if "type" in condition and "tty" in (condition["type"] or []): + return False + return True + if not isinstance(condition, list): + return False + for clause in condition: + if not isinstance(clause, list) or not clause: + continue + key = clause[0] + vals = clause[1:] + if key == "class": + if "color" not in vals and "grayscale" not in vals: + return False + elif key == "min-colors": + if vals and isinstance(vals[0], int) and vals[0] > 16777216: + return False + elif key == "background": + if vals and "light" not in vals: + return False + elif key == "type": + if "tty" in vals: + return False + return True + + +def choose_gui_light(default_spec: object) -> dict[str, object]: + chosen: dict[str, object] = {} + if not isinstance(default_spec, list): + return chosen + for entry in default_spec: + if not isinstance(entry, list) or not entry: + continue + condition = entry[0] + attrs = plist_to_dict(entry[1:]) + if condition == "default": + chosen.update(attrs) + elif condition_matches(condition): + chosen.update(attrs) + break + for key in ("foreground", "background", "distantForeground"): + if key in chosen: + hx = color_hex(chosen[key]) + if hx: + chosen[key + "Hex"] = hx + return chosen + + +def inherit_list(value: object) -> list[str]: + if value in (None, False): + return [] + if isinstance(value, str): + return [value] + if isinstance(value, list): + return [v for v in value if isinstance(v, str)] + return [] + + +def enrich_chosen_defaults(data: dict[str, object]) -> None: + faces: dict[str, dict[str, object]] = data["faces"] + for face, info in faces.items(): + info["chosenGuiLight"] = choose_gui_light(info.get("default-spec")) + + fallback = { + "foreground": "black", + "foregroundHex": "#000000", + "background": "white", + "backgroundHex": "#ffffff", + "weight": "normal", + "slant": "normal", + "underline": None, + "strike": None, + "box": None, + "height": 1, + } + + def effective(face: str, seen: set[str] | None = None) -> dict[str, object]: + seen = seen or set() + if face in seen: + return dict(fallback) + seen.add(face) + info = faces.get(face, {}) + own = dict(info.get("chosenGuiLight") or {}) + result = dict(fallback) + inherits = inherit_list(own.get("inherit")) + for parent in inherits: + result.update({k: v for k, v in effective(parent, seen).items() if v is not None}) + result.update({k: v for k, v in own.items() if v is not None}) + for key in ("foreground", "background", "distantForeground"): + if key in result: + hx = color_hex(result[key]) + if hx: + result[key + "Hex"] = hx + else: + result.pop(key + "Hex", None) + if inherits: + result["selectedInherits"] = inherits + return result + + for face, info in faces.items(): + info["effectiveGuiLight"] = effective(face) + + +def package_dirs(pkg: str) -> list[pathlib.Path]: + roots = [ROOT / "elpa", ROOT / "straight" / "build", ROOT / "site-lisp"] + out: list[pathlib.Path] = [] + for root in roots: + if not root.exists(): + continue + out.extend( + p + for p in root.iterdir() + if p.is_dir() and (p.name == pkg or p.name.startswith(pkg + "-")) + ) + return out + + +def defface_files(inventory: dict[str, list[str]]) -> tuple[dict[str, dict[str, str]], dict[str, list[str]], list[str]]: + found: dict[str, dict[str, str]] = {} + missing: dict[str, list[str]] = {} + load_paths: list[str] = [] + for pkg, faces in inventory.items(): + dirs = package_dirs(pkg) + load_paths.extend(str(d) for d in dirs) + by_face: dict[str, str] = {} + pending = set(faces) + for directory in dirs: + for path in directory.rglob("*.el"): + if not pending: + break + try: + text = path.read_text(errors="ignore") + except OSError: + continue + for face in list(pending): + pat = r"\(\s*defface\s+" + re.escape(face) + r"\b" + if re.search(pat, text): + by_face[face] = str(path) + pending.remove(face) + if not pending: + break + found[pkg] = by_face + if pending: + missing[pkg] = sorted(pending) + return found, missing, sorted(set(load_paths)) + + +def elisp_quote(value: object) -> str: + return json.dumps(value) + + +def main() -> None: + inventory = json.loads(INVENTORY.read_text()) + face_files, missing, load_paths = defface_files(inventory) + package_faces = sorted({face for faces in inventory.values() for face in faces}) + package_files = sorted(set(face_files[pkg][face] for pkg in face_files for face in face_files[pkg])) + all_faces = sorted(set(UI) | {f for faces in SYNTAX.values() for f in faces} | set(package_faces)) + + script = f""" +(require 'json) +(require 'cl-lib) +(setq json-object-type 'alist) +(setq json-array-type 'list) +(setq json-key-type 'symbol) +(defconst ts-probe-load-paths (json-read-from-string {elisp_quote(json.dumps(load_paths))})) +(defconst ts-probe-builtin-features (json-read-from-string {elisp_quote(json.dumps(BUILTIN_FEATURES))})) +(defconst ts-probe-package-files (json-read-from-string {elisp_quote(json.dumps(package_files))})) +(defconst ts-probe-syntax-map (json-read-from-string {elisp_quote(json.dumps(SYNTAX))})) +(defconst ts-probe-ui-faces (json-read-from-string {elisp_quote(json.dumps(UI))})) +(defconst ts-probe-package-inventory (json-read-from-string {elisp_quote(json.dumps(inventory))})) +(defconst ts-probe-package-defface-files (json-read-from-string {elisp_quote(json.dumps(face_files))})) +(defconst ts-probe-package-unresolved-faces (json-read-from-string {elisp_quote(json.dumps(missing))})) +(defconst ts-probe-all-faces (json-read-from-string {elisp_quote(json.dumps(all_faces))})) +(dolist (dir ts-probe-load-paths) + (add-to-list 'load-path dir)) +(dolist (feature (mapcar #'intern ts-probe-builtin-features)) + (ignore-errors (require feature))) +(dolist (file ts-probe-package-files) + (with-temp-file {elisp_quote(str(PROGRESS))} (insert file)) + (ignore-errors (load file nil t))) +(defun ts-probe--proper-list-p (value) + (or (null value) + (and (consp value) (ts-probe--proper-list-p (cdr value))))) +(defun ts-probe--safe (value) + (cond ((keywordp value) (symbol-name value)) + ((symbolp value) (symbol-name value)) + ((and (consp value) (ts-probe--proper-list-p value)) + (vconcat (mapcar #'ts-probe--safe value))) + ((consp value) + (vector "cons" (ts-probe--safe (car value)) (ts-probe--safe (cdr value)))) + ((vectorp value) (mapcar #'ts-probe--safe (append value nil))) + (t value))) +(defun ts-probe--json-bool (v) (if v t :json-false)) +(defun ts-probe--attr (face attr) + (let ((v (face-attribute face attr nil 'default))) + (cond ((eq v 'unspecified) nil) + ((eq v 'unspecified-fg) nil) + ((eq v 'unspecified-bg) nil) + (t v)))) +(defun ts-probe--face (name) + (let ((face (intern name))) + (if (not (facep face)) + `((exists . :json-false)) + `((exists . t) + (foreground . ,(ts-probe--safe (ts-probe--attr face :foreground))) + (background . ,(ts-probe--safe (ts-probe--attr face :background))) + (weight . ,(ts-probe--safe (ts-probe--attr face :weight))) + (slant . ,(ts-probe--safe (ts-probe--attr face :slant))) + (underline . ,(ts-probe--safe (ts-probe--attr face :underline))) + (strike . ,(ts-probe--safe (ts-probe--attr face :strike-through))) + (box . ,(ts-probe--safe (ts-probe--attr face :box))) + (height . ,(ts-probe--safe (ts-probe--attr face :height))) + (inherit . ,(ts-probe--safe (ts-probe--attr face :inherit))) + (default-spec . ,(ts-probe--safe (face-default-spec face))))))) +(let ((json-encoding-pretty-print t)) + (with-temp-file {elisp_quote(str(OUT))} + (insert + (json-encode + `((meta . ((captured-by . "scripts/theme-studio/capture-default-faces.py") + (emacs-version . ,emacs-version) + (resolution-model . "gui-light-24bit-from-face-default-spec") + (window-system . "batch") + (display-color-cells . 16777216) + (default-foreground . "black") + (default-background . "white") + (package-face-count . ,{len(package_faces)}) + (loaded-defface-file-count . ,{len(package_files)}))) + (syntax-map . ,ts-probe-syntax-map) + (ui-faces . ,ts-probe-ui-faces) + (package-inventory . ,ts-probe-package-inventory) + (package-defface-files . ,ts-probe-package-defface-files) + (package-unresolved-faces . ,ts-probe-package-unresolved-faces) + (faces . ,(mapcar (lambda (face) (cons (intern face) (ts-probe--face face))) + ts-probe-all-faces))))))) +(kill-emacs) +""" + with tempfile.NamedTemporaryFile("w", suffix=".el", delete=False) as f: + f.write(script) + probe = f.name + try: + subprocess.run(["emacs", "-Q", "--batch", "-l", probe], cwd=ROOT, check=True, timeout=240) + finally: + try: + os.unlink(probe) + except OSError: + pass + + data = json.loads(OUT.read_text()) + enrich_chosen_defaults(data) + data["meta"]["package-unresolved-face-count"] = sum(len(v) for v in missing.values()) + OUT.write_text(json.dumps(data, indent=2, sort_keys=True) + "\n") + print(f"wrote {OUT}") + print(json.dumps(data["meta"], indent=2, sort_keys=True)) + + +if __name__ == "__main__": + main() diff --git a/scripts/theme-studio/colormath.js b/scripts/theme-studio/colormath.js new file mode 100644 index 00000000..2a7328e5 --- /dev/null +++ b/scripts/theme-studio/colormath.js @@ -0,0 +1,220 @@ +// colormath.js — pure color-math core for theme-studio. +// +// One source of truth: node imports this module (tests); generate.py inlines its +// body into the page (stripping the trailing export block) so the browser runs +// the same code. No DOM, no side effects. +// +// Algorithms: OKLab/OKLCH from Bjorn Ottosson (2020, +// https://bottosson.github.io/posts/oklab/); APCA from APCA-W3 0.1.9 +// (https://github.com/Myndex/apca-w3); deltaE is OKLab Euclidean distance. + +function hex2rgb(h) { + return [parseInt(h.substr(1, 2), 16), parseInt(h.substr(3, 2), 16), parseInt(h.substr(5, 2), 16)]; +} + +// sRGB transfer (0..1 channel <-> linear-light). +function lin(c) { return c <= 0.04045 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } +function delin(c) { return c <= 0.0031308 ? 12.92 * c : 1.055 * Math.pow(c, 1 / 2.4) - 0.055; } +function clamp01(c) { return c < 0 ? 0 : c > 1 ? 1 : c; } + +function srgb2oklab(hex) { + const [R, G, B] = hex2rgb(hex); + const r = lin(R / 255), g = lin(G / 255), b = lin(B / 255); + const l = 0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b; + const m = 0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b; + const s = 0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b; + const l_ = Math.cbrt(l), m_ = Math.cbrt(m), s_ = Math.cbrt(s); + return { + L: 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_, + a: 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_, + b: 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_, + }; +} + +function oklab2oklch(lab) { + let H = Math.atan2(lab.b, lab.a) * 180 / Math.PI; + if (H < 0) H += 360; + return { L: lab.L, C: Math.hypot(lab.a, lab.b), H }; +} + +function oklch2oklab(L, C, H) { + const hr = H * Math.PI / 180; + return { L, a: C * Math.cos(hr), b: C * Math.sin(hr) }; +} + +// OKLab -> linear sRGB (may fall outside [0,1] when out of gamut). +function oklab2lrgb(L, a, b) { + const l_ = L + 0.3963377774 * a + 0.2158037573 * b; + const m_ = L - 0.1055613458 * a - 0.0638541728 * b; + const s_ = L - 0.0894841775 * a - 1.2914855480 * b; + const l = l_ * l_ * l_, m = m_ * m_ * m_, s = s_ * s_ * s_; + return [ + 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, + -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, + -0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s, + ]; +} + +function inGamut(lrgb) { + const e = 1e-4; + return lrgb.every(c => c >= -e && c <= 1 + e); +} + +function lrgb2hex(lrgb) { + return '#' + lrgb.map(c => { + const v = Math.round(clamp01(delin(clamp01(c))) * 255); + return v.toString(16).padStart(2, '0'); + }).join(''); +} + +// OKLCH -> in-gamut sRGB hex. When the requested chroma is unreachable, reduce C +// by binary search holding L and H fixed; report whether clamping happened. +function oklch2hex(L, C, H) { + const lab0 = oklch2oklab(L, C, H); + const lrgb0 = oklab2lrgb(lab0.L, lab0.a, lab0.b); + if (inGamut(lrgb0)) return { hex: lrgb2hex(lrgb0), clamped: false }; + let lo = 0, hi = C; + for (let i = 0; i < 24; i++) { + const mid = (lo + hi) / 2; + const lab = oklch2oklab(L, mid, H); + if (inGamut(oklab2lrgb(lab.L, lab.a, lab.b))) lo = mid; else hi = mid; + } + const lab = oklch2oklab(L, lo, H); + return { hex: lrgb2hex(oklab2lrgb(lab.L, lab.a, lab.b)), clamped: true }; +} + +// APCA-W3 0.1.9. Returns signed Lc: positive for dark-text-on-light, negative +// for light-text-on-dark. Constants transcribed verbatim from the pinned source. +function apcaY(hex) { + const [R, G, B] = hex2rgb(hex); + return 0.2126729 * Math.pow(R / 255, 2.4) + + 0.7151522 * Math.pow(G / 255, 2.4) + + 0.0721750 * Math.pow(B / 255, 2.4); +} + +function apca(textHex, bgHex) { + const blkThrs = 0.022, blkClmp = 1.414, deltaYmin = 0.0005; + const normBG = 0.56, normTXT = 0.57, revTXT = 0.62, revBG = 0.65; + const scaleBoW = 1.14, scaleWoB = 1.14, loBoWoffset = 0.027, loWoBoffset = 0.027, loClip = 0.1; + let Ytxt = apcaY(textHex), Ybg = apcaY(bgHex); + Ytxt = Ytxt > blkThrs ? Ytxt : Ytxt + Math.pow(blkThrs - Ytxt, blkClmp); + Ybg = Ybg > blkThrs ? Ybg : Ybg + Math.pow(blkThrs - Ybg, blkClmp); + if (Math.abs(Ybg - Ytxt) < deltaYmin) return 0; + let out; + if (Ybg > Ytxt) { + const sapc = (Math.pow(Ybg, normBG) - Math.pow(Ytxt, normTXT)) * scaleBoW; + out = sapc < loClip ? 0 : sapc - loBoWoffset; + } else { + const sapc = (Math.pow(Ybg, revBG) - Math.pow(Ytxt, revTXT)) * scaleWoB; + out = sapc > -loClip ? 0 : sapc + loWoBoffset; + } + return out * 100; +} + +// deltaE-OK: Euclidean distance in OKLab. +function deltaE(aHex, bHex) { + const x = srgb2oklab(aHex), y = srgb2oklab(bHex); + return Math.hypot(x.L - y.L, x.a - y.a, x.b - y.b); +} + +// --- WCAG 2.x relative luminance + contrast (migrated from the page inline) --- +// rl reuses the canonical lin() above. On 8-bit channels lin's 0.04045 cutoff is +// byte-identical to the WCAG 0.03928 piecewise the inline copy used — no channel +// value falls between the two thresholds (10/255 = 0.0392, 11/255 = 0.0431) — so +// every #rrggbb contrast value is preserved exactly. +function rl(hex) { + const [R, G, B] = hex2rgb(hex); + return 0.2126 * lin(R / 255) + 0.7152 * lin(G / 255) + 0.0722 * lin(B / 255); +} + +function contrast(aHex, bHex) { + const L1 = rl(aHex), L2 = rl(bHex), hi = Math.max(L1, L2), lo = Math.min(L1, L2); + return (hi + 0.05) / (lo + 0.05); +} + +function rating(r) { return r >= 7 ? 'AAA' : r >= 4.5 ? 'AA' : 'FAIL'; } + +// --- HSV <-> sRGB for the color picker (migrated from the page inline) --- +function hsv2rgb(h, s, v) { + h = (h % 360 + 360) % 360 / 360; + const i = Math.floor(h * 6), f = h * 6 - i, p = v * (1 - s), q = v * (1 - f * s), t = v * (1 - (1 - f) * s); + let r, g, b; + switch (((i % 6) + 6) % 6) { + case 0: [r, g, b] = [v, t, p]; break; + case 1: [r, g, b] = [q, v, p]; break; + case 2: [r, g, b] = [p, v, t]; break; + case 3: [r, g, b] = [p, q, v]; break; + case 4: [r, g, b] = [t, p, v]; break; + default: [r, g, b] = [v, p, q]; + } + return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)]; +} + +function rgb2hsv(r, g, b) { + r /= 255; g /= 255; b /= 255; + const mx = Math.max(r, g, b), mn = Math.min(r, g, b), d = mx - mn; + let h = 0; + if (d) { + if (mx === r) h = ((g - b) / d + 6) % 6; + else if (mx === g) h = (b - r) / d + 2; + else h = (r - g) / d + 4; + h *= 60; + } + return [h, mx ? d / mx : 0, mx]; +} + +function rgb2hex(r, g, b) { + return '#' + [r, g, b].map(x => Math.max(0, Math.min(255, x)).toString(16).padStart(2, '0')).join(''); +} + +// One Chroma×Lightness plane cell at a fixed hue: the sRGB color if the (L,C,H) +// is reachable, else flagged out of gamut. Forward-only (one conversion + a +// range check) — the binary-search clamp is reserved for committing a color. +function planeCell(L, C, H) { + const lab = oklch2oklab(L, C, H), lrgb = oklab2lrgb(lab.L, lab.a, lab.b); + return inGamut(lrgb) ? { inGamut: true, hex: lrgb2hex(lrgb) } : { inGamut: false, hex: null }; +} + +// Pairwise palette analysis. palette is [[hex, name], ...]. Returns the pairs +// closer than threshold (OKLab ΔE), closest-first and capped, the overflow count +// beyond the cap, and each color's nearest-neighbor distance for its chip title. +function paletteWarnings(palette, threshold = 0.02, cap = 5) { + const n = palette.length, nearest = new Array(n).fill(Infinity), pairs = []; + for (let i = 0; i < n; i++) for (let j = i + 1; j < n; j++) { + const d = deltaE(palette[i][0], palette[j][0]); + if (d < nearest[i]) nearest[i] = d; + if (d < nearest[j]) nearest[j] = d; + if (d < threshold) pairs.push({ i, j, aName: palette[i][1], bName: palette[j][1], dE: d }); + } + pairs.sort((a, b) => a.dE - b.dE); + return { warnings: pairs.slice(0, cap), overflow: Math.max(0, pairs.length - cap), nearest }; +} + +// --- 3D-box relief colors, matching Emacs's renderer --------------------- +// Port of x_alloc_lighter_color (Emacs 30 xterm.c): highlight = bg x 1.2 +// (delta 0x8000), shadow = bg x 0.6 (delta 0x4000), both in 16-bit channel +// space. Backgrounds dimmer than 48000/65535 (by Emacs's 2R+3G+B/6 weighting) +// get an additive boost of delta*dimness*factor/2, because scaling alone +// barely moves a dark color. When the result still equals the background +// (pure black shadow, pure white highlight), Emacs retries with bg+delta. +function reliefColors(bgHex) { + const rgb = hex2rgb(bgHex); + if (rgb.some((c) => Number.isNaN(c))) return { hl: null, sh: null }; + const ch16 = rgb.map((c) => c * 257); + const one = (factor, delta) => { + let nw = ch16.map((c) => Math.min(0xffff, factor * c)); + const bright = (2 * ch16[0] + 3 * ch16[1] + ch16[2]) / 6; + if (bright < 48000) { + const md = delta * (1 - bright / 48000) * factor / 2; + nw = factor < 1 + ? nw.map((v) => Math.max(0, v - md)) + : nw.map((v) => Math.min(0xffff, v + md)); + } + if (nw.every((v, i) => Math.round(v) === ch16[i])) + nw = ch16.map((c) => Math.min(0xffff, c + delta)); + return '#' + nw.map((v) => Math.round(v / 257).toString(16).padStart(2, '0')).join(''); + }; + return { hl: one(1.2, 0x8000), sh: one(0.6, 0x4000) }; +} + +export { srgb2oklab, oklab2oklch, oklch2oklab, oklch2hex, apca, deltaE, hex2rgb, lin, rl, contrast, rating, hsv2rgb, rgb2hsv, rgb2hex, oklab2lrgb, inGamut, lrgb2hex, planeCell, paletteWarnings, reliefColors }; diff --git a/scripts/theme-studio/default-face-summary.py b/scripts/theme-studio/default-face-summary.py new file mode 100644 index 00000000..4a163eb4 --- /dev/null +++ b/scripts/theme-studio/default-face-summary.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 +"""Print a concise summary of theme-studio's captured Emacs default faces.""" + +from __future__ import annotations + +import json +import pathlib +import sys + +from default_faces import DefaultFaces, changed_summary + + +HERE = pathlib.Path(__file__).resolve().parent + + +def main() -> None: + paths = [pathlib.Path(p) for p in sys.argv[1:]] + if not paths: + paths = [HERE / "emacs-default-faces.json"] + summaries = [DefaultFaces.from_path(path).summary() for path in paths] + if len(summaries) == 1: + print(json.dumps(summaries[0], indent=2, sort_keys=True)) + elif len(summaries) == 2: + print(json.dumps(changed_summary(summaries[0], summaries[1]), indent=2, sort_keys=True)) + else: + raise SystemExit("usage: default-face-summary.py [snapshot.json [snapshot-after.json]]") + + +if __name__ == "__main__": + main() diff --git a/scripts/theme-studio/default_faces.py b/scripts/theme-studio/default_faces.py new file mode 100644 index 00000000..ce2bf319 --- /dev/null +++ b/scripts/theme-studio/default_faces.py @@ -0,0 +1,160 @@ +"""Helpers for theme-studio's captured Emacs default face snapshot.""" + +from __future__ import annotations + +import json +import pathlib +from typing import Any + + +class DefaultFaces: + def __init__(self, data: dict[str, Any] | None): + self.data = data + self.color_hex = self._build_color_hex() + self.color_names = self._build_color_names() + + @classmethod + def from_path(cls, path: str | pathlib.Path) -> "DefaultFaces": + path = pathlib.Path(path) + if not path.exists(): + return cls(None) + return cls(json.loads(path.read_text())) + + @property + def available(self) -> bool: + return bool(self.data) + + def face(self, face: str, effective: bool = True) -> dict[str, Any]: + if not self.data: + return {} + data = self.data.get("faces", {}).get(face, {}) + block = "effectiveGuiLight" if effective else "chosenGuiLight" + return data.get(block, {}) or {} + + def color(self, face: str, attr: str = "foreground", effective: bool = True) -> Any: + data = self.face(face, effective) + return data.get(attr + "Hex") or data.get(attr) + + def seed(self, face: str, effective: bool = False) -> dict[str, Any]: + data = self.face(face, effective) + out: dict[str, Any] = {} + fg = data.get("foregroundHex") or data.get("foreground") + bg = data.get("backgroundHex") or data.get("background") + if fg: + out["fg"] = fg + if bg: + out["bg"] = bg + if data.get("weight") == "bold": + out["bold"] = True + if data.get("slant") == "italic": + out["italic"] = True + if data.get("underline"): + out["underline"] = True + if data.get("strike"): + out["strike"] = True + if data.get("inherit"): + out["inherit"] = data.get("inherit") + if data.get("height") and data.get("height") != 1: + out["height"] = data.get("height") + box = self.box_to_theme(data.get("box")) + if box: + out["box"] = box + return out + + def box_to_theme(self, box: Any) -> dict[str, Any] | None: + if not box: + return None + if isinstance(box, dict): + return box + if not isinstance(box, list): + return None + + vals = {} + i = 0 + while i + 1 < len(box): + vals[box[i]] = box[i + 1] + i += 2 + + width = vals.get(":line-width", 1) + if isinstance(width, list) and width and width[0] == "cons": + width = width[1] + if isinstance(width, (int, float)): + width = abs(int(width)) or 1 + else: + width = 1 + + color = vals.get(":color") + if color: + color = self.color_hex.get(str(color).lower().replace(" ", ""), color) + + style = vals.get(":style") + if style == "released-button": + return {"style": "released", "width": width, "color": None} + if style == "pressed-button": + return {"style": "pressed", "width": width, "color": None} + return {"style": "line", "width": width, "color": color} + + def label(self, value: str | None, fallback: str) -> str: + if not value: + return fallback + return self.color_names.get(str(value).lower(), fallback) + + def summary(self) -> dict[str, Any]: + if not self.data: + return {} + inventory = self.data.get("package-inventory", {}) + package_faces = sorted({face for faces in inventory.values() for face in faces}) + package_inherits = { + face: self.seed(face).get("inherit") + for face in package_faces + if self.seed(face).get("inherit") + } + ui_faces = self.data.get("ui-faces", []) + return { + "emacsVersion": self.data.get("meta", {}).get("emacs-version"), + "default": { + "foreground": self.color("default", "foreground"), + "background": self.color("default", "background"), + }, + "faceCount": len(self.data.get("faces", {})), + "packageFaceCount": len(package_faces), + "packageUnresolvedFaceCount": self.data.get("meta", {}).get("package-unresolved-face-count", 0), + "uiOwnSeeds": {face: self.seed(face) for face in ui_faces if self.seed(face)}, + "packageInherits": package_inherits, + } + + def _build_color_hex(self) -> dict[str, str]: + out: dict[str, str] = {} + if not self.data: + return out + for data in self.data.get("faces", {}).values(): + for block in ("chosenGuiLight", "effectiveGuiLight"): + face_data = data.get(block, {}) or {} + for attr in ("foreground", "background", "distantForeground"): + name = face_data.get(attr) + hex_value = face_data.get(attr + "Hex") + if name and hex_value: + out[str(name).lower().replace(" ", "")] = hex_value + return out + + def _build_color_names(self) -> dict[str, str]: + out: dict[str, str] = {} + if not self.data: + return out + for data in self.data.get("faces", {}).values(): + for block in ("chosenGuiLight", "effectiveGuiLight"): + face_data = data.get(block, {}) or {} + for attr in ("foreground", "background", "distantForeground"): + hex_value = face_data.get(attr + "Hex") + name = face_data.get(attr) + if hex_value and name and not str(name).startswith("#"): + out.setdefault(hex_value.lower(), str(name).lower().replace(" ", "-")) + return out + + +def changed_summary(before: dict[str, Any], after: dict[str, Any]) -> dict[str, Any]: + changed = {} + for key in sorted(set(before) | set(after)): + if before.get(key) != after.get(key): + changed[key] = {"before": before.get(key), "after": after.get(key)} + return changed diff --git a/scripts/theme-studio/distinguished-revised.json b/scripts/theme-studio/distinguished-revised.json new file mode 100644 index 00000000..01b490d8 --- /dev/null +++ b/scripts/theme-studio/distinguished-revised.json @@ -0,0 +1,10492 @@ +{ + "name": "distinguished-revised", + "palette": [ + [ + "#f0fef0", + "fg" + ], + [ + "#000000", + "bg" + ], + [ + "#151311", + "bg+0" + ], + [ + "#252321", + "bg+1" + ], + [ + "#474544", + "bg+2" + ], + [ + "#58574e", + "gray-2" + ], + [ + "#6c6a60", + "gray-1" + ], + [ + "#969385", + "gray" + ], + [ + "#b4b1a2", + "gray+1" + ], + [ + "#d0cbc0", + "gray+2" + ], + [ + "#8a9496", + "steel" + ], + [ + "#acb0b3", + "steel+1" + ], + [ + "#c0c7ca", + "steel+2" + ], + [ + "#67809c", + "blue" + ], + [ + "#b2c3cc", + "blue+1" + ], + [ + "#d9e2ff", + "blue+2" + ], + [ + "#646d14", + "green-2" + ], + [ + "#869038", + "green-1" + ], + [ + "#a4ac64", + "green" + ], + [ + "#ccc768", + "green+1" + ], + [ + "#3f1c0f", + "red-3" + ], + [ + "#7c2a09", + "red-2" + ], + [ + "#a7502d", + "red-1" + ], + [ + "#d47c59", + "red" + ], + [ + "#edb08f", + "red+1" + ], + [ + "#edbca2", + "red+2" + ], + [ + "#875f00", + "yellow-2" + ], + [ + "#ffd700", + "yellow-1" + ], + [ + "#d7af5f", + "yellow" + ], + [ + "#ffd75f", + "yellow+1" + ], + [ + "#f9ee98", + "yellow+2" + ], + [ + "#ff2a00", + "intense-red" + ] + ], + "assignments": { + "bg": "#000000", + "p": "#f0fef0", + "kw": "#67809c", + "bi": "#d7af5f", + "pp": "#acb0b3", + "fnd": "#d47c59", + "fnc": "", + "dec": "", + "ty": "#a4ac64", + "prop": "", + "con": "#d7af5f", + "num": "#ffd700", + "str": "#a4ac64", + "esc": "", + "re": "", + "doc": "#969385", + "cm": "#969385", + "cmd": "#969385", + "var": "#b2c3cc", + "op": "", + "punc": "" + }, + "bold": [ + "kw", + "bi", + "pp", + "fnd", + "ty", + "con" + ], + "italic": [ + "pp", + "cm", + "var", + "cmd" + ], + "ui": { + "cursor": { + "fg": null, + "bg": "#f0fef0" + }, + "region": { + "fg": null, + "bg": "#474544" + }, + "hl-line": { + "fg": null, + "bg": "#151311" + }, + "highlight": { + "fg": null, + "bg": "#2f343a" + }, + "mode-line": { + "fg": "#000000", + "bg": "#67809c" + }, + "mode-line-inactive": { + "fg": "#67809c", + "bg": "#000000" + }, + "fringe": { + "fg": "#969385", + "bg": "#151311" + }, + "line-number": { + "fg": "#969385", + "bg": null + }, + "line-number-current-line": { + "fg": null, + "bg": null + }, + "minibuffer-prompt": { + "fg": "#ffd75f", + "bg": null + }, + "isearch": { + "fg": "#f0fef0", + "bg": "#646d14" + }, + "lazy-highlight": { + "fg": "#000000", + "bg": "#ffd75f" + }, + "isearch-fail": { + "fg": "#f0fef0", + "bg": "#a7502d" + }, + "show-paren-match": { + "fg": "#f0fef0", + "bg": "#646d14" + }, + "show-paren-mismatch": { + "fg": "#f0fef0", + "bg": "#a7502d" + }, + "link": { + "fg": "#b2c3cc", + "bg": null, + "underline": true + }, + "error": { + "fg": null, + "bg": null + }, + "warning": { + "fg": null, + "bg": null + }, + "success": { + "fg": null, + "bg": null + }, + "vertical-border": { + "fg": "#474544", + "bg": null + } + }, + "locks": [ + "kw", + "bg", + "p", + "bi", + "pp", + "fnd", + "ty", + "con", + "str", + "var", + "cm", + "doc", + "cmd" + ], + "packages": { + "org-mode": { + "org-document-title": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.5 + }, + "org-document-info": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-document-info-keyword": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-level-1": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.3 + }, + "org-level-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.2 + }, + "org-level-3": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.15 + }, + "org-level-4": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.1 + }, + "org-level-5": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-level-6": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-level-7": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-level-8": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-headline-todo": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-headline-done": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-todo": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-done": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-priority": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-tag": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-tag-group": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-special-keyword": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-drawer": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-property-value": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-checkbox": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-checkbox-statistics-todo": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-checkbox-statistics-done": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-warning": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-link": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-footnote": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-date": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-sexp-date": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-date-selected": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-target": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-macro": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-cite": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-cite-key": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-block": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-block-begin-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-block-end-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-code": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-verbatim": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-inline-src-block": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-quote": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-verse": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-latex-and-related": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-table": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-table-header": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-table-row": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-formula": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-column": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-column-title": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-list-dt": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-meta-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-ellipsis": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-hide": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-indent": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-archived": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-default": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-dispatcher-highlight": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-structure": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.1 + }, + "org-agenda-structure-secondary": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-structure-filter": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-date": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.05 + }, + "org-agenda-date-today": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.05 + }, + "org-agenda-date-weekend": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-date-weekend-today": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-current-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-done": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-dimmed-todo-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-calendar-event": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-calendar-sexp": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-calendar-daterange": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-diary": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-clocking": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-column-dateline": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-restriction-lock": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-filter-category": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-filter-effort": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-filter-regexp": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-filter-tags": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-scheduled": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-scheduled-today": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-scheduled-previously": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-upcoming-deadline": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-upcoming-distant-deadline": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-imminent-deadline": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-time-grid": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-clock-overlay": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-mode-line-clock": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-mode-line-clock-overrun": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "magit": { + "magit-section-heading": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-secondary-heading": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-child-count": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-added": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-added-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-removed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-removed-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-context": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-context-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-file-heading": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-file-heading-highlight": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-file-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-hunk-heading": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-hunk-heading-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-hunk-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-hunk-region": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-lines-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-lines-boundary": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-base": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-base-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-our": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-our-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-their": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-their-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-conflict-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-conflict-heading-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-revision-summary": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-revision-summary-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-whitespace-warning": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diffstat-added": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diffstat-removed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-current": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-local": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-remote": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-remote-head": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-upstream": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-warning": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-head": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-tag": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-hash": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-filename": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-dimmed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-keyword": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-keyword-squash": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-refname": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-refname-stash": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-refname-wip": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-refname-pullreq": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-log-author": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-log-date": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-log-graph": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-header-line": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-header-line-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-header-line-log-select": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-process-ok": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-process-ng": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-mode-line-process": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-mode-line-process-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-bisect-good": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-bisect-bad": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-bisect-skip": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-heading": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-hash": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-name": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-date": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-summary": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-dimmed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-margin": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-cherry-equivalent": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-cherry-unmatched": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-good": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-bad": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-untrusted": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-expired": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-expired-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-revoked": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-commit": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-amend": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-merge": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-checkout": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-reset": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-rebase": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-cherry-pick": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-remote": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-other": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-pick": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-stop": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-part": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-head": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-drop": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-done": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-onto": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-exec": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-left-margin": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "elfeed": { + "elfeed-search-date-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-title-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-unread-title-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-feed-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-tag-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-unread-count-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-filter-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-last-update-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-date-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-error-level-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-warn-level-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-info-level-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-debug-level-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "mu4e": { + "mu4e-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-context-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-modeline-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-ok-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-warning-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-key-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-face": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-marks-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-unread-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-flagged-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-replied-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-forwarded-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-draft-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-trashed-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "mu4e-moved-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-related-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-contact-face": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-special-header-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-attach-number-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-url-number-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-link-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-1-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-2-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-3-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-4-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-5-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-6-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-7-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-footer-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-region-code": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-system-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-highlight-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-compose-header-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-compose-separator-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "ghostel": { + "ghostel-default": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-fake-cursor": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-fake-cursor-box": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-black": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-red": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-green": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-yellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-blue": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-magenta": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-cyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-white": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-black": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-red": { + "fg": "#de4949", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-green": { + "fg": "#84b068", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-yellow": { + "fg": "#eed376", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-blue": { + "fg": "#7a9abe", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-magenta": { + "fg": "#b07fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-cyan": { + "fg": "#7fc0a8", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-white": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "dashboard": { + "dashboard-banner-logo-title": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-text-banner": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-heading": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-items-face": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-navigator": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-no-items-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-footer-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-footer-icon-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "lsp-mode": { + "lsp-signature-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-signature-highlight-function-argument": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-signature-posframe": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-face-highlight-read": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-face-highlight-write": { + "fg": null, + "bg": "#3d2f4a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-face-highlight-textual": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-face-rename": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-rename-placeholder-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-inlay-hint-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-inlay-hint-parameter-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-inlay-hint-type-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-details-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-installation-buffer-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-installation-finished-buffer-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "git-gutter": { + "git-gutter:added": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "git-gutter:modified": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "git-gutter:deleted": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "git-gutter:unchanged": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "git-gutter:separator": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "flycheck": { + "flycheck-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-warning": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-info": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-fringe-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-fringe-warning": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-fringe-info": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-delimited-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-delimiter": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-warning": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-info": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-error-message": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-checker-name": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-column-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-line-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-filename": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-id": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-id-with-explainer": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-verify-select-checker": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "dired": { + "dired-header": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-directory": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-symlink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-broken-symlink": { + "fg": "#de4949", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-special": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-set-id": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-perm-write": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-mark": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-marked": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-flagged": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-ignored": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-warning": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "dirvish": { + "dirvish-inactive": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-free-space": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-hl-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-hl-line-inactive": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-modes": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-link-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-user-id": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-group-id": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-size": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-inode-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-device-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-subtree-guide": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-subtree-state": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-collapse-dir-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-collapse-empty-dir-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-collapse-file-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-emerge-group-title": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-media-info-heading": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-media-info-property-key": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-match-face-0": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-match-face-1": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-match-face-2": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-match-face-3": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-split": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-proc-running": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-proc-finished": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-proc-failed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-git-commit-message-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-added-state": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-edited-state": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-removed-state": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-conflict-state": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-locked-state": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-missing-state": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-needs-merge-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-needs-update-state": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-unregistered-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "calibredb": { + "calibredb-search-header-library-name-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-library-path-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-total-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-filter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-sort-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-highlight-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-id-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-author-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-format-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-size-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-tag-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-date-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-mark-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-series-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-publisher-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-pubdate-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-language-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-archive-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-favorite-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-file-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-ids-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-highlight-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-current-page-button-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-mouse-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-title-detailed-view-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-edit-annotation-header-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "erc": { + "erc-header-line": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-timestamp-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-notice-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-default-face": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-current-nick-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-my-nick-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-my-nick-prefix-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-nick-default-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-nick-prefix-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-button-nick-default-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-nick-msg-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-direct-msg-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-action-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-keyword-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-pal-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-fool-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-dangerous-host-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-error-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-input-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-prompt-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-command-indicator-face": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-information": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-button": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-bold-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-italic-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-underline-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-inverse-face": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-spoiler-face": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-fill-wrap-merge-indicator-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-keep-place-indicator-arrow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-keep-place-indicator-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "org-drill": { + "org-drill-hidden-cloze-face": { + "fg": "#000000", + "bg": "#8a9496", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-drill-visible-cloze-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-drill-visible-cloze-hint-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "org-noter": { + "org-noter-notes-exist-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-noter-no-notes-exist-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "signel": { + "signel-timestamp-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "signel-my-msg-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "signel-other-msg-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "signel-error-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "pearl": { + "pearl-preamble-summary": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-editable-comment": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-readonly-comment": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-modified-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-modified-local": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-modified-unknown": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "slack": { + "slack-room-info-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-room-info-title-room-name-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-room-info-section-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-room-info-section-label-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-room-unread-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-output-header": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-output-text": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-output-reaction": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-output-reaction-pressed": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-deleted-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-new-message-marker-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-all-thread-buffer-thread-header-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-mention-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-mention-me-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-mention-keyword-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-channel-button-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-bold-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-italic-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-code-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-code-block-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-strike-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-blockquote-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-list-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-attachment-header": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-attachment-footer": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-attachment-pad": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-attachment-field-title": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-attachment-preview-header-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-preview-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-block-highlight-source-overlay-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-action-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-action-primary-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-action-danger-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-button-block-element-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-button-primary-block-element-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-button-danger-block-element-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-select-block-element-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-overflow-block-element-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-date-picker-block-element-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-element-label-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-element-hint-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-element-placeholder-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-element-error-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-submit-button-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-cancel-button-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-select-element-input-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-user-active-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-user-dnd-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-user-profile-header-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-user-profile-property-name-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-profile-image-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-search-result-message-header-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-search-result-message-username-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-modeline-has-unreads-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-modeline-channel-has-unreads-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-modeline-thread-has-unreads-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "telega": { + "telega-root-heading": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-tracking": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-unread-unmuted-modeline": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-username": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-user-online-status": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-user-non-online-status": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-secret-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-contact-birthdays-today": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-muted-count": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-unmuted-count": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-mention-count": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-has-chatbuf-brackets": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-delim-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-shadow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-link": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-blue": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-red": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-heading": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-user-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-self-title": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-deleted": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-sponsored": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-inline-reply": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-inline-forward": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-inline-other": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-bold": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-italic": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-underline": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-strikethrough": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "telega-entity-type-code": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-pre": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-blockquote": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-mention": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-hashtag": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-cashtag": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-botcommand": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-texturl": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-spoiler": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-reaction": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-reaction-chosen": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-reaction-paid": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-reaction-paid-chosen": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-highlight-text-face": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-button-highlight": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-chat-prompt": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-chat-prompt-aux": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-chat-input-attachment": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-topic-button": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-filter-active": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-filter-button-active": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-filter-button-inactive": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-checklist-stats-done": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-checklist-stats-todo": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-active": { + "fg": "#000000", + "bg": "#67809c", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-default-active": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-default-passive": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-primary-active": { + "fg": "#000000", + "bg": "#67809c", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-primary-passive": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-success-active": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-success-passive": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-danger-active": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-danger-passive": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-ui-active": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-ui-passive": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button2-active": { + "fg": "#000000", + "bg": "#67809c", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button2-passive": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button2-white-foreground": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-describe-item-title": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-describe-section-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-describe-subsection-title": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-enckey-00": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-enckey-01": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-enckey-10": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-enckey-11": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-palette-builtin-blue": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-palette-builtin-green": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-palette-builtin-orange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-palette-builtin-purple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-subtitle": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-header": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-subheader": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-outline": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-fixed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-preformatted": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-marked": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-strike-through": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "telega-webpage-chat-link": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-link-preview-sitename": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-link-preview-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "shr": { + "shr-h1": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.4 + }, + "shr-h2": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.2 + }, + "shr-h3": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-h4": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-h5": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-h6": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-text": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-link": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-selected-link": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-code": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-mark": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-strike-through": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "shr-sup": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-abbreviation": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-sliced-image": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "2048-game": { + "twentyfortyeight-face-1024": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-128": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-16": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-2048": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-256": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-32": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-4": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-512": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-64": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-8": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "alert": { + "alert-high-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-low-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-moderate-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-normal-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-trivial-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-urgent-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "all-the-icons": { + "all-the-icons-blue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-blue-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-cyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-cyan-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dblue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dcyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dgreen": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dmaroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dorange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dpink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dpurple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dred": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dsilver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dyellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-green": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lblue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lcyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lgreen": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lmaroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lorange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lpink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lpurple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lred": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lsilver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lyellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-maroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-orange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-pink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-purple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-purple-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-red": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-red-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-silver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-yellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "company": { + "company-echo": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-echo-common": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-preview": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-preview-common": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-preview-search": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-annotation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-annotation-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-common": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-common-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-deprecated": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-mouse": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-quick-access": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-quick-access-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-scrollbar-thumb": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-scrollbar-track": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-search": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-search-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "company-box": { + "company-box-annotation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-background": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-candidate": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-numbers": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-scrollbar": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "consult": { + "consult-async-failed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-async-finished": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-async-running": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-async-split": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-bookmark": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-buffer": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-file": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-grep-context": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-help": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-highlight-mark": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-highlight-match": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-line-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-line-number-prefix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-line-number-wrapped": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-narrow-indicator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-preview-insertion": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-preview-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-preview-match": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-separator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "embark": { + "embark-collect-annotation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-collect-candidate": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-collect-group-separator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-collect-group-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-keybinding": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-keybinding-repeat": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-keymap": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-selected": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-target": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-verbose-indicator-documentation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-verbose-indicator-shadowed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-verbose-indicator-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "emms": { + "emms-browser-album-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-albumartist-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-artist-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-composer-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-performer-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-track-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-year/genre-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-metaplaylist-mode-current-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-metaplaylist-mode-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-playlist-selected-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-playlist-track-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "flyspell-correct": { + "flyspell-correct-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "highlight-indent-guides": { + "highlight-indent-guides-character-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-even-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-odd-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-stack-character-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-stack-even-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-stack-odd-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-top-character-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-top-even-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-top-odd-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "hl-todo": { + "hl-todo": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "hl-todo-flymake-type": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "json-mode": { + "json-mode-object-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "llama": { + "llama-##-macro": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "llama-deleted-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "llama-llama-macro": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "llama-mandatory-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "llama-optional-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "lv": { + "lv-separator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "magit-section": { + "magit-left-margin": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-child-count": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-secondary-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "malyon": { + "malyon-face-bold": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "malyon-face-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "malyon-face-italic": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "malyon-face-plain": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "malyon-face-reverse": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "marginalia": { + "marginalia-archive": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-char": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-date": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-documentation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-name": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-owner": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-dir": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-exec": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-link": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-no": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-other": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-rare": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-read": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-write": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-function": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-installed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-lighter": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-list": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-mode": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-modified": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-null": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-off": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-on": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-size": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-string": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-symbol": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-true": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-type": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-value": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-version": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "markdown-mode": { + "markdown-blockquote-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-bold-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-code-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-footnote-marker-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-footnote-text-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-gfm-checkbox-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-delimiter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-1": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-3": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-4": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-5": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-6": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-rule-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-highlighting-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-hr-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-attr-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-attr-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-entity-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-tag-delimiter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-tag-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-inline-code-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-italic-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-language-info-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-language-keyword-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-line-break-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-link-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-link-title-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-list-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-markup-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-math-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-metadata-key-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-metadata-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-missing-link-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-plain-url-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-pre-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-reference-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-strike-through-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-table-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-url-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "nerd-icons": { + "nerd-icons-blue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-blue-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-cyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-cyan-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dblue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dcyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dgreen": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dmaroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dorange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dpink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dpurple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dred": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dsilver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dyellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-green": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lblue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lcyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lgreen": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lmaroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lorange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lpink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lpurple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lred": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lsilver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lyellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-maroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-orange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-pink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-purple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-purple-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-red": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-red-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-silver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-yellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "nerd-icons-completion": { + "nerd-icons-completion-dir-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "orderless": { + "orderless-match-face-0": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "orderless-match-face-1": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "orderless-match-face-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "orderless-match-face-3": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "org-roam": { + "org-roam-dailies-calendar-note": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-dim": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-header-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-olp": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-preview-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-preview-heading-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-preview-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-preview-region": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "org-superstar": { + "org-superstar-first": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-superstar-header-bullet": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-superstar-item": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-superstar-leading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "prescient": { + "prescient-primary-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "prescient-secondary-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "rainbow-delimiters": { + "rainbow-delimiters-base-error-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-base-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-1-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-2-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-3-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-4-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-5-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-6-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-7-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-8-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-9-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-mismatched-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-unmatched-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "symbol-overlay": { + "symbol-overlay-default-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-1": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-3": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-4": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-5": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-6": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-7": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-8": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "tmr": { + "tmr-description": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-duration": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-end-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-finished": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-is-acknowledged": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-must-be-acknowledged": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-start-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-acknowledgement": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-description": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-end-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-remaining-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-start-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "transient": { + "transient-active-infix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-delimiter": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-disabled-suffix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-enabled-suffix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-higher-level": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-inactive-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-inactive-value": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-inapt-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-inapt-suffix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-exit": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-noop": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-recurse": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-return": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-stack": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-stay": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-mismatched-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-nonstandard-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-unreachable": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-unreachable-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-value": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "vertico": { + "vertico-current": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "vertico-group-separator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "vertico-group-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "vertico-multiline": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "web-mode": { + "web-mode-annotation-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-annotation-html-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-annotation-tag-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-annotation-type-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-annotation-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-attr-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-attr-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-control-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-delimiter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-bold-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-builtin-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-comment-keyword-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-constant-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-at-rule-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-color-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-function-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-priority-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-property-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-pseudo-class-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-selector-class-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-selector-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-selector-tag-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-variable-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-current-column-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-current-element-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-doctype-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-error-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-filter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-folded-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-function-call-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-function-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-custom-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-engine-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-equal-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-entity-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-bracket-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-custom-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-namespaced-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-unclosed-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-inlay-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-interpolate-color1-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-interpolate-color2-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-interpolate-color3-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-interpolate-color4-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-italic-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-javascript-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-javascript-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-json-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-json-context-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-json-key-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-json-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-1-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-2-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-3-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-4-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-5-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-keyword-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-param-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-part-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-part-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-part-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-preprocessor-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-script-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-sql-keyword-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-style-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-symbol-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-type-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-underline-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-variable-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-warning-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-whitespace-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "yasnippet": { + "yas--field-debug-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "yas-field-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + } + } +}
\ No newline at end of file diff --git a/scripts/theme-studio/distinguished.json b/scripts/theme-studio/distinguished.json new file mode 100644 index 00000000..89490545 --- /dev/null +++ b/scripts/theme-studio/distinguished.json @@ -0,0 +1,227 @@ +{ + "name": "distinguished", + "palette": [ + [ + "#f0fef0", + "fg" + ], + [ + "#000000", + "bg" + ], + [ + "#151311", + "bg+0" + ], + [ + "#252321", + "bg+1" + ], + [ + "#474544", + "bg+2" + ], + [ + "#58574e", + "gray-2" + ], + [ + "#6c6a60", + "gray-1" + ], + [ + "#969385", + "gray" + ], + [ + "#b4b1a2", + "gray+1" + ], + [ + "#d0cbc0", + "gray+2" + ], + [ + "#8a9496", + "steel" + ], + [ + "#acb0b3", + "steel+1" + ], + [ + "#c0c7ca", + "steel+2" + ], + [ + "#67809c", + "blue" + ], + [ + "#b2c3cc", + "blue+1" + ], + [ + "#d9e2ff", + "blue+2" + ], + [ + "#646d14", + "green-2" + ], + [ + "#869038", + "green-1" + ], + [ + "#a4ac64", + "green" + ], + [ + "#ccc768", + "green+1" + ], + [ + "#3f1c0f", + "red-3" + ], + [ + "#7c2a09", + "red-2" + ], + [ + "#a7502d", + "red-1" + ], + [ + "#d47c59", + "red" + ], + [ + "#edb08f", + "red+1" + ], + [ + "#edbca2", + "red+2" + ], + [ + "#875f00", + "yellow-2" + ], + [ + "#ffd700", + "yellow-1" + ], + [ + "#d7af5f", + "yellow" + ], + [ + "#ffd75f", + "yellow+1" + ], + [ + "#f9ee98", + "yellow+2" + ], + [ + "#ff2a00", + "intense-red" + ] + ], + "assignments": { + "bg": "#000000", + "p": "#f0fef0", + "kw": "#67809c", + "bi": "#ffd75f", + "pp": "#acb0b3", + "fnd": "#d47c59", + "fnc": "", + "dec": "", + "ty": "#ccc768", + "prop": "", + "con": "#ffd75f", + "num": "", + "str": "#a4ac64", + "esc": "", + "re": "", + "doc": "#969385", + "cm": "#969385", + "cmd": "#474544", + "var": "#b2c3cc", + "op": "", + "punc": "" + }, + "bold": [ + "kw", + "bi", + "pp", + "fnd", + "ty", + "con" + ], + "italic": [ + "pp", + "cm", + "var" + ], + "ui": { + "cursor": { + "fg": null, + "bg": "#f0fef0" + }, + "region": { + "fg": null, + "bg": "#474544" + }, + "hl-line": { + "fg": null, + "bg": "#151311" + }, + "mode-line": { + "fg": "#d0cbc0", + "bg": "#474544" + }, + "mode-line-inactive": { + "fg": "#969385", + "bg": "#252321" + }, + "fringe": { + "fg": "#969385", + "bg": "#151311" + }, + "minibuffer-prompt": { + "fg": "#a4ac64", + "bg": null + }, + "isearch": { + "fg": "#f0fef0", + "bg": "#646d14" + }, + "lazy-highlight": { + "fg": "#000000", + "bg": "#ffd75f" + }, + "isearch-fail": { + "fg": "#f0fef0", + "bg": "#a7502d" + }, + "show-paren-match": { + "fg": "#f0fef0", + "bg": "#646d14" + }, + "show-paren-mismatch": { + "fg": "#f0fef0", + "bg": "#a7502d" + }, + "link": { + "fg": "#b2c3cc", + "bg": null + }, + "vertical-border": { + "fg": "#474544", + "bg": null + } + } +}
\ No newline at end of file diff --git a/scripts/theme-studio/dupre-rebuild.json b/scripts/theme-studio/dupre-rebuild.json new file mode 100644 index 00000000..513d0e10 --- /dev/null +++ b/scripts/theme-studio/dupre-rebuild.json @@ -0,0 +1,54 @@ +{ + "name": "dupre-rebuild", + "palette": [ + [ + "#000F08", + "onyx" + ], + [ + "#00080F", + "cyan-black" + ], + [ + "#030b18", + "blue-black" + ], + [ + "#010b1b", + "blue-black2" + ], + [ + "#020d20", + "navy" + ], + [ + "#67809c", + "dupre-blue" + ] + ], + "assignments": { + "p": "#cdced1", + "kw": "#cdced1", + "bi": "#cdced1", + "pp": "#cdced1", + "fnd": "#cdced1", + "fnc": "#cdced1", + "dec": "#cdced1", + "ty": "#cdced1", + "prop": "#cdced1", + "con": "#cdced1", + "num": "#cdced1", + "str": "#cdced1", + "esc": "#cdced1", + "re": "#cdced1", + "doc": "#cdced1", + "cm": "#cdced1", + "cmd": "#cdced1", + "var": "#cdced1", + "op": "#cdced1", + "punc": "#cdced1", + "bg": "#000F08" + }, + "bold": [], + "italic": [] +}
\ No newline at end of file diff --git a/scripts/theme-studio/dupre-revised.json b/scripts/theme-studio/dupre-revised.json new file mode 100644 index 00000000..dfdbe03a --- /dev/null +++ b/scripts/theme-studio/dupre-revised.json @@ -0,0 +1,10396 @@ +{ + "name": "theme", + "palette": [ + [ + "#67809c", + "blue" + ], + [ + "#e8bd30", + "gold" + ], + [ + "#9b5fd0", + "regal" + ], + [ + "#5d9b86", + "sage" + ], + [ + "#cb6b4d", + "terracotta" + ], + [ + "#998162", + "tan" + ], + [ + "#ffffff", + "white" + ], + [ + "#a9b2bb", + "silver" + ], + [ + "#838d97", + "steel" + ], + [ + "#5e6770", + "pewter" + ], + [ + "#2f343a", + "gunmetal" + ], + [ + "#264364", + "navy" + ], + [ + "#000000", + "ground" + ], + [ + "#1a1714", + "bg-dim" + ] + ], + "assignments": { + "bg": "#000000", + "p": "#ffffff", + "kw": "#67809c", + "bi": "#67809c", + "pp": "#67809c", + "fnd": "#a9b2bb", + "fnc": "#a9b2bb", + "dec": "#e8bd30", + "ty": "#9b5fd0", + "prop": "#838d97", + "con": "#cb6b4d", + "num": "#cb6b4d", + "str": "#5d9b86", + "esc": "#cb6b4d", + "re": "#5d9b86", + "doc": "#5d9b86", + "cm": "#998162", + "cmd": "#998162", + "var": "#e8bd30", + "op": "#a9b2bb", + "punc": "#a9b2bb" + }, + "bold": [ + "kw", + "fnd" + ], + "italic": [], + "ui": { + "cursor": { + "fg": null, + "bg": "#a9b2bb" + }, + "region": { + "fg": null, + "bg": "#264364" + }, + "hl-line": { + "fg": null, + "bg": "#1a1714" + }, + "highlight": { + "fg": null, + "bg": "#2f343a" + }, + "mode-line": { + "fg": "#cdced1", + "bg": "#2f343a" + }, + "mode-line-inactive": { + "fg": "#838d97", + "bg": "#1a1714" + }, + "fringe": { + "fg": null, + "bg": "#0d0b0a" + }, + "line-number": { + "fg": "#5e6770", + "bg": null + }, + "line-number-current-line": { + "fg": "#e8bd30", + "bg": "#1a1714" + }, + "minibuffer-prompt": { + "fg": "#67809c", + "bg": null + }, + "isearch": { + "fg": "#0d0b0a", + "bg": "#e8bd30" + }, + "lazy-highlight": { + "fg": "#0d0b0a", + "bg": "#838d97" + }, + "isearch-fail": { + "fg": "#cb6b4d", + "bg": null + }, + "show-paren-match": { + "fg": null, + "bg": "#264364" + }, + "show-paren-mismatch": { + "fg": "#0d0b0a", + "bg": "#cb6b4d" + }, + "link": { + "fg": "#67809c", + "bg": null, + "underline": true + }, + "error": { + "fg": "#cb6b4d", + "bg": null + }, + "warning": { + "fg": "#e8bd30", + "bg": null + }, + "success": { + "fg": "#5d9b86", + "bg": null + }, + "vertical-border": { + "fg": "#2f343a", + "bg": null + } + }, + "packages": { + "org-mode": { + "org-document-title": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.5 + }, + "org-document-info": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-document-info-keyword": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-level-1": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.3 + }, + "org-level-2": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.2 + }, + "org-level-3": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.15 + }, + "org-level-4": { + "fg": "#2ba178", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.1 + }, + "org-level-5": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-level-6": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-level-7": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-level-8": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-headline-todo": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-headline-done": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-todo": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-done": { + "fg": "#5d9b86", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-priority": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-tag": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-tag-group": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-special-keyword": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-drawer": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-property-value": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-checkbox": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-checkbox-statistics-todo": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-checkbox-statistics-done": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-warning": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-link": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-footnote": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-date": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-sexp-date": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-date-selected": { + "fg": "#000000", + "bg": "#e8bd30", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-target": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-macro": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-cite": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-cite-key": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-block": { + "fg": "#ffffff", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "user" + }, + "org-block-begin-line": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "user" + }, + "org-block-end-line": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "user" + }, + "org-code": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-verbatim": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-inline-src-block": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-quote": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-verse": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-latex-and-related": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-table": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-table-header": { + "fg": "#ffffff", + "bg": "#2f343a", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-table-row": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-formula": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-column": { + "fg": null, + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-column-title": { + "fg": "#ffffff", + "bg": "#2f343a", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-list-dt": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-meta-line": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-ellipsis": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-hide": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-indent": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-archived": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-default": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-dispatcher-highlight": { + "fg": "#e8bd30", + "bg": "#264364", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-structure": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.1 + }, + "org-agenda-structure-secondary": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-structure-filter": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-date": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.05 + }, + "org-agenda-date-today": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.05 + }, + "org-agenda-date-weekend": { + "fg": "#838d97", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-date-weekend-today": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-current-time": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-done": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-dimmed-todo-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-calendar-event": { + "fg": "#ffffff", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-calendar-sexp": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-calendar-daterange": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-diary": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-clocking": { + "fg": null, + "bg": "#264364", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-column-dateline": { + "fg": null, + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-restriction-lock": { + "fg": null, + "bg": "#cb6b4d", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-filter-category": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-filter-effort": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-filter-regexp": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-filter-tags": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-scheduled": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-scheduled-today": { + "fg": "#5d9b86", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-scheduled-previously": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-upcoming-deadline": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-upcoming-distant-deadline": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-imminent-deadline": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-time-grid": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-clock-overlay": { + "fg": null, + "bg": "#264364", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-mode-line-clock": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-mode-line-clock-overrun": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "magit": { + "magit-section-heading": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-secondary-heading": { + "fg": "#998162", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-heading-selection": { + "fg": "#e8bd30", + "bg": "#264364", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-highlight": { + "fg": null, + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-child-count": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-added": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-added-highlight": { + "fg": "#5d9b86", + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-removed": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-removed-highlight": { + "fg": "#cb6b4d", + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-context": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-context-highlight": { + "fg": "#a9b2bb", + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-file-heading": { + "fg": "#ffffff", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-file-heading-highlight": { + "fg": "#ffffff", + "bg": "#1a1714", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-file-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-hunk-heading": { + "fg": "#838d97", + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-hunk-heading-highlight": { + "fg": "#ffffff", + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-hunk-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-hunk-region": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-lines-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-lines-boundary": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-base": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-base-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-our": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-our-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-their": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-their-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-conflict-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-conflict-heading-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-revision-summary": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-revision-summary-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-whitespace-warning": { + "fg": null, + "bg": "#cb6b4d", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diffstat-added": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diffstat-removed": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-current": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-local": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-remote": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-remote-head": { + "fg": "#5d9b86", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-upstream": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-warning": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-head": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-tag": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-hash": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-filename": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-dimmed": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-keyword": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-keyword-squash": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-refname": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-refname-stash": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-refname-wip": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-refname-pullreq": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-log-author": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-log-date": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-log-graph": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-header-line": { + "fg": "#ffffff", + "bg": "#2f343a", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-header-line-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-header-line-log-select": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-process-ok": { + "fg": "#5d9b86", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-process-ng": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-mode-line-process": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-mode-line-process-error": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-bisect-good": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-bisect-bad": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-bisect-skip": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-heading": { + "fg": "#838d97", + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-hash": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-name": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-date": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-summary": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-dimmed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-margin": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-cherry-equivalent": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-cherry-unmatched": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-good": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-bad": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-untrusted": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-expired": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-expired-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-revoked": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-commit": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-amend": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-merge": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-checkout": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-reset": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-rebase": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-cherry-pick": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-remote": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-other": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-pick": { + "fg": "#ffffff", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-stop": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-part": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-head": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-drop": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-done": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-onto": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-exec": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-left-margin": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "elfeed": { + "elfeed-search-date-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-title-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-unread-title-face": { + "fg": "#ffffff", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-feed-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-tag-face": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-unread-count-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-filter-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-last-update-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-date-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-error-level-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-warn-level-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-info-level-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-debug-level-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "mu4e": { + "mu4e-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-context-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-modeline-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-ok-face": { + "fg": "#5d9b86", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-warning-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-key-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-value-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-face": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-highlight-face": { + "fg": null, + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-marks-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-unread-face": { + "fg": "#ffffff", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-flagged-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-replied-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-forwarded-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-draft-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-trashed-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "mu4e-moved-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-related-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-contact-face": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-special-header-value-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-attach-number-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-url-number-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-link-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-1-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-2-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-3-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-4-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-5-face": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-6-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-7-face": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-footer-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-region-code": { + "fg": null, + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-system-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-highlight-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-compose-header-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-compose-separator-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "ghostel": { + "ghostel-default": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-fake-cursor": { + "fg": "#000000", + "bg": "#a9b2bb", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-fake-cursor-box": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-black": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-red": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-green": { + "fg": "#2ba178", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-yellow": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-blue": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-magenta": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-cyan": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-white": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-black": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-red": { + "fg": "#de4949", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-green": { + "fg": "#84b068", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-yellow": { + "fg": "#eed376", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-blue": { + "fg": "#7a9abe", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-magenta": { + "fg": "#b07fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-cyan": { + "fg": "#7fc0a8", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-white": { + "fg": "#ffffff", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "dashboard": { + "dashboard-banner-logo-title": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-text-banner": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-heading": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-items-face": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-navigator": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-no-items-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-footer-face": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-footer-icon-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "lsp-mode": { + "lsp-signature-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-signature-highlight-function-argument": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-signature-posframe": { + "fg": null, + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-face-highlight-read": { + "fg": null, + "bg": "#264364", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-face-highlight-write": { + "fg": null, + "bg": "#3d2f4a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-face-highlight-textual": { + "fg": null, + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-face-rename": { + "fg": null, + "bg": "#2f343a", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-rename-placeholder-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-inlay-hint-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-inlay-hint-parameter-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-inlay-hint-type-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-details-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-installation-buffer-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-installation-finished-buffer-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "git-gutter": { + "git-gutter:added": { + "fg": "#2ba178", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "git-gutter:modified": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "git-gutter:deleted": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "git-gutter:unchanged": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "git-gutter:separator": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "flycheck": { + "flycheck-error": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-warning": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-info": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-fringe-error": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-fringe-warning": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-fringe-info": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-delimited-error": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-delimiter": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-error": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-warning": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-info": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-error-message": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-checker-name": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-column-number": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-line-number": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-filename": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-id": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-id-with-explainer": { + "fg": "#838d97", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-highlight": { + "fg": null, + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-verify-select-checker": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "dired": { + "dired-header": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-directory": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-symlink": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-broken-symlink": { + "fg": "#de4949", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-special": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-set-id": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-perm-write": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-mark": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-marked": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-flagged": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-ignored": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-warning": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "dirvish": { + "dirvish-inactive": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-free-space": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-hl-line": { + "fg": null, + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-hl-line-inactive": { + "fg": null, + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-modes": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-link-number": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-user-id": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-group-id": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-size": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-time": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-inode-number": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-device-number": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-subtree-guide": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-subtree-state": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-collapse-dir-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-collapse-empty-dir-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-collapse-file-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-emerge-group-title": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-media-info-heading": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-media-info-property-key": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-match-face-0": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-match-face-1": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-match-face-2": { + "fg": "#2ba178", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-match-face-3": { + "fg": "#9b5fd0", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-split": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-proc-running": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-proc-finished": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-proc-failed": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-git-commit-message-face": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-added-state": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-edited-state": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-removed-state": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-conflict-state": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-locked-state": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-missing-state": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-needs-merge-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-needs-update-state": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-unregistered-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "calibredb": { + "calibredb-search-header-library-name-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-library-path-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-total-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-filter-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-sort-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-highlight-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-id-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-author-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-format-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-size-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-tag-face": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-date-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-mark-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-series-face": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-publisher-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-pubdate-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-language-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-comment-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-archive-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-favorite-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-file-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-ids-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-highlight-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-current-page-button-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-mouse-face": { + "fg": null, + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-title-detailed-view-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-edit-annotation-header-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "erc": { + "erc-header-line": { + "fg": "#ffffff", + "bg": "#2f343a", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-timestamp-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-notice-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-default-face": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-current-nick-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-my-nick-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-my-nick-prefix-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-nick-default-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-nick-prefix-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-button-nick-default-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-nick-msg-face": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-direct-msg-face": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-action-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-keyword-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-pal-face": { + "fg": "#2ba178", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-fool-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-dangerous-host-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-error-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-input-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-prompt-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-command-indicator-face": { + "fg": "#838d97", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-information": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-button": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-bold-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-italic-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-underline-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-inverse-face": { + "fg": "#000000", + "bg": "#a9b2bb", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-spoiler-face": { + "fg": "#000000", + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-fill-wrap-merge-indicator-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-keep-place-indicator-arrow": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-keep-place-indicator-line": { + "fg": null, + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "org-drill": { + "org-drill-hidden-cloze-face": { + "fg": "#000000", + "bg": "#838d97", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-drill-visible-cloze-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-drill-visible-cloze-hint-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "org-noter": { + "org-noter-notes-exist-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-noter-no-notes-exist-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "signel": { + "signel-timestamp-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "signel-my-msg-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "signel-other-msg-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "signel-error-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "pearl": { + "pearl-preamble-summary": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-editable-comment": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-readonly-comment": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-modified-highlight": { + "fg": null, + "bg": "#264364", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-modified-local": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-modified-unknown": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "slack": { + "slack-room-info-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-room-info-title-room-name-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-room-info-section-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-room-info-section-label-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-room-unread-face": { + "fg": "#ffffff", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-output-header": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-output-text": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-output-reaction": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-output-reaction-pressed": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-deleted-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-new-message-marker-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-all-thread-buffer-thread-header-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-mention-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-mention-me-face": { + "fg": "#e8bd30", + "bg": "#264364", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-mention-keyword-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-channel-button-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-bold-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-italic-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-code-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-code-block-face": { + "fg": "#cb6b4d", + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-strike-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-blockquote-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-list-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-attachment-header": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-attachment-footer": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-attachment-pad": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-attachment-field-title": { + "fg": "#838d97", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-attachment-preview-header-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-preview-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-block-highlight-source-overlay-face": { + "fg": null, + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-action-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-action-primary-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-action-danger-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-button-block-element-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-button-primary-block-element-face": { + "fg": "#5d9b86", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-button-danger-block-element-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-select-block-element-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-overflow-block-element-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-date-picker-block-element-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-element-label-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-element-hint-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-element-placeholder-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-element-error-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-submit-button-face": { + "fg": "#5d9b86", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-cancel-button-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-select-element-input-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-user-active-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-user-dnd-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-user-profile-header-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-user-profile-property-name-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-profile-image-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-search-result-message-header-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-search-result-message-username-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-modeline-has-unreads-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-modeline-channel-has-unreads-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-modeline-thread-has-unreads-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "telega": { + "telega-root-heading": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-tracking": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-unread-unmuted-modeline": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-username": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-user-online-status": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-user-non-online-status": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-secret-title": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-contact-birthdays-today": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-muted-count": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-unmuted-count": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-mention-count": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-has-chatbuf-brackets": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-delim-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-shadow": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-link": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-blue": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-red": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-heading": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-user-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-self-title": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-deleted": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-sponsored": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-inline-reply": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-inline-forward": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-inline-other": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-bold": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-italic": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-underline": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-strikethrough": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "telega-entity-type-code": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-pre": { + "fg": "#cb6b4d", + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-blockquote": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-mention": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-hashtag": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-cashtag": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-botcommand": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-texturl": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-spoiler": { + "fg": "#2f343a", + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-reaction": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-reaction-chosen": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-reaction-paid": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-reaction-paid-chosen": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-highlight-text-face": { + "fg": "#000000", + "bg": "#e8bd30", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-button-highlight": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-chat-prompt": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-chat-prompt-aux": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-chat-input-attachment": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-topic-button": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-filter-active": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-filter-button-active": { + "fg": "#000000", + "bg": "#e8bd30", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-filter-button-inactive": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-checklist-stats-done": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-checklist-stats-todo": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-active": { + "fg": "#000000", + "bg": "#67809c", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-default-active": { + "fg": "#000000", + "bg": "#a9b2bb", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-default-passive": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-primary-active": { + "fg": "#000000", + "bg": "#67809c", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-primary-passive": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-success-active": { + "fg": "#000000", + "bg": "#2ba178", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-success-passive": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-danger-active": { + "fg": "#000000", + "bg": "#cb6b4d", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-danger-passive": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-ui-active": { + "fg": "#000000", + "bg": "#e8bd30", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-ui-passive": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button2-active": { + "fg": "#000000", + "bg": "#67809c", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button2-passive": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button2-white-foreground": { + "fg": "#ffffff", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-describe-item-title": { + "fg": "#838d97", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-describe-section-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-describe-subsection-title": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-enckey-00": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-enckey-01": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-enckey-10": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-enckey-11": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-palette-builtin-blue": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-palette-builtin-green": { + "fg": "#2ba178", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-palette-builtin-orange": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-palette-builtin-purple": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-subtitle": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-header": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-subheader": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-outline": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-fixed": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-preformatted": { + "fg": "#cb6b4d", + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-marked": { + "fg": "#000000", + "bg": "#e8bd30", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-strike-through": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "telega-webpage-chat-link": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-link-preview-sitename": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-link-preview-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "shr": { + "shr-h1": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.4 + }, + "shr-h2": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.2 + }, + "shr-h3": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-h4": { + "fg": "#a9b2bb", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-h5": { + "fg": "#838d97", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-h6": { + "fg": "#5e6770", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-text": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-link": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-selected-link": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-code": { + "fg": "#cb6b4d", + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-mark": { + "fg": "#000000", + "bg": "#e8bd30", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-strike-through": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "shr-sup": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-abbreviation": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-sliced-image": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "2048-game": { + "twentyfortyeight-face-1024": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-128": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-16": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-2048": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-256": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-32": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-4": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-512": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-64": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-8": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "alert": { + "alert-high-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-low-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-moderate-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-normal-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-trivial-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-urgent-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "all-the-icons": { + "all-the-icons-blue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-blue-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-cyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-cyan-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dblue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dcyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dgreen": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dmaroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dorange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dpink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dpurple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dred": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dsilver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dyellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-green": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lblue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lcyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lgreen": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lmaroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lorange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lpink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lpurple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lred": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lsilver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lyellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-maroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-orange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-pink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-purple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-purple-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-red": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-red-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-silver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-yellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "company": { + "company-echo": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-echo-common": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-preview": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-preview-common": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-preview-search": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-annotation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-annotation-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-common": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-common-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-deprecated": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-mouse": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-quick-access": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-quick-access-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-scrollbar-thumb": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-scrollbar-track": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-search": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-search-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "company-box": { + "company-box-annotation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-background": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-candidate": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-numbers": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-scrollbar": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "consult": { + "consult-async-failed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-async-finished": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-async-running": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-async-split": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-bookmark": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-buffer": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-file": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-grep-context": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-help": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-highlight-mark": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-highlight-match": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-line-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-line-number-prefix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-line-number-wrapped": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-narrow-indicator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-preview-insertion": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-preview-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-preview-match": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-separator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "embark": { + "embark-collect-annotation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-collect-candidate": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-collect-group-separator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-collect-group-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-keybinding": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-keybinding-repeat": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-keymap": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-selected": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-target": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-verbose-indicator-documentation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-verbose-indicator-shadowed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-verbose-indicator-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "emms": { + "emms-browser-album-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-albumartist-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-artist-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-composer-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-performer-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-track-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-year/genre-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-metaplaylist-mode-current-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-metaplaylist-mode-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-playlist-selected-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-playlist-track-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "flyspell-correct": { + "flyspell-correct-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "highlight-indent-guides": { + "highlight-indent-guides-character-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-even-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-odd-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-stack-character-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-stack-even-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-stack-odd-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-top-character-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-top-even-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-top-odd-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "hl-todo": { + "hl-todo": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "hl-todo-flymake-type": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "json-mode": { + "json-mode-object-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "llama": { + "llama-##-macro": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "llama-deleted-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "llama-llama-macro": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "llama-mandatory-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "llama-optional-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "lv": { + "lv-separator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "magit-section": { + "magit-left-margin": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-child-count": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-secondary-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "malyon": { + "malyon-face-bold": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "malyon-face-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "malyon-face-italic": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "malyon-face-plain": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "malyon-face-reverse": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "marginalia": { + "marginalia-archive": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-char": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-date": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-documentation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-name": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-owner": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-dir": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-exec": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-link": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-no": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-other": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-rare": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-read": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-write": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-function": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-installed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-lighter": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-list": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-mode": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-modified": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-null": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-off": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-on": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-size": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-string": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-symbol": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-true": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-type": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-value": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-version": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "markdown-mode": { + "markdown-blockquote-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-bold-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-code-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-footnote-marker-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-footnote-text-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-gfm-checkbox-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-delimiter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-1": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-3": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-4": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-5": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-6": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-rule-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-highlighting-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-hr-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-attr-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-attr-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-entity-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-tag-delimiter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-tag-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-inline-code-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-italic-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-language-info-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-language-keyword-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-line-break-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-link-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-link-title-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-list-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-markup-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-math-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-metadata-key-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-metadata-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-missing-link-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-plain-url-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-pre-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-reference-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-strike-through-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-table-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-url-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "nerd-icons": { + "nerd-icons-blue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-blue-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-cyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-cyan-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dblue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dcyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dgreen": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dmaroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dorange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dpink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dpurple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dred": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dsilver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dyellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-green": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lblue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lcyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lgreen": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lmaroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lorange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lpink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lpurple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lred": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lsilver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lyellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-maroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-orange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-pink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-purple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-purple-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-red": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-red-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-silver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-yellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "nerd-icons-completion": { + "nerd-icons-completion-dir-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "orderless": { + "orderless-match-face-0": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "orderless-match-face-1": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "orderless-match-face-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "orderless-match-face-3": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "org-roam": { + "org-roam-dailies-calendar-note": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-dim": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-header-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-olp": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-preview-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-preview-heading-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-preview-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-preview-region": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "org-superstar": { + "org-superstar-first": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-superstar-header-bullet": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-superstar-item": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-superstar-leading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "prescient": { + "prescient-primary-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "prescient-secondary-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "rainbow-delimiters": { + "rainbow-delimiters-base-error-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-base-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-1-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-2-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-3-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-4-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-5-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-6-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-7-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-8-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-9-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-mismatched-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-unmatched-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "symbol-overlay": { + "symbol-overlay-default-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-1": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-3": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-4": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-5": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-6": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-7": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-8": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "tmr": { + "tmr-description": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-duration": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-end-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-finished": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-is-acknowledged": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-must-be-acknowledged": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-start-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-acknowledgement": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-description": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-end-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-remaining-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-start-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "transient": { + "transient-active-infix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-delimiter": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-disabled-suffix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-enabled-suffix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-higher-level": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-inactive-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-inactive-value": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-inapt-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-inapt-suffix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-exit": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-noop": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-recurse": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-return": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-stack": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-stay": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-mismatched-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-nonstandard-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-unreachable": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-unreachable-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-value": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "vertico": { + "vertico-current": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "vertico-group-separator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "vertico-group-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "vertico-multiline": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "web-mode": { + "web-mode-annotation-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-annotation-html-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-annotation-tag-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-annotation-type-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-annotation-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-attr-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-attr-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-control-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-delimiter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-bold-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-builtin-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-comment-keyword-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-constant-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-at-rule-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-color-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-function-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-priority-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-property-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-pseudo-class-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-selector-class-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-selector-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-selector-tag-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-variable-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-current-column-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-current-element-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-doctype-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-error-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-filter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-folded-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-function-call-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-function-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-custom-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-engine-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-equal-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-entity-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-bracket-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-custom-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-namespaced-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-unclosed-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-inlay-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-interpolate-color1-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-interpolate-color2-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-interpolate-color3-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-interpolate-color4-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-italic-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-javascript-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-javascript-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-json-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-json-context-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-json-key-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-json-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-1-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-2-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-3-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-4-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-5-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-keyword-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-param-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-part-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-part-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-part-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-preprocessor-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-script-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-sql-keyword-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-style-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-symbol-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-type-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-underline-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-variable-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-warning-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-whitespace-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "yasnippet": { + "yas--field-debug-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "yas-field-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + } + } +}
\ No newline at end of file diff --git a/scripts/theme-studio/dupre.json b/scripts/theme-studio/dupre.json new file mode 100644 index 00000000..dfdbe03a --- /dev/null +++ b/scripts/theme-studio/dupre.json @@ -0,0 +1,10396 @@ +{ + "name": "theme", + "palette": [ + [ + "#67809c", + "blue" + ], + [ + "#e8bd30", + "gold" + ], + [ + "#9b5fd0", + "regal" + ], + [ + "#5d9b86", + "sage" + ], + [ + "#cb6b4d", + "terracotta" + ], + [ + "#998162", + "tan" + ], + [ + "#ffffff", + "white" + ], + [ + "#a9b2bb", + "silver" + ], + [ + "#838d97", + "steel" + ], + [ + "#5e6770", + "pewter" + ], + [ + "#2f343a", + "gunmetal" + ], + [ + "#264364", + "navy" + ], + [ + "#000000", + "ground" + ], + [ + "#1a1714", + "bg-dim" + ] + ], + "assignments": { + "bg": "#000000", + "p": "#ffffff", + "kw": "#67809c", + "bi": "#67809c", + "pp": "#67809c", + "fnd": "#a9b2bb", + "fnc": "#a9b2bb", + "dec": "#e8bd30", + "ty": "#9b5fd0", + "prop": "#838d97", + "con": "#cb6b4d", + "num": "#cb6b4d", + "str": "#5d9b86", + "esc": "#cb6b4d", + "re": "#5d9b86", + "doc": "#5d9b86", + "cm": "#998162", + "cmd": "#998162", + "var": "#e8bd30", + "op": "#a9b2bb", + "punc": "#a9b2bb" + }, + "bold": [ + "kw", + "fnd" + ], + "italic": [], + "ui": { + "cursor": { + "fg": null, + "bg": "#a9b2bb" + }, + "region": { + "fg": null, + "bg": "#264364" + }, + "hl-line": { + "fg": null, + "bg": "#1a1714" + }, + "highlight": { + "fg": null, + "bg": "#2f343a" + }, + "mode-line": { + "fg": "#cdced1", + "bg": "#2f343a" + }, + "mode-line-inactive": { + "fg": "#838d97", + "bg": "#1a1714" + }, + "fringe": { + "fg": null, + "bg": "#0d0b0a" + }, + "line-number": { + "fg": "#5e6770", + "bg": null + }, + "line-number-current-line": { + "fg": "#e8bd30", + "bg": "#1a1714" + }, + "minibuffer-prompt": { + "fg": "#67809c", + "bg": null + }, + "isearch": { + "fg": "#0d0b0a", + "bg": "#e8bd30" + }, + "lazy-highlight": { + "fg": "#0d0b0a", + "bg": "#838d97" + }, + "isearch-fail": { + "fg": "#cb6b4d", + "bg": null + }, + "show-paren-match": { + "fg": null, + "bg": "#264364" + }, + "show-paren-mismatch": { + "fg": "#0d0b0a", + "bg": "#cb6b4d" + }, + "link": { + "fg": "#67809c", + "bg": null, + "underline": true + }, + "error": { + "fg": "#cb6b4d", + "bg": null + }, + "warning": { + "fg": "#e8bd30", + "bg": null + }, + "success": { + "fg": "#5d9b86", + "bg": null + }, + "vertical-border": { + "fg": "#2f343a", + "bg": null + } + }, + "packages": { + "org-mode": { + "org-document-title": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.5 + }, + "org-document-info": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-document-info-keyword": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-level-1": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.3 + }, + "org-level-2": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.2 + }, + "org-level-3": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.15 + }, + "org-level-4": { + "fg": "#2ba178", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.1 + }, + "org-level-5": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-level-6": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-level-7": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-level-8": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-headline-todo": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-headline-done": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-todo": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-done": { + "fg": "#5d9b86", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-priority": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-tag": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-tag-group": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-special-keyword": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-drawer": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-property-value": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-checkbox": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-checkbox-statistics-todo": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-checkbox-statistics-done": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-warning": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-link": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-footnote": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-date": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-sexp-date": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-date-selected": { + "fg": "#000000", + "bg": "#e8bd30", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-target": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-macro": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-cite": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-cite-key": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-block": { + "fg": "#ffffff", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "user" + }, + "org-block-begin-line": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "user" + }, + "org-block-end-line": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "user" + }, + "org-code": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-verbatim": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-inline-src-block": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-quote": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-verse": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-latex-and-related": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-table": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-table-header": { + "fg": "#ffffff", + "bg": "#2f343a", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-table-row": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-formula": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-column": { + "fg": null, + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-column-title": { + "fg": "#ffffff", + "bg": "#2f343a", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-list-dt": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-meta-line": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-ellipsis": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-hide": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-indent": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-archived": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-default": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-dispatcher-highlight": { + "fg": "#e8bd30", + "bg": "#264364", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-structure": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.1 + }, + "org-agenda-structure-secondary": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-structure-filter": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-date": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.05 + }, + "org-agenda-date-today": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.05 + }, + "org-agenda-date-weekend": { + "fg": "#838d97", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-date-weekend-today": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-current-time": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-done": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-dimmed-todo-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-calendar-event": { + "fg": "#ffffff", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-calendar-sexp": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-calendar-daterange": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-diary": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-clocking": { + "fg": null, + "bg": "#264364", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-column-dateline": { + "fg": null, + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-restriction-lock": { + "fg": null, + "bg": "#cb6b4d", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-filter-category": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-filter-effort": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-filter-regexp": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-filter-tags": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-scheduled": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-scheduled-today": { + "fg": "#5d9b86", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-scheduled-previously": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-upcoming-deadline": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-upcoming-distant-deadline": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-imminent-deadline": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-time-grid": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-clock-overlay": { + "fg": null, + "bg": "#264364", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-mode-line-clock": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-mode-line-clock-overrun": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "magit": { + "magit-section-heading": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-secondary-heading": { + "fg": "#998162", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-heading-selection": { + "fg": "#e8bd30", + "bg": "#264364", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-highlight": { + "fg": null, + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-child-count": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-added": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-added-highlight": { + "fg": "#5d9b86", + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-removed": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-removed-highlight": { + "fg": "#cb6b4d", + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-context": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-context-highlight": { + "fg": "#a9b2bb", + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-file-heading": { + "fg": "#ffffff", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-file-heading-highlight": { + "fg": "#ffffff", + "bg": "#1a1714", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-file-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-hunk-heading": { + "fg": "#838d97", + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-hunk-heading-highlight": { + "fg": "#ffffff", + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-hunk-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-hunk-region": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-lines-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-lines-boundary": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-base": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-base-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-our": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-our-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-their": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-their-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-conflict-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-conflict-heading-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-revision-summary": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-revision-summary-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-whitespace-warning": { + "fg": null, + "bg": "#cb6b4d", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diffstat-added": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diffstat-removed": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-current": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-local": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-remote": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-remote-head": { + "fg": "#5d9b86", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-upstream": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-warning": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-head": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-tag": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-hash": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-filename": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-dimmed": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-keyword": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-keyword-squash": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-refname": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-refname-stash": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-refname-wip": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-refname-pullreq": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-log-author": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-log-date": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-log-graph": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-header-line": { + "fg": "#ffffff", + "bg": "#2f343a", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-header-line-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-header-line-log-select": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-process-ok": { + "fg": "#5d9b86", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-process-ng": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-mode-line-process": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-mode-line-process-error": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-bisect-good": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-bisect-bad": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-bisect-skip": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-heading": { + "fg": "#838d97", + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-hash": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-name": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-date": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-summary": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-dimmed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-margin": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-cherry-equivalent": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-cherry-unmatched": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-good": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-bad": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-untrusted": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-expired": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-expired-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-revoked": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-commit": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-amend": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-merge": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-checkout": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-reset": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-rebase": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-cherry-pick": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-remote": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-other": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-pick": { + "fg": "#ffffff", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-stop": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-part": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-head": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-drop": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-done": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-onto": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-exec": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-left-margin": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "elfeed": { + "elfeed-search-date-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-title-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-unread-title-face": { + "fg": "#ffffff", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-feed-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-tag-face": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-unread-count-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-filter-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-last-update-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-date-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-error-level-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-warn-level-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-info-level-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-debug-level-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "mu4e": { + "mu4e-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-context-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-modeline-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-ok-face": { + "fg": "#5d9b86", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-warning-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-key-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-value-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-face": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-highlight-face": { + "fg": null, + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-marks-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-unread-face": { + "fg": "#ffffff", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-flagged-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-replied-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-forwarded-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-draft-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-trashed-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "mu4e-moved-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-related-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-contact-face": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-special-header-value-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-attach-number-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-url-number-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-link-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-1-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-2-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-3-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-4-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-5-face": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-6-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-cited-7-face": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-footer-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-region-code": { + "fg": null, + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-system-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-highlight-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-compose-header-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-compose-separator-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "ghostel": { + "ghostel-default": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-fake-cursor": { + "fg": "#000000", + "bg": "#a9b2bb", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-fake-cursor-box": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-black": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-red": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-green": { + "fg": "#2ba178", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-yellow": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-blue": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-magenta": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-cyan": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-white": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-black": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-red": { + "fg": "#de4949", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-green": { + "fg": "#84b068", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-yellow": { + "fg": "#eed376", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-blue": { + "fg": "#7a9abe", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-magenta": { + "fg": "#b07fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-cyan": { + "fg": "#7fc0a8", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-white": { + "fg": "#ffffff", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "dashboard": { + "dashboard-banner-logo-title": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-text-banner": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-heading": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-items-face": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-navigator": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-no-items-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-footer-face": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-footer-icon-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "lsp-mode": { + "lsp-signature-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-signature-highlight-function-argument": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-signature-posframe": { + "fg": null, + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-face-highlight-read": { + "fg": null, + "bg": "#264364", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-face-highlight-write": { + "fg": null, + "bg": "#3d2f4a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-face-highlight-textual": { + "fg": null, + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-face-rename": { + "fg": null, + "bg": "#2f343a", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-rename-placeholder-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-inlay-hint-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-inlay-hint-parameter-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-inlay-hint-type-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-details-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-installation-buffer-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-installation-finished-buffer-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "git-gutter": { + "git-gutter:added": { + "fg": "#2ba178", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "git-gutter:modified": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "git-gutter:deleted": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "git-gutter:unchanged": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "git-gutter:separator": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "flycheck": { + "flycheck-error": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-warning": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-info": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-fringe-error": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-fringe-warning": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-fringe-info": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-delimited-error": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-delimiter": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-error": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-warning": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-info": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-error-message": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-checker-name": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-column-number": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-line-number": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-filename": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-id": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-id-with-explainer": { + "fg": "#838d97", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-highlight": { + "fg": null, + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-verify-select-checker": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "dired": { + "dired-header": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-directory": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-symlink": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-broken-symlink": { + "fg": "#de4949", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-special": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-set-id": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-perm-write": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-mark": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-marked": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-flagged": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-ignored": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-warning": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "dirvish": { + "dirvish-inactive": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-free-space": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-hl-line": { + "fg": null, + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-hl-line-inactive": { + "fg": null, + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-modes": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-link-number": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-user-id": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-group-id": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-size": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-time": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-inode-number": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-device-number": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-subtree-guide": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-subtree-state": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-collapse-dir-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-collapse-empty-dir-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-collapse-file-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-emerge-group-title": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-media-info-heading": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-media-info-property-key": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-match-face-0": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-match-face-1": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-match-face-2": { + "fg": "#2ba178", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-match-face-3": { + "fg": "#9b5fd0", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-split": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-proc-running": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-proc-finished": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-proc-failed": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-git-commit-message-face": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-added-state": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-edited-state": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-removed-state": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-conflict-state": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-locked-state": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-missing-state": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-needs-merge-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-needs-update-state": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-unregistered-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "calibredb": { + "calibredb-search-header-library-name-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-library-path-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-total-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-filter-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-sort-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-highlight-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-id-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-author-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-format-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-size-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-tag-face": { + "fg": "#998162", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-date-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-mark-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-series-face": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-publisher-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-pubdate-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-language-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-comment-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-archive-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-favorite-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-file-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-ids-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-highlight-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-current-page-button-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-mouse-face": { + "fg": null, + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-title-detailed-view-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-edit-annotation-header-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "erc": { + "erc-header-line": { + "fg": "#ffffff", + "bg": "#2f343a", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-timestamp-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-notice-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-default-face": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-current-nick-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-my-nick-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-my-nick-prefix-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-nick-default-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-nick-prefix-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-button-nick-default-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-nick-msg-face": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-direct-msg-face": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-action-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-keyword-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-pal-face": { + "fg": "#2ba178", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-fool-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-dangerous-host-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-error-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-input-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-prompt-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-command-indicator-face": { + "fg": "#838d97", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-information": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-button": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-bold-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-italic-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-underline-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-inverse-face": { + "fg": "#000000", + "bg": "#a9b2bb", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-spoiler-face": { + "fg": "#000000", + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-fill-wrap-merge-indicator-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-keep-place-indicator-arrow": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-keep-place-indicator-line": { + "fg": null, + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "org-drill": { + "org-drill-hidden-cloze-face": { + "fg": "#000000", + "bg": "#838d97", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-drill-visible-cloze-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-drill-visible-cloze-hint-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "org-noter": { + "org-noter-notes-exist-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-noter-no-notes-exist-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "signel": { + "signel-timestamp-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "signel-my-msg-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "signel-other-msg-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "signel-error-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "pearl": { + "pearl-preamble-summary": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-editable-comment": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-readonly-comment": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-modified-highlight": { + "fg": null, + "bg": "#264364", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-modified-local": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-modified-unknown": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "slack": { + "slack-room-info-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-room-info-title-room-name-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-room-info-section-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-room-info-section-label-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-room-unread-face": { + "fg": "#ffffff", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-output-header": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-output-text": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-output-reaction": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-output-reaction-pressed": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-deleted-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-new-message-marker-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-all-thread-buffer-thread-header-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-mention-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-mention-me-face": { + "fg": "#e8bd30", + "bg": "#264364", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-mention-keyword-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-channel-button-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-bold-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-italic-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-code-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-code-block-face": { + "fg": "#cb6b4d", + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-strike-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-blockquote-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-list-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-attachment-header": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-attachment-footer": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-attachment-pad": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-attachment-field-title": { + "fg": "#838d97", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-attachment-preview-header-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-preview-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-block-highlight-source-overlay-face": { + "fg": null, + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-action-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-action-primary-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-action-danger-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-button-block-element-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-button-primary-block-element-face": { + "fg": "#5d9b86", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-button-danger-block-element-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-select-block-element-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-overflow-block-element-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-date-picker-block-element-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-element-label-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-element-hint-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-element-placeholder-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-element-error-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-submit-button-face": { + "fg": "#5d9b86", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-cancel-button-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-select-element-input-face": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-user-active-face": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-user-dnd-face": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-user-profile-header-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-user-profile-property-name-face": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-profile-image-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-search-result-message-header-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-search-result-message-username-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-modeline-has-unreads-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-modeline-channel-has-unreads-face": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-modeline-thread-has-unreads-face": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "telega": { + "telega-root-heading": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-tracking": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-unread-unmuted-modeline": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-username": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-user-online-status": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-user-non-online-status": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-secret-title": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-contact-birthdays-today": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-muted-count": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-unmuted-count": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-mention-count": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-has-chatbuf-brackets": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-delim-face": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-shadow": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-link": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-blue": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-red": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-heading": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-user-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-self-title": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-deleted": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-sponsored": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-inline-reply": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-inline-forward": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-inline-other": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-bold": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-italic": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-underline": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-strikethrough": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "telega-entity-type-code": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-pre": { + "fg": "#cb6b4d", + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-blockquote": { + "fg": "#a9b2bb", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-mention": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-hashtag": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-cashtag": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-botcommand": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-texturl": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-spoiler": { + "fg": "#2f343a", + "bg": "#2f343a", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-reaction": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-reaction-chosen": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-reaction-paid": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-reaction-paid-chosen": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-highlight-text-face": { + "fg": "#000000", + "bg": "#e8bd30", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-button-highlight": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-chat-prompt": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-chat-prompt-aux": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-chat-input-attachment": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-topic-button": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-filter-active": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-filter-button-active": { + "fg": "#000000", + "bg": "#e8bd30", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-filter-button-inactive": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-checklist-stats-done": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-checklist-stats-todo": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-active": { + "fg": "#000000", + "bg": "#67809c", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-default-active": { + "fg": "#000000", + "bg": "#a9b2bb", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-default-passive": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-primary-active": { + "fg": "#000000", + "bg": "#67809c", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-primary-passive": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-success-active": { + "fg": "#000000", + "bg": "#2ba178", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-success-passive": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-danger-active": { + "fg": "#000000", + "bg": "#cb6b4d", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-danger-passive": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-ui-active": { + "fg": "#000000", + "bg": "#e8bd30", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button-ui-passive": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button2-active": { + "fg": "#000000", + "bg": "#67809c", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button2-passive": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button2-white-foreground": { + "fg": "#ffffff", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-describe-item-title": { + "fg": "#838d97", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-describe-section-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-describe-subsection-title": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-enckey-00": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-enckey-01": { + "fg": "#5d9b86", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-enckey-10": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-enckey-11": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-palette-builtin-blue": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-palette-builtin-green": { + "fg": "#2ba178", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-palette-builtin-orange": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-palette-builtin-purple": { + "fg": "#9b5fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-subtitle": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-header": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-subheader": { + "fg": "#e8bd30", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-outline": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-fixed": { + "fg": "#cb6b4d", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-preformatted": { + "fg": "#cb6b4d", + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-marked": { + "fg": "#000000", + "bg": "#e8bd30", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-strike-through": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "telega-webpage-chat-link": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-link-preview-sitename": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-link-preview-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "shr": { + "shr-h1": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.4 + }, + "shr-h2": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.2 + }, + "shr-h3": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-h4": { + "fg": "#a9b2bb", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-h5": { + "fg": "#838d97", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-h6": { + "fg": "#5e6770", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-text": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-link": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-selected-link": { + "fg": "#e8bd30", + "bg": null, + "bold": true, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-code": { + "fg": "#cb6b4d", + "bg": "#1a1714", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-mark": { + "fg": "#000000", + "bg": "#e8bd30", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-strike-through": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "shr-sup": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-abbreviation": { + "fg": "#838d97", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-sliced-image": { + "fg": "#5e6770", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "2048-game": { + "twentyfortyeight-face-1024": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-128": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-16": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-2048": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-256": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-32": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-4": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-512": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-64": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-8": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "alert": { + "alert-high-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-low-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-moderate-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-normal-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-trivial-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-urgent-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "all-the-icons": { + "all-the-icons-blue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-blue-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-cyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-cyan-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dblue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dcyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dgreen": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dmaroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dorange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dpink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dpurple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dred": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dsilver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dyellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-green": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lblue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lcyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lgreen": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lmaroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lorange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lpink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lpurple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lred": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lsilver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lyellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-maroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-orange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-pink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-purple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-purple-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-red": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-red-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-silver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-yellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "company": { + "company-echo": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-echo-common": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-preview": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-preview-common": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-preview-search": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-annotation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-annotation-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-common": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-common-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-deprecated": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-mouse": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-quick-access": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-quick-access-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-scrollbar-thumb": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-scrollbar-track": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-search": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-search-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "company-box": { + "company-box-annotation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-background": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-candidate": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-numbers": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-scrollbar": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "consult": { + "consult-async-failed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-async-finished": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-async-running": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-async-split": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-bookmark": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-buffer": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-file": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-grep-context": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-help": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-highlight-mark": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-highlight-match": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-line-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-line-number-prefix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-line-number-wrapped": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-narrow-indicator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-preview-insertion": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-preview-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-preview-match": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-separator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "embark": { + "embark-collect-annotation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-collect-candidate": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-collect-group-separator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-collect-group-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-keybinding": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-keybinding-repeat": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-keymap": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-selected": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-target": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-verbose-indicator-documentation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-verbose-indicator-shadowed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-verbose-indicator-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "emms": { + "emms-browser-album-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-albumartist-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-artist-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-composer-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-performer-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-track-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-year/genre-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-metaplaylist-mode-current-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-metaplaylist-mode-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-playlist-selected-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-playlist-track-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "flyspell-correct": { + "flyspell-correct-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "highlight-indent-guides": { + "highlight-indent-guides-character-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-even-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-odd-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-stack-character-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-stack-even-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-stack-odd-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-top-character-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-top-even-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-top-odd-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "hl-todo": { + "hl-todo": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "hl-todo-flymake-type": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "json-mode": { + "json-mode-object-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "llama": { + "llama-##-macro": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "llama-deleted-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "llama-llama-macro": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "llama-mandatory-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "llama-optional-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "lv": { + "lv-separator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "magit-section": { + "magit-left-margin": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-child-count": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-secondary-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "malyon": { + "malyon-face-bold": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "malyon-face-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "malyon-face-italic": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "malyon-face-plain": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "malyon-face-reverse": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "marginalia": { + "marginalia-archive": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-char": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-date": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-documentation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-name": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-owner": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-dir": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-exec": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-link": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-no": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-other": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-rare": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-read": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-write": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-function": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-installed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-lighter": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-list": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-mode": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-modified": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-null": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-off": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-on": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-size": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-string": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-symbol": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-true": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-type": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-value": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-version": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "markdown-mode": { + "markdown-blockquote-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-bold-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-code-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-footnote-marker-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-footnote-text-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-gfm-checkbox-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-delimiter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-1": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-3": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-4": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-5": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-6": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-rule-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-highlighting-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-hr-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-attr-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-attr-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-entity-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-tag-delimiter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-tag-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-inline-code-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-italic-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-language-info-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-language-keyword-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-line-break-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-link-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-link-title-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-list-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-markup-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-math-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-metadata-key-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-metadata-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-missing-link-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-plain-url-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-pre-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-reference-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-strike-through-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-table-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-url-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "nerd-icons": { + "nerd-icons-blue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-blue-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-cyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-cyan-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dblue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dcyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dgreen": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dmaroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dorange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dpink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dpurple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dred": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dsilver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dyellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-green": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lblue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lcyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lgreen": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lmaroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lorange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lpink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lpurple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lred": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lsilver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lyellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-maroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-orange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-pink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-purple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-purple-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-red": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-red-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-silver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-yellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "nerd-icons-completion": { + "nerd-icons-completion-dir-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "orderless": { + "orderless-match-face-0": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "orderless-match-face-1": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "orderless-match-face-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "orderless-match-face-3": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "org-roam": { + "org-roam-dailies-calendar-note": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-dim": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-header-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-olp": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-preview-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-preview-heading-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-preview-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-preview-region": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "org-superstar": { + "org-superstar-first": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-superstar-header-bullet": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-superstar-item": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-superstar-leading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "prescient": { + "prescient-primary-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "prescient-secondary-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "rainbow-delimiters": { + "rainbow-delimiters-base-error-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-base-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-1-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-2-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-3-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-4-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-5-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-6-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-7-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-8-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-9-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-mismatched-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-unmatched-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "symbol-overlay": { + "symbol-overlay-default-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-1": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-3": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-4": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-5": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-6": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-7": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-8": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "tmr": { + "tmr-description": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-duration": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-end-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-finished": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-is-acknowledged": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-must-be-acknowledged": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-start-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-acknowledgement": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-description": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-end-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-remaining-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-start-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "transient": { + "transient-active-infix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-delimiter": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-disabled-suffix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-enabled-suffix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-higher-level": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-inactive-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-inactive-value": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-inapt-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-inapt-suffix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-exit": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-noop": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-recurse": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-return": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-stack": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-stay": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-mismatched-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-nonstandard-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-unreachable": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-unreachable-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-value": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "vertico": { + "vertico-current": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "vertico-group-separator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "vertico-group-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "vertico-multiline": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "web-mode": { + "web-mode-annotation-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-annotation-html-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-annotation-tag-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-annotation-type-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-annotation-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-attr-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-attr-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-control-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-delimiter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-bold-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-builtin-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-comment-keyword-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-constant-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-at-rule-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-color-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-function-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-priority-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-property-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-pseudo-class-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-selector-class-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-selector-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-selector-tag-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-variable-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-current-column-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-current-element-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-doctype-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-error-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-filter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-folded-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-function-call-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-function-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-custom-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-engine-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-equal-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-entity-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-bracket-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-custom-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-namespaced-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-unclosed-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-inlay-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-interpolate-color1-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-interpolate-color2-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-interpolate-color3-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-interpolate-color4-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-italic-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-javascript-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-javascript-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-json-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-json-context-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-json-key-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-json-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-1-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-2-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-3-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-4-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-5-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-keyword-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-param-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-part-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-part-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-part-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-preprocessor-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-script-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-sql-keyword-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-style-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-symbol-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-type-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-underline-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-variable-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-warning-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-whitespace-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "yasnippet": { + "yas--field-debug-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "yas-field-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + } + } +}
\ No newline at end of file diff --git a/scripts/theme-studio/emacs-default-faces.json b/scripts/theme-studio/emacs-default-faces.json new file mode 100644 index 00000000..51db612d --- /dev/null +++ b/scripts/theme-studio/emacs-default-faces.json @@ -0,0 +1,29487 @@ +{ + "faces": { + "alert-high-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "Dark Orange", + "foregroundHex": "#ff8c00", + "weight": "bold" + }, + "default-spec": [ + [ + "t", + [ + ":foreground", + "Dark Orange", + ":bold", + "t" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Dark Orange", + "foregroundHex": "#ff8c00", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "Dark Orange", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "alert-low-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "Dark Blue", + "foregroundHex": "#00008b" + }, + "default-spec": [ + [ + "t", + [ + ":foreground", + "Dark Blue" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Dark Blue", + "foregroundHex": "#00008b", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "Dark Blue", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "alert-moderate-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "Gold", + "foregroundHex": "#ffd700", + "weight": "bold" + }, + "default-spec": [ + [ + "t", + [ + ":foreground", + "Gold", + ":bold", + "t" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gold", + "foregroundHex": "#ffd700", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "Gold", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "alert-normal-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "alert-trivial-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "Dark Violet", + "foregroundHex": "#9400d3" + }, + "default-spec": [ + [ + "t", + [ + ":foreground", + "Dark Violet" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Dark Violet", + "foregroundHex": "#9400d3", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "Dark Violet", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "alert-urgent-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "Red", + "foregroundHex": "#ff0000", + "weight": "bold" + }, + "default-spec": [ + [ + "t", + [ + ":foreground", + "Red", + ":bold", + "t" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Red", + "foregroundHex": "#ff0000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "Red", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "all-the-icons-blue": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#6A9FB5", + "foregroundHex": "#6a9fb5" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#6A9FB5" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#6A9FB5" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#6A9FB5", + "foregroundHex": "#6a9fb5", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#6A9FB5", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-blue-alt": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#2188b6", + "foregroundHex": "#2188b6" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#2188b6" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#2188b6" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#2188b6", + "foregroundHex": "#2188b6", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#2188b6", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-cyan": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#75B5AA", + "foregroundHex": "#75b5aa" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#75B5AA" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#75B5AA" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#75B5AA", + "foregroundHex": "#75b5aa", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#75B5AA", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-cyan-alt": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#0595bd", + "foregroundHex": "#0595bd" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#61dafb" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#0595bd" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#0595bd", + "foregroundHex": "#0595bd", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#61dafb", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-dblue": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#446674", + "foregroundHex": "#446674" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#446674" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#446674" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#446674", + "foregroundHex": "#446674", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#446674", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-dcyan": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#48746D", + "foregroundHex": "#48746d" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#48746D" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#48746D" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#48746D", + "foregroundHex": "#48746d", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#48746D", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-dgreen": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#6D8143", + "foregroundHex": "#6d8143" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#6D8143" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#6D8143" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#6D8143", + "foregroundHex": "#6d8143", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#6D8143", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-dmaroon": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#72584B", + "foregroundHex": "#72584b" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#72584B" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#72584B" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#72584B", + "foregroundHex": "#72584b", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#72584B", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-dorange": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#915B2D", + "foregroundHex": "#915b2d" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#915B2D" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#915B2D" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#915B2D", + "foregroundHex": "#915b2d", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#915B2D", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-dpink": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#7E5D5F", + "foregroundHex": "#7e5d5f" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#B18286" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#7E5D5F" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#7E5D5F", + "foregroundHex": "#7e5d5f", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#B18286", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-dpurple": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#694863", + "foregroundHex": "#694863" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#694863" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#694863" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#694863", + "foregroundHex": "#694863", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#694863", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-dred": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#843031", + "foregroundHex": "#843031" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#843031" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#843031" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#843031", + "foregroundHex": "#843031", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#843031", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-dsilver": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#838484", + "foregroundHex": "#838484" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#838484" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#838484" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#838484", + "foregroundHex": "#838484", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#838484", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-dyellow": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#B48D56", + "foregroundHex": "#b48d56" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#B48D56" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#B48D56" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#B48D56", + "foregroundHex": "#b48d56", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#B48D56", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-green": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#90A959", + "foregroundHex": "#90a959" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#90A959" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#90A959" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#90A959", + "foregroundHex": "#90a959", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#90A959", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-lblue": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#677174", + "foregroundHex": "#677174" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#8FD7F4" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#677174" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#677174", + "foregroundHex": "#677174", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#8FD7F4", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-lcyan": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#2C7D6E", + "foregroundHex": "#2c7d6e" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#A5FDEC" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#2C7D6E" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#2C7D6E", + "foregroundHex": "#2c7d6e", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#A5FDEC", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-lgreen": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#3D6837", + "foregroundHex": "#3d6837" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#C6E87A" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#3D6837" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#3D6837", + "foregroundHex": "#3d6837", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#C6E87A", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-lmaroon": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#CE7A4E", + "foregroundHex": "#ce7a4e" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#CE7A4E" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#CE7A4E" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#CE7A4E", + "foregroundHex": "#ce7a4e", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#CE7A4E", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-lorange": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#FFA500", + "foregroundHex": "#ffa500" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#FFA500" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#FFA500" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#FFA500", + "foregroundHex": "#ffa500", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#FFA500", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-lpink": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#FF505B", + "foregroundHex": "#ff505b" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#FFBDC1" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#FF505B" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#FF505B", + "foregroundHex": "#ff505b", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#FFBDC1", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-lpurple": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#E69DD6", + "foregroundHex": "#e69dd6" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#E69DD6" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#E69DD6" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#E69DD6", + "foregroundHex": "#e69dd6", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#E69DD6", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-lred": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#EB595A", + "foregroundHex": "#eb595a" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#EB595A" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#EB595A" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#EB595A", + "foregroundHex": "#eb595a", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#EB595A", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-lsilver": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#7F7869", + "foregroundHex": "#7f7869" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#B9B6AA" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#7F7869" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#7F7869", + "foregroundHex": "#7f7869", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#B9B6AA", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-lyellow": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#FF9300", + "foregroundHex": "#ff9300" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#FFC16D" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#FF9300" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#FF9300", + "foregroundHex": "#ff9300", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#FFC16D", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-maroon": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#8F5536", + "foregroundHex": "#8f5536" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#8F5536" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#8F5536" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#8F5536", + "foregroundHex": "#8f5536", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#8F5536", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-orange": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#D4843E", + "foregroundHex": "#d4843e" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#D4843E" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#D4843E" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#D4843E", + "foregroundHex": "#d4843e", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#D4843E", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-pink": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#FC505B", + "foregroundHex": "#fc505b" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#F2B4B8" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#FC505B" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#FC505B", + "foregroundHex": "#fc505b", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#F2B4B8", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-purple": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#68295B", + "foregroundHex": "#68295b" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#AA759F" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#68295B" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#68295B", + "foregroundHex": "#68295b", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#AA759F", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-purple-alt": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#5D54E1", + "foregroundHex": "#5d54e1" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#5D54E1" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#5D54E1" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#5D54E1", + "foregroundHex": "#5d54e1", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#5D54E1", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-red": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#AC4142", + "foregroundHex": "#ac4142" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#AC4142" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#AC4142" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#AC4142", + "foregroundHex": "#ac4142", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#AC4142", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-red-alt": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#843031", + "foregroundHex": "#843031" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#ce5643" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#843031" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#843031", + "foregroundHex": "#843031", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#ce5643", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-silver": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#716E68", + "foregroundHex": "#716e68" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#716E68" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#716E68" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#716E68", + "foregroundHex": "#716e68", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#716E68", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "all-the-icons-yellow": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#FFCC0E", + "foregroundHex": "#ffcc0e" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#FFD446" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#FFCC0E" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#FFCC0E", + "foregroundHex": "#ffcc0e", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#FFD446", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-box-annotation": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "company-box-background": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "company-box-candidate": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "company-box-numbers": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "company-box-scrollbar": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "company-box-selection": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "company-echo": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": "nil", + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-echo-common": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "firebrick4", + "foregroundHex": "#8b1a1a" + }, + "default-spec": [ + [ + [ + [ + "background", + "light" + ] + ], + [ + ":foreground", + "firebrick4" + ] + ], + [ + [ + [ + "background", + "dark" + ] + ], + [ + ":foreground", + "firebrick1" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "firebrick4", + "foregroundHex": "#8b1a1a", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "firebrick1", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-preview": { + "background": "green", + "box": "nil", + "chosenGuiLight": { + "inherit": [ + "company-tooltip-selection", + "company-tooltip" + ] + }, + "default-spec": [ + [ + "default", + ":inherit", + [ + "company-tooltip-selection", + "company-tooltip" + ] + ] + ], + "effectiveGuiLight": { + "background": "cornsilk", + "backgroundHex": "#fff8dc", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": [ + "company-tooltip-selection", + "company-tooltip" + ], + "selectedInherits": [ + "company-tooltip-selection", + "company-tooltip" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": [ + "company-tooltip-selection", + "company-tooltip" + ], + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-preview-common": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "company-tooltip-common-selection" + }, + "default-spec": [ + [ + "default", + ":inherit", + "company-tooltip-common-selection" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "darkred", + "foregroundHex": "#8b0000", + "height": 1, + "inherit": "company-tooltip-common-selection", + "selectedInherits": [ + "company-tooltip-common-selection" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "pale turquoise", + "height": 1, + "inherit": "company-tooltip-common-selection", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-preview-search": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "company-tooltip-common-selection" + }, + "default-spec": [ + [ + "default", + ":inherit", + "company-tooltip-common-selection" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "darkred", + "foregroundHex": "#8b0000", + "height": 1, + "inherit": "company-tooltip-common-selection", + "selectedInherits": [ + "company-tooltip-common-selection" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "pale turquoise", + "height": 1, + "inherit": "company-tooltip-common-selection", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-tooltip": { + "background": "yellow", + "box": "nil", + "chosenGuiLight": { + "background": "cornsilk", + "backgroundHex": "#fff8dc", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + [ + ":foreground", + "black", + ":background", + "cornsilk" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + [ + ":background", + "gray26" + ] + ], + [ + "t", + [ + ":foreground", + "black", + ":background", + "yellow" + ] + ] + ], + "effectiveGuiLight": { + "background": "cornsilk", + "backgroundHex": "#fff8dc", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-tooltip-annotation": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "firebrick4", + "foregroundHex": "#8b1a1a" + }, + "default-spec": [ + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "firebrick4" + ], + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "LightCyan3" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "firebrick4", + "foregroundHex": "#8b1a1a", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "LightCyan3", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-tooltip-annotation-selection": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "company-tooltip-annotation" + }, + "default-spec": [ + [ + "default", + ":inherit", + "company-tooltip-annotation" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "firebrick4", + "foregroundHex": "#8b1a1a", + "height": 1, + "inherit": "company-tooltip-annotation", + "selectedInherits": [ + "company-tooltip-annotation" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "LightCyan3", + "height": 1, + "inherit": "company-tooltip-annotation", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-tooltip-common": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "darkred", + "foregroundHex": "#8b0000" + }, + "default-spec": [ + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "darkred" + ], + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "pale turquoise" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "darkred", + "foregroundHex": "#8b0000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "pale turquoise", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-tooltip-common-selection": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "company-tooltip-common" + }, + "default-spec": [ + [ + "default", + ":inherit", + "company-tooltip-common" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "darkred", + "foregroundHex": "#8b0000", + "height": 1, + "inherit": "company-tooltip-common", + "selectedInherits": [ + "company-tooltip-common" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "pale turquoise", + "height": 1, + "inherit": "company-tooltip-common", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-tooltip-deprecated": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "strike": "t" + }, + "default-spec": [ + [ + "t", + [ + ":strike-through", + "t" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": "t", + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "t", + "underline": "nil", + "weight": "normal" + }, + "company-tooltip-mouse": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "highlight" + }, + "default-spec": [ + [ + "default", + ":inherit", + "highlight" + ] + ], + "effectiveGuiLight": { + "background": "darkseagreen2", + "backgroundHex": "#b4eeb4", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "highlight", + "selectedInherits": [ + "highlight" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "highlight", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-tooltip-quick-access": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "company-tooltip-annotation" + }, + "default-spec": [ + [ + "default", + ":inherit", + "company-tooltip-annotation" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "firebrick4", + "foregroundHex": "#8b1a1a", + "height": 1, + "inherit": "company-tooltip-annotation", + "selectedInherits": [ + "company-tooltip-annotation" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "LightCyan3", + "height": 1, + "inherit": "company-tooltip-annotation", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-tooltip-quick-access-selection": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "company-tooltip-annotation-selection" + }, + "default-spec": [ + [ + "default", + ":inherit", + "company-tooltip-annotation-selection" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "firebrick4", + "foregroundHex": "#8b1a1a", + "height": 1, + "inherit": "company-tooltip-annotation-selection", + "selectedInherits": [ + "company-tooltip-annotation-selection" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "LightCyan3", + "height": 1, + "inherit": "company-tooltip-annotation-selection", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-tooltip-scrollbar-thumb": { + "background": "gray33", + "box": "nil", + "chosenGuiLight": { + "background": "indian red", + "backgroundHex": "#cd5c5c" + }, + "default-spec": [ + [ + [ + [ + "background", + "light" + ] + ], + ":background", + "indian red" + ], + [ + [ + [ + "background", + "dark" + ] + ], + ":background", + "gray33" + ] + ], + "effectiveGuiLight": { + "background": "indian red", + "backgroundHex": "#cd5c5c", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-tooltip-scrollbar-track": { + "background": "gray28", + "box": "nil", + "chosenGuiLight": { + "background": "wheat", + "backgroundHex": "#f5deb3" + }, + "default-spec": [ + [ + [ + [ + "background", + "light" + ] + ], + ":background", + "wheat" + ], + [ + [ + [ + "background", + "dark" + ] + ], + ":background", + "gray28" + ] + ], + "effectiveGuiLight": { + "background": "wheat", + "backgroundHex": "#f5deb3", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-tooltip-search": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "highlight" + }, + "default-spec": [ + [ + "default", + ":inherit", + "highlight" + ] + ], + "effectiveGuiLight": { + "background": "darkseagreen2", + "backgroundHex": "#b4eeb4", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "highlight", + "selectedInherits": [ + "highlight" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "highlight", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-tooltip-search-selection": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "highlight" + }, + "default-spec": [ + [ + "default", + ":inherit", + "highlight" + ] + ], + "effectiveGuiLight": { + "background": "darkseagreen2", + "backgroundHex": "#b4eeb4", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "highlight", + "selectedInherits": [ + "highlight" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "highlight", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "company-tooltip-selection": { + "background": "green", + "box": "nil", + "chosenGuiLight": { + "background": "light blue", + "backgroundHex": "#add8e6" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + [ + ":background", + "light blue" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + [ + ":background", + "gray31" + ] + ], + [ + "t", + [ + ":background", + "green" + ] + ] + ], + "effectiveGuiLight": { + "background": "light blue", + "backgroundHex": "#add8e6", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "consult-async-failed": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "error" + }, + "default-spec": [ + [ + "t", + ":inherit", + "error" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Red1", + "foregroundHex": "#ff0000", + "height": 1, + "inherit": "error", + "selectedInherits": [ + "error" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "error", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "consult-async-finished": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "success" + }, + "default-spec": [ + [ + "t", + ":inherit", + "success" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "ForestGreen", + "foregroundHex": "#228b22", + "height": 1, + "inherit": "success", + "selectedInherits": [ + "success" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "success", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "consult-async-running": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "consult-narrow-indicator" + }, + "default-spec": [ + [ + "t", + ":inherit", + "consult-narrow-indicator" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DarkOrange", + "foregroundHex": "#ff8c00", + "height": 1, + "inherit": "consult-narrow-indicator", + "selectedInherits": [ + "consult-narrow-indicator" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "consult-narrow-indicator", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "consult-async-split": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-negation-char-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-negation-char-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "font-lock-negation-char-face", + "selectedInherits": [ + "font-lock-negation-char-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-negation-char-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "consult-bookmark": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-constant-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-constant-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-constant-face", + "selectedInherits": [ + "font-lock-constant-face" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-constant-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "consult-buffer": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "consult-file": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-function-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-function-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1, + "inherit": "font-lock-function-name-face", + "selectedInherits": [ + "font-lock-function-name-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-function-name-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "consult-grep-context": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow" + }, + "default-spec": [ + [ + "t", + ":inherit", + "shadow" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "consult-help": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow" + }, + "default-spec": [ + [ + "t", + ":inherit", + "shadow" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "consult-highlight-mark": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "consult-highlight-match" + }, + "default-spec": [ + [ + "t", + ":inherit", + "consult-highlight-match" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "consult-highlight-match", + "selectedInherits": [ + "consult-highlight-match" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "consult-highlight-match", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "consult-highlight-match": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "match" + }, + "default-spec": [ + [ + "t", + ":inherit", + "match" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "match", + "selectedInherits": [ + "match" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "match", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "consult-key": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-keyword-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-keyword-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-keyword-face", + "selectedInherits": [ + "font-lock-keyword-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-keyword-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "consult-line-number": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "consult-key" + }, + "default-spec": [ + [ + "t", + ":inherit", + "consult-key" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "consult-key", + "selectedInherits": [ + "consult-key" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "consult-key", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "consult-line-number-prefix": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "line-number" + }, + "default-spec": [ + [ + "t", + ":inherit", + "line-number" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "line-number", + "selectedInherits": [ + "line-number" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "line-number", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "consult-line-number-wrapped": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-warning-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "consult-line-number-prefix", + ":inherit", + "font-lock-warning-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "font-lock-warning-face", + "selectedInherits": [ + "font-lock-warning-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-warning-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "consult-narrow-indicator": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "warning" + }, + "default-spec": [ + [ + "t", + ":inherit", + "warning" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DarkOrange", + "foregroundHex": "#ff8c00", + "height": 1, + "inherit": "warning", + "selectedInherits": [ + "warning" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "warning", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "consult-preview-insertion": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "region" + }, + "default-spec": [ + [ + "t", + ":inherit", + "region" + ] + ], + "effectiveGuiLight": { + "background": "lightgoldenrod2", + "backgroundHex": "#eedc82", + "box": null, + "extend": "t", + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "region", + "selectedInherits": [ + "region" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "region", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "consult-preview-line": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "extend": "t", + "inherit": "consult-preview-insertion" + }, + "default-spec": [ + [ + "t", + ":inherit", + "consult-preview-insertion", + ":extend", + "t" + ] + ], + "effectiveGuiLight": { + "background": "lightgoldenrod2", + "backgroundHex": "#eedc82", + "box": null, + "extend": "t", + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "consult-preview-insertion", + "selectedInherits": [ + "consult-preview-insertion" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "consult-preview-insertion", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "consult-preview-match": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "isearch" + }, + "default-spec": [ + [ + "t", + ":inherit", + "isearch" + ] + ], + "effectiveGuiLight": { + "background": "magenta3", + "backgroundHex": "#cd00cd", + "box": null, + "foreground": "lightskyblue1", + "foregroundHex": "#b0e2ff", + "height": 1, + "inherit": "isearch", + "selectedInherits": [ + "isearch" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "isearch", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "consult-separator": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#ccc" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#ccc" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#333" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#ccc", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "cursor": { + "background": "white", + "box": "nil", + "chosenGuiLight": { + "background": "black", + "backgroundHex": "#000000" + }, + "default-spec": [ + [ + [ + [ + "background", + "light" + ] + ], + ":background", + "black" + ], + [ + [ + [ + "background", + "dark" + ] + ], + ":background", + "white" + ] + ], + "effectiveGuiLight": { + "background": "black", + "backgroundHex": "#000000", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dashboard-banner-logo-title": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "default" + }, + "default-spec": [ + [ + "t", + ":inherit", + "default" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "default", + "selectedInherits": [ + "default" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "default", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dashboard-footer-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-doc-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-doc-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-doc-face", + "selectedInherits": [ + "font-lock-doc-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-doc-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dashboard-footer-icon-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "dashboard-footer-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "dashboard-footer-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "dashboard-footer-face", + "selectedInherits": [ + "dashboard-footer-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "dashboard-footer-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dashboard-heading": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-keyword-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-keyword-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-keyword-face", + "selectedInherits": [ + "font-lock-keyword-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-keyword-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "dashboard-items-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "widget-button" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "widget-button" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "widget-button", + "selectedInherits": [ + "widget-button" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "widget-button", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "dashboard-navigator": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-keyword-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-keyword-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-keyword-face", + "selectedInherits": [ + "font-lock-keyword-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-keyword-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "dashboard-no-items-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "widget-button" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "widget-button" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "widget-button", + "selectedInherits": [ + "widget-button" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "widget-button", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "dashboard-text-banner": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-keyword-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-keyword-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-keyword-face", + "selectedInherits": [ + "font-lock-keyword-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-keyword-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "default": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t", + "nil" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-collapse-dir-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "dired-directory" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "dired-directory" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "dired-directory", + "selectedInherits": [ + "dired-directory" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "dired-directory", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "dirvish-collapse-empty-dir-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "shadow" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-collapse-file-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "default" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "default" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "default", + "selectedInherits": [ + "default" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "default", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-emerge-group-title": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "dired-ignored" + }, + "default-spec": [ + [ + "t", + ":inherit", + "dired-ignored" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "dired-ignored", + "selectedInherits": [ + "dired-ignored" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "dired-ignored", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-file-device-number": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "dirvish-file-link-number" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "dirvish-file-link-number" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "dirvish-file-link-number", + "selectedInherits": [ + "dirvish-file-link-number" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "dirvish-file-link-number", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "dirvish-file-group-id": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "dirvish-file-user-id" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "dirvish-file-user-id" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "dirvish-file-user-id", + "selectedInherits": [ + "dirvish-file-user-id" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "dirvish-file-user-id", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "dirvish-file-inode-number": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "dirvish-file-link-number" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "dirvish-file-link-number" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "dirvish-file-link-number", + "selectedInherits": [ + "dirvish-file-link-number" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "dirvish-file-link-number", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "dirvish-file-link-number": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-constant-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-constant-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-constant-face", + "selectedInherits": [ + "font-lock-constant-face" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-constant-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "dirvish-file-modes": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#6b6b6b", + "foregroundHex": "#6b6b6b" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + [ + ":foreground", + "#a9a1e1" + ] + ], + [ + "t", + [ + ":foreground", + "#6b6b6b" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#6b6b6b", + "foregroundHex": "#6b6b6b", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#a9a1e1", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-file-size": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "completions-annotations", + "underline": "nil" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "completions-annotations", + ":underline", + "nil", + ":italic", + "nil" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "completions-annotations", + "selectedInherits": [ + "completions-annotations" + ], + "slant": "normal", + "strike": null, + "underline": "nil", + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "completions-annotations", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-file-time": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#979797", + "foregroundHex": "#979797" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + [ + ":foreground", + "#5699AF" + ] + ], + [ + "t", + [ + ":foreground", + "#979797" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#979797", + "foregroundHex": "#979797", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#5699AF", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-file-user-id": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-preprocessor-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-preprocessor-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-preprocessor-face", + "selectedInherits": [ + "font-lock-preprocessor-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-preprocessor-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "dirvish-free-space": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-constant-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-constant-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-constant-face", + "selectedInherits": [ + "font-lock-constant-face" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-constant-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "dirvish-git-commit-message-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "unspecified", + "inherit": "dired-ignored", + "underline": "nil" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "dired-ignored", + ":underline", + "nil", + ":background", + "unspecified" + ] + ] + ], + "effectiveGuiLight": { + "background": "unspecified", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "dired-ignored", + "selectedInherits": [ + "dired-ignored" + ], + "slant": "normal", + "strike": null, + "underline": "nil", + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "dired-ignored", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-hl-line": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "extend": "t", + "inherit": "highlight" + }, + "default-spec": [ + [ + "t", + ":inherit", + "highlight", + ":extend", + "t" + ] + ], + "effectiveGuiLight": { + "background": "darkseagreen2", + "backgroundHex": "#b4eeb4", + "box": null, + "extend": "t", + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "highlight", + "selectedInherits": [ + "highlight" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "highlight", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-hl-line-inactive": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "extend": "t", + "inherit": "region" + }, + "default-spec": [ + [ + "t", + ":inherit", + "region", + ":extend", + "t" + ] + ], + "effectiveGuiLight": { + "background": "lightgoldenrod2", + "backgroundHex": "#eedc82", + "box": null, + "extend": "t", + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "region", + "selectedInherits": [ + "region" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "region", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-inactive": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow" + }, + "default-spec": [ + [ + "t", + ":inherit", + "shadow" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-media-info-heading": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": [ + "dired-header", + "bold" + ] + }, + "default-spec": [ + [ + "t", + ":inherit", + [ + "dired-header", + "bold" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": [ + "dired-header", + "bold" + ], + "selectedInherits": [ + "dired-header", + "bold" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": [ + "dired-header", + "bold" + ], + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "dirvish-media-info-property-key": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": [ + "italic" + ] + }, + "default-spec": [ + [ + "t", + ":inherit", + [ + "italic" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": [ + "italic" + ], + "selectedInherits": [ + "italic" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": [ + "italic" + ], + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-narrow-match-face-0": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#223fbf", + "foregroundHex": "#223fbf", + "weight": "bold" + }, + "default-spec": [ + [ + "default", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#72a4ff" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#223fbf" + ], + [ + "t", + ":foreground", + "blue" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#223fbf", + "foregroundHex": "#223fbf", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "blue", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "dirvish-narrow-match-face-1": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#8f0075", + "foregroundHex": "#8f0075", + "weight": "bold" + }, + "default-spec": [ + [ + "default", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#ed92f8" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#8f0075" + ], + [ + "t", + ":foreground", + "magenta" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#8f0075", + "foregroundHex": "#8f0075", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "magenta", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "dirvish-narrow-match-face-2": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#145a00", + "foregroundHex": "#145a00", + "weight": "bold" + }, + "default-spec": [ + [ + "default", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#90d800" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#145a00" + ], + [ + "t", + ":foreground", + "green" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#145a00", + "foregroundHex": "#145a00", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "green", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "dirvish-narrow-match-face-3": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#804000", + "foregroundHex": "#804000", + "weight": "bold" + }, + "default-spec": [ + [ + "default", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#f0ce43" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#804000" + ], + [ + "t", + ":foreground", + "yellow" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#804000", + "foregroundHex": "#804000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "yellow", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "dirvish-narrow-split": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-negation-char-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-negation-char-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "font-lock-negation-char-face", + "selectedInherits": [ + "font-lock-negation-char-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-negation-char-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-proc-failed": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "error" + }, + "default-spec": [ + [ + "t", + ":inherit", + "error" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Red1", + "foregroundHex": "#ff0000", + "height": 1, + "inherit": "error", + "selectedInherits": [ + "error" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "error", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "dirvish-proc-finished": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "success" + }, + "default-spec": [ + [ + "t", + ":inherit", + "success" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "ForestGreen", + "foregroundHex": "#228b22", + "height": 1, + "inherit": "success", + "selectedInherits": [ + "success" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "success", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "dirvish-proc-running": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "warning" + }, + "default-spec": [ + [ + "t", + ":inherit", + "warning" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DarkOrange", + "foregroundHex": "#ff8c00", + "height": 1, + "inherit": "warning", + "selectedInherits": [ + "warning" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "warning", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "dirvish-subtree-guide": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "unspecified", + "inherit": "dired-ignored", + "underline": "nil" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "dired-ignored", + ":underline", + "nil", + ":background", + "unspecified" + ] + ] + ], + "effectiveGuiLight": { + "background": "unspecified", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "dired-ignored", + "selectedInherits": [ + "dired-ignored" + ], + "slant": "normal", + "strike": null, + "underline": "nil", + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "dired-ignored", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-subtree-state": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "unspecified", + "inherit": "dired-ignored", + "underline": "nil" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "dired-ignored", + ":underline", + "nil", + ":background", + "unspecified" + ] + ] + ], + "effectiveGuiLight": { + "background": "unspecified", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "dired-ignored", + "selectedInherits": [ + "dired-ignored" + ], + "slant": "normal", + "strike": null, + "underline": "nil", + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "dired-ignored", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-vc-added-state": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "vc-locally-added-state" + }, + "default-spec": [ + [ + "t", + ":inherit", + "vc-locally-added-state" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "vc-locally-added-state", + "selectedInherits": [ + "vc-locally-added-state" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "vc-locally-added-state", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-vc-conflict-state": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "vc-conflict-state" + }, + "default-spec": [ + [ + "t", + ":inherit", + "vc-conflict-state" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "vc-conflict-state", + "selectedInherits": [ + "vc-conflict-state" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "vc-conflict-state", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-vc-edited-state": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "vc-edited-state" + }, + "default-spec": [ + [ + "t", + ":inherit", + "vc-edited-state" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "vc-edited-state", + "selectedInherits": [ + "vc-edited-state" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "vc-edited-state", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-vc-locked-state": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "vc-locked-state" + }, + "default-spec": [ + [ + "t", + ":inherit", + "vc-locked-state" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "vc-locked-state", + "selectedInherits": [ + "vc-locked-state" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "vc-locked-state", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-vc-missing-state": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "vc-missing-state" + }, + "default-spec": [ + [ + "t", + ":inherit", + "vc-missing-state" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "vc-missing-state", + "selectedInherits": [ + "vc-missing-state" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "vc-missing-state", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-vc-needs-merge-face": { + "background": "#500f29", + "box": "nil", + "chosenGuiLight": { + "background": "#efcbcf", + "backgroundHex": "#efcbcf" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + [ + ":background", + "#500f29" + ] + ], + [ + "t", + [ + ":background", + "#efcbcf" + ] + ] + ], + "effectiveGuiLight": { + "background": "#efcbcf", + "backgroundHex": "#efcbcf", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-vc-needs-update-state": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "vc-needs-update-state" + }, + "default-spec": [ + [ + "t", + ":inherit", + "vc-needs-update-state" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "vc-needs-update-state", + "selectedInherits": [ + "vc-needs-update-state" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "vc-needs-update-state", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-vc-removed-state": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "vc-removed-state" + }, + "default-spec": [ + [ + "t", + ":inherit", + "vc-removed-state" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "vc-removed-state", + "selectedInherits": [ + "vc-removed-state" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "vc-removed-state", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "dirvish-vc-unregistered-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-constant-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-constant-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-constant-face", + "selectedInherits": [ + "font-lock-constant-face" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-constant-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "elfeed-log-date-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-type-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-type-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-type-face", + "selectedInherits": [ + "font-lock-type-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-type-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "elfeed-log-debug-level-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "magenta2", + "foregroundHex": "#ee00ee" + }, + "default-spec": [ + [ + "t", + ":foreground", + "magenta2" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "magenta2", + "foregroundHex": "#ee00ee", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "magenta2", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "elfeed-log-error-level-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "red", + "foregroundHex": "#ff0000" + }, + "default-spec": [ + [ + "t", + ":foreground", + "red" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "red", + "foregroundHex": "#ff0000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "red", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "elfeed-log-info-level-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "deep sky blue", + "foregroundHex": "#00bfff" + }, + "default-spec": [ + [ + "t", + ":foreground", + "deep sky blue" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "deep sky blue", + "foregroundHex": "#00bfff", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "deep sky blue", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "elfeed-log-warn-level-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "goldenrod", + "foregroundHex": "#daa520" + }, + "default-spec": [ + [ + "t", + ":foreground", + "goldenrod" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "goldenrod", + "foregroundHex": "#daa520", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "goldenrod", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "elfeed-search-date-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#aaa" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + [ + ":foreground", + "#aaa" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + [ + ":foreground", + "#77a" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#aaa", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "elfeed-search-feed-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#aa0" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + [ + ":foreground", + "#aa0" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + [ + ":foreground", + "#ff0" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#aa0", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "elfeed-search-filter-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "mode-line-buffer-id" + }, + "default-spec": [ + [ + "t", + ":inherit", + "mode-line-buffer-id" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "mode-line-buffer-id", + "selectedInherits": [ + "mode-line-buffer-id" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "mode-line-buffer-id", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "elfeed-search-last-update-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "elfeed-search-tag-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#070" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + [ + ":foreground", + "#070" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + [ + ":foreground", + "#0f0" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#070", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "elfeed-search-title-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#000" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + [ + ":foreground", + "#000" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + [ + ":foreground", + "#fff" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "elfeed-search-unread-count-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#000" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + [ + ":foreground", + "#000" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + [ + ":foreground", + "#fff" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "elfeed-search-unread-title-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "weight": "bold" + }, + "default-spec": [ + [ + "t", + ":weight", + "bold" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "embark-collect-annotation": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "completions-annotations" + }, + "default-spec": [ + [ + "t", + ":inherit", + "completions-annotations" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "completions-annotations", + "selectedInherits": [ + "completions-annotations" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "completions-annotations", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "embark-collect-candidate": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "default" + }, + "default-spec": [ + [ + "t", + ":inherit", + "default" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "default", + "selectedInherits": [ + "default" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "default", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "embark-collect-group-separator": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow", + "strike": "t" + }, + "default-spec": [ + [ + "t", + ":inherit", + "shadow", + ":strike-through", + "t", + "italic" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "normal", + "strike": "t", + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "normal", + "strike": "t", + "underline": "nil", + "weight": "normal" + }, + "embark-collect-group-title": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow", + "slant": "italic" + }, + "default-spec": [ + [ + "t", + ":inherit", + "shadow", + ":slant", + "italic" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "embark-keybinding": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "success" + }, + "default-spec": [ + [ + "t", + ":inherit", + "success" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "ForestGreen", + "foregroundHex": "#228b22", + "height": 1, + "inherit": "success", + "selectedInherits": [ + "success" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "success", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "embark-keybinding-repeat": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-builtin-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-builtin-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-builtin-face", + "selectedInherits": [ + "font-lock-builtin-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-builtin-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "embark-keymap": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "slant": "italic" + }, + "default-spec": [ + [ + "t", + ":slant", + "italic" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "embark-selected": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "match" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "match" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "match", + "selectedInherits": [ + "match" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "match", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "embark-target": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "highlight" + }, + "default-spec": [ + [ + "t", + ":inherit", + "highlight" + ] + ], + "effectiveGuiLight": { + "background": "darkseagreen2", + "backgroundHex": "#b4eeb4", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "highlight", + "selectedInherits": [ + "highlight" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "highlight", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "embark-verbose-indicator-documentation": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "completions-annotations" + }, + "default-spec": [ + [ + "t", + ":inherit", + "completions-annotations" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "completions-annotations", + "selectedInherits": [ + "completions-annotations" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "completions-annotations", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "embark-verbose-indicator-shadowed": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow" + }, + "default-spec": [ + [ + "t", + ":inherit", + "shadow" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "embark-verbose-indicator-title": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "height": 1.1, + "weight": "bold" + }, + "default-spec": [ + [ + "t", + ":height", + 1.1, + ":weight", + "bold" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1.1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "emms-browser-album-face": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "emms-browser-albumartist-face": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "emms-browser-artist-face": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "emms-browser-composer-face": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "emms-browser-performer-face": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "emms-browser-track-face": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "emms-browser-year/genre-face": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "emms-metaplaylist-mode-current-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "red3", + "backgroundHex": "#cd0000", + "foreground": "white", + "foregroundHex": "#ffffff" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + [ + ":foreground", + "red2" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + [ + ":background", + "red3", + ":foreground", + "white" + ] + ], + [ + [ + [ + "type", + "tty" + ], + [ + "class", + "mono" + ] + ], + [ + ":inverse-video", + "t" + ] + ], + [ + "t", + [ + ":background", + "red3" + ] + ] + ], + "effectiveGuiLight": { + "background": "red3", + "backgroundHex": "#cd0000", + "box": null, + "foreground": "white", + "foregroundHex": "#ffffff", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "emms-metaplaylist-mode-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "red3", + "foregroundHex": "#cd0000" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + [ + ":foreground", + "AntiqueWhite3" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + [ + ":foreground", + "red3" + ] + ], + [ + [ + [ + "type", + "tty" + ], + [ + "class", + "mono" + ] + ], + [ + ":inverse-video", + "t" + ] + ], + [ + "t", + [ + ":background", + "WhiteSmoke" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "red3", + "foregroundHex": "#cd0000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "emms-playlist-selected-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "blue3", + "backgroundHex": "#0000cd", + "foreground": "white", + "foregroundHex": "#ffffff" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + [ + ":foreground", + "SteelBlue3" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + [ + ":background", + "blue3", + ":foreground", + "white" + ] + ], + [ + [ + [ + "type", + "tty" + ], + [ + "class", + "mono" + ] + ], + [ + ":inverse-video", + "t" + ] + ], + [ + "t", + [ + ":background", + "blue3" + ] + ] + ], + "effectiveGuiLight": { + "background": "blue3", + "backgroundHex": "#0000cd", + "box": null, + "foreground": "white", + "foregroundHex": "#ffffff", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "emms-playlist-track-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "Blue", + "foregroundHex": "#0000ff" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + [ + ":foreground", + "DarkSeaGreen" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + [ + ":foreground", + "Blue" + ] + ], + [ + [ + [ + "type", + "tty" + ], + [ + "class", + "mono" + ] + ], + [ + ":inverse-video", + "t" + ] + ], + [ + "t", + [ + ":background", + "Blue" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue", + "foregroundHex": "#0000ff", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "error": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "Red1", + "foregroundHex": "#ff0000", + "weight": "bold" + }, + "default-spec": [ + [ + "default", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "Red1" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "Pink" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "Red1" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "Pink" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + ":foreground", + "red" + ], + [ + "t", + ":inverse-video", + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Red1", + "foregroundHex": "#ff0000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "flycheck-delimited-error": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "flycheck-error": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "underline": [ + ":style", + "wave", + ":color", + "Red1" + ] + }, + "default-spec": [ + [ + [ + [ + "supports", + ":underline", + [ + ":style", + "wave" + ] + ] + ], + ":underline", + [ + ":style", + "wave", + ":color", + "Red1" + ] + ], + [ + "t", + ":underline", + "t", + ":inherit", + "error" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": [ + ":style", + "wave", + ":color", + "Red1" + ], + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "error", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "flycheck-error-delimiter": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "flycheck-error-list-checker-name": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-function-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-function-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1, + "inherit": "font-lock-function-name-face", + "selectedInherits": [ + "font-lock-function-name-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-function-name-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "flycheck-error-list-column-number": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "flycheck-error-list-error": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "error" + }, + "default-spec": [ + [ + "t", + ":inherit", + "error" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Red1", + "foregroundHex": "#ff0000", + "height": 1, + "inherit": "error", + "selectedInherits": [ + "error" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "error", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "flycheck-error-list-error-message": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "flycheck-error-list-filename": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "mode-line-buffer-id" + }, + "default-spec": [ + [ + "t", + ":inherit", + "mode-line-buffer-id", + ":bold", + "nil" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "mode-line-buffer-id", + "selectedInherits": [ + "mode-line-buffer-id" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "mode-line-buffer-id", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "flycheck-error-list-highlight": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "weight": "bold" + }, + "default-spec": [ + [ + "t", + ":bold", + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "flycheck-error-list-id": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-type-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-type-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-type-face", + "selectedInherits": [ + "font-lock-type-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-type-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "flycheck-error-list-id-with-explainer": { + "background": "unspecified-bg", + "box": [ + ":style", + "released-button" + ], + "chosenGuiLight": { + "box": [ + ":style", + "released-button" + ], + "inherit": "flycheck-error-list-id" + }, + "default-spec": [ + [ + "t", + ":inherit", + "flycheck-error-list-id", + ":box", + [ + ":style", + "released-button" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": [ + ":style", + "released-button" + ], + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "flycheck-error-list-id", + "selectedInherits": [ + "flycheck-error-list-id" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "flycheck-error-list-id", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "flycheck-error-list-info": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "success" + }, + "default-spec": [ + [ + "t", + ":inherit", + "success" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "ForestGreen", + "foregroundHex": "#228b22", + "height": 1, + "inherit": "success", + "selectedInherits": [ + "success" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "success", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "flycheck-error-list-line-number": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "flycheck-error-list-warning": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "warning" + }, + "default-spec": [ + [ + "t", + ":inherit", + "warning" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DarkOrange", + "foregroundHex": "#ff8c00", + "height": 1, + "inherit": "warning", + "selectedInherits": [ + "warning" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "warning", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "flycheck-fringe-error": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "error" + }, + "default-spec": [ + [ + "t", + ":inherit", + "error" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Red1", + "foregroundHex": "#ff0000", + "height": 1, + "inherit": "error", + "selectedInherits": [ + "error" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "error", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "flycheck-fringe-info": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "success" + }, + "default-spec": [ + [ + "t", + ":inherit", + "success" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "ForestGreen", + "foregroundHex": "#228b22", + "height": 1, + "inherit": "success", + "selectedInherits": [ + "success" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "success", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "flycheck-fringe-warning": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "warning" + }, + "default-spec": [ + [ + "t", + ":inherit", + "warning" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DarkOrange", + "foregroundHex": "#ff8c00", + "height": 1, + "inherit": "warning", + "selectedInherits": [ + "warning" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "warning", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "flycheck-info": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "underline": [ + ":style", + "wave", + ":color", + "ForestGreen" + ] + }, + "default-spec": [ + [ + [ + [ + "supports", + ":underline", + [ + ":style", + "wave" + ] + ] + ], + ":underline", + [ + ":style", + "wave", + ":color", + "ForestGreen" + ] + ], + [ + "t", + ":underline", + "t", + ":inherit", + "success" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": [ + ":style", + "wave", + ":color", + "ForestGreen" + ], + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "success", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "flycheck-verify-select-checker": { + "background": "unspecified-bg", + "box": [ + ":style", + "released-button" + ], + "chosenGuiLight": { + "box": [ + ":style", + "released-button" + ] + }, + "default-spec": [ + [ + "t", + ":box", + [ + ":style", + "released-button" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": [ + ":style", + "released-button" + ], + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "flycheck-warning": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "underline": [ + ":style", + "wave", + ":color", + "DarkOrange" + ] + }, + "default-spec": [ + [ + [ + [ + "supports", + ":underline", + [ + ":style", + "wave" + ] + ] + ], + ":underline", + [ + ":style", + "wave", + ":color", + "DarkOrange" + ] + ], + [ + "t", + ":underline", + "t", + ":inherit", + "warning" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": [ + ":style", + "wave", + ":color", + "DarkOrange" + ], + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "warning", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "flyspell-correct-highlight-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "isearch" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "isearch" + ] + ] + ], + "effectiveGuiLight": { + "background": "magenta3", + "backgroundHex": "#cd00cd", + "box": null, + "foreground": "lightskyblue1", + "foregroundHex": "#b0e2ff", + "height": 1, + "inherit": "isearch", + "selectedInherits": [ + "isearch" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "isearch", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "font-lock-bracket-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-punctuation-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-punctuation-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "font-lock-punctuation-face", + "selectedInherits": [ + "font-lock-punctuation-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-punctuation-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "font-lock-builtin-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "weight": "bold" + }, + "default-spec": [ + [ + [ + [ + "class", + "grayscale" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "LightGray", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "grayscale" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "DimGray", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "dark slate blue" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "LightSteelBlue" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "Orchid" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "LightSteelBlue" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + ":foreground", + "blue", + ":weight", + "bold" + ], + [ + "t", + ":weight", + "bold" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "font-lock-comment-delimiter-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-comment-face" + }, + "default-spec": [ + [ + "default", + ":inherit", + "font-lock-comment-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-comment-face", + "selectedInherits": [ + "font-lock-comment-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-comment-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "font-lock-comment-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "DimGray", + "foregroundHex": "#696969", + "slant": "italic", + "weight": "bold" + }, + "default-spec": [ + [ + [ + [ + "class", + "grayscale" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "DimGray", + ":weight", + "bold", + ":slant", + "italic" + ], + [ + [ + [ + "class", + "grayscale" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "LightGray", + ":weight", + "bold", + ":slant", + "italic" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "Firebrick" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "chocolate1" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "red" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "red1" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "red" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "yellow" + ], + [ + "t", + ":weight", + "bold", + ":slant", + "italic" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "font-lock-constant-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "underline": "t", + "weight": "bold" + }, + "default-spec": [ + [ + [ + [ + "class", + "grayscale" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "LightGray", + ":weight", + "bold", + ":underline", + "t" + ], + [ + [ + [ + "class", + "grayscale" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "Gray50", + ":weight", + "bold", + ":underline", + "t" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "dark cyan" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "Aquamarine" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "CadetBlue" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "Aquamarine" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + ":foreground", + "magenta" + ], + [ + "t", + ":weight", + "bold", + ":underline", + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "font-lock-delimiter-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-punctuation-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-punctuation-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "font-lock-punctuation-face", + "selectedInherits": [ + "font-lock-punctuation-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-punctuation-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "font-lock-doc-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-string-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-string-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-string-face", + "selectedInherits": [ + "font-lock-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "font-lock-escape-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-regexp-grouping-backslash" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-regexp-grouping-backslash" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "font-lock-regexp-grouping-backslash", + "selectedInherits": [ + "font-lock-regexp-grouping-backslash" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-regexp-grouping-backslash", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "font-lock-function-call-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-function-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-function-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1, + "inherit": "font-lock-function-name-face", + "selectedInherits": [ + "font-lock-function-name-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-function-name-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "font-lock-function-name-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "Blue1", + "foregroundHex": "#0000ff" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "Blue1" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "LightSkyBlue" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "Blue" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "LightSkyBlue" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + ":foreground", + "blue", + ":weight", + "bold" + ], + [ + "t", + ":inverse-video", + "t", + ":weight", + "bold" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "font-lock-keyword-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "weight": "bold" + }, + "default-spec": [ + [ + [ + [ + "class", + "grayscale" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "LightGray", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "grayscale" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "DimGray", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "Purple" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "Cyan1" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "Purple" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "Cyan" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + ":foreground", + "cyan", + ":weight", + "bold" + ], + [ + "t", + ":weight", + "bold" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "font-lock-misc-punctuation-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-punctuation-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-punctuation-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "font-lock-punctuation-face", + "selectedInherits": [ + "font-lock-punctuation-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-punctuation-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "font-lock-number-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t", + "nil" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "font-lock-operator-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t", + "nil" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "font-lock-preprocessor-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-builtin-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-builtin-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-builtin-face", + "selectedInherits": [ + "font-lock-builtin-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-builtin-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "font-lock-property-name-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-variable-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-variable-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-variable-name-face", + "selectedInherits": [ + "font-lock-variable-name-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-variable-name-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "font-lock-property-use-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-property-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-property-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-property-name-face", + "selectedInherits": [ + "font-lock-property-name-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-property-name-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "font-lock-punctuation-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t", + "nil" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "font-lock-regexp-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-string-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-string-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-string-face", + "selectedInherits": [ + "font-lock-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "font-lock-string-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "DimGray", + "foregroundHex": "#696969", + "slant": "italic" + }, + "default-spec": [ + [ + [ + [ + "class", + "grayscale" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "DimGray", + ":slant", + "italic" + ], + [ + [ + [ + "class", + "grayscale" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "LightGray", + ":slant", + "italic" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "VioletRed4" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "LightSalmon" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "RosyBrown" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "LightSalmon" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + ":foreground", + "green" + ], + [ + "t", + ":slant", + "italic" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "font-lock-type-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "weight": "bold" + }, + "default-spec": [ + [ + [ + [ + "class", + "grayscale" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "Gray90", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "grayscale" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "DimGray", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "ForestGreen" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "PaleGreen" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "ForestGreen" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "PaleGreen" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + ":foreground", + "green" + ], + [ + "t", + ":weight", + "bold", + ":underline", + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "font-lock-variable-name-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "slant": "italic", + "weight": "bold" + }, + "default-spec": [ + [ + [ + [ + "class", + "grayscale" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "Gray90", + ":weight", + "bold", + ":slant", + "italic" + ], + [ + [ + [ + "class", + "grayscale" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "DimGray", + ":weight", + "bold", + ":slant", + "italic" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "sienna" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "LightGoldenrod" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "DarkGoldenrod" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "LightGoldenrod" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + ":foreground", + "yellow", + ":weight", + "light" + ], + [ + "t", + ":weight", + "bold", + ":slant", + "italic" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "font-lock-variable-use-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-variable-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-variable-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-variable-name-face", + "selectedInherits": [ + "font-lock-variable-name-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-variable-name-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "fringe": { + "background": "gray", + "box": "nil", + "chosenGuiLight": { + "background": "grey95", + "backgroundHex": "#f2f2f2" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":background", + "grey95" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":background", + "grey10" + ], + [ + "t", + ":background", + "gray" + ] + ], + "effectiveGuiLight": { + "background": "grey95", + "backgroundHex": "#f2f2f2", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-color-black": { + "background": "black", + "box": "nil", + "chosenGuiLight": { + "inherit": "ansi-color-black" + }, + "default-spec": [ + [ + "t", + ":inherit", + "ansi-color-black" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "ansi-color-black", + "selectedInherits": [ + "ansi-color-black" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "ansi-color-black", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-color-blue": { + "background": "blue2", + "box": "nil", + "chosenGuiLight": { + "inherit": "ansi-color-blue" + }, + "default-spec": [ + [ + "t", + ":inherit", + "ansi-color-blue" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "ansi-color-blue", + "selectedInherits": [ + "ansi-color-blue" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "blue2", + "height": 1, + "inherit": "ansi-color-blue", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-color-bright-black": { + "background": "gray30", + "box": "nil", + "chosenGuiLight": { + "inherit": "ansi-color-bright-black" + }, + "default-spec": [ + [ + "t", + ":inherit", + "ansi-color-bright-black" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "ansi-color-bright-black", + "selectedInherits": [ + "ansi-color-bright-black" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "gray30", + "height": 1, + "inherit": "ansi-color-bright-black", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-color-bright-blue": { + "background": "blue1", + "box": "nil", + "chosenGuiLight": { + "inherit": "ansi-color-bright-blue" + }, + "default-spec": [ + [ + "t", + ":inherit", + "ansi-color-bright-blue" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "ansi-color-bright-blue", + "selectedInherits": [ + "ansi-color-bright-blue" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "blue1", + "height": 1, + "inherit": "ansi-color-bright-blue", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-color-bright-cyan": { + "background": "cyan2", + "box": "nil", + "chosenGuiLight": { + "inherit": "ansi-color-bright-cyan" + }, + "default-spec": [ + [ + "t", + ":inherit", + "ansi-color-bright-cyan" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "ansi-color-bright-cyan", + "selectedInherits": [ + "ansi-color-bright-cyan" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "cyan2", + "height": 1, + "inherit": "ansi-color-bright-cyan", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-color-bright-green": { + "background": "green2", + "box": "nil", + "chosenGuiLight": { + "inherit": "ansi-color-bright-green" + }, + "default-spec": [ + [ + "t", + ":inherit", + "ansi-color-bright-green" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "ansi-color-bright-green", + "selectedInherits": [ + "ansi-color-bright-green" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "green2", + "height": 1, + "inherit": "ansi-color-bright-green", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-color-bright-magenta": { + "background": "magenta2", + "box": "nil", + "chosenGuiLight": { + "inherit": "ansi-color-bright-magenta" + }, + "default-spec": [ + [ + "t", + ":inherit", + "ansi-color-bright-magenta" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "ansi-color-bright-magenta", + "selectedInherits": [ + "ansi-color-bright-magenta" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "magenta2", + "height": 1, + "inherit": "ansi-color-bright-magenta", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-color-bright-red": { + "background": "red2", + "box": "nil", + "chosenGuiLight": { + "inherit": "ansi-color-bright-red" + }, + "default-spec": [ + [ + "t", + ":inherit", + "ansi-color-bright-red" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "ansi-color-bright-red", + "selectedInherits": [ + "ansi-color-bright-red" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "red2", + "height": 1, + "inherit": "ansi-color-bright-red", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-color-bright-white": { + "background": "white", + "box": "nil", + "chosenGuiLight": { + "inherit": "ansi-color-bright-white" + }, + "default-spec": [ + [ + "t", + ":inherit", + "ansi-color-bright-white" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "ansi-color-bright-white", + "selectedInherits": [ + "ansi-color-bright-white" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "white", + "height": 1, + "inherit": "ansi-color-bright-white", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-color-bright-yellow": { + "background": "yellow2", + "box": "nil", + "chosenGuiLight": { + "inherit": "ansi-color-bright-yellow" + }, + "default-spec": [ + [ + "t", + ":inherit", + "ansi-color-bright-yellow" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "ansi-color-bright-yellow", + "selectedInherits": [ + "ansi-color-bright-yellow" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "yellow2", + "height": 1, + "inherit": "ansi-color-bright-yellow", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-color-cyan": { + "background": "cyan3", + "box": "nil", + "chosenGuiLight": { + "inherit": "ansi-color-cyan" + }, + "default-spec": [ + [ + "t", + ":inherit", + "ansi-color-cyan" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "ansi-color-cyan", + "selectedInherits": [ + "ansi-color-cyan" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "cyan3", + "height": 1, + "inherit": "ansi-color-cyan", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-color-green": { + "background": "green3", + "box": "nil", + "chosenGuiLight": { + "inherit": "ansi-color-green" + }, + "default-spec": [ + [ + "t", + ":inherit", + "ansi-color-green" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "ansi-color-green", + "selectedInherits": [ + "ansi-color-green" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "green3", + "height": 1, + "inherit": "ansi-color-green", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-color-magenta": { + "background": "magenta3", + "box": "nil", + "chosenGuiLight": { + "inherit": "ansi-color-magenta" + }, + "default-spec": [ + [ + "t", + ":inherit", + "ansi-color-magenta" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "ansi-color-magenta", + "selectedInherits": [ + "ansi-color-magenta" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "magenta3", + "height": 1, + "inherit": "ansi-color-magenta", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-color-red": { + "background": "red3", + "box": "nil", + "chosenGuiLight": { + "inherit": "ansi-color-red" + }, + "default-spec": [ + [ + "t", + ":inherit", + "ansi-color-red" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "ansi-color-red", + "selectedInherits": [ + "ansi-color-red" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "red3", + "height": 1, + "inherit": "ansi-color-red", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-color-white": { + "background": "gray90", + "box": "nil", + "chosenGuiLight": { + "inherit": "ansi-color-white" + }, + "default-spec": [ + [ + "t", + ":inherit", + "ansi-color-white" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "ansi-color-white", + "selectedInherits": [ + "ansi-color-white" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "grey90", + "height": 1, + "inherit": "ansi-color-white", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-color-yellow": { + "background": "yellow3", + "box": "nil", + "chosenGuiLight": { + "inherit": "ansi-color-yellow" + }, + "default-spec": [ + [ + "t", + ":inherit", + "ansi-color-yellow" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "ansi-color-yellow", + "selectedInherits": [ + "ansi-color-yellow" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "yellow3", + "height": 1, + "inherit": "ansi-color-yellow", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-default": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "default" + }, + "default-spec": [ + [ + "t", + ":inherit", + "default" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "default", + "selectedInherits": [ + "default" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "default", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-fake-cursor": { + "background": "unspecified-bg", + "box": [ + ":line-width", + [ + "cons", + -1, + -1 + ] + ], + "chosenGuiLight": { + "box": [ + ":line-width", + [ + "cons", + -1, + -1 + ] + ] + }, + "default-spec": [ + [ + "t", + ":box", + [ + ":line-width", + [ + "cons", + -1, + -1 + ] + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": [ + ":line-width", + [ + "cons", + -1, + -1 + ] + ], + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "ghostel-fake-cursor-box": { + "background": "white", + "box": "nil", + "chosenGuiLight": { + "inherit": "cursor" + }, + "default-spec": [ + [ + "t", + ":inherit", + "cursor" + ] + ], + "effectiveGuiLight": { + "background": "black", + "backgroundHex": "#000000", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "cursor", + "selectedInherits": [ + "cursor" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "cursor", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "git-commit-comment-action": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "git-commit-comment-branch-local": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "git-commit-comment-branch-remote": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "git-commit-comment-detached": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "git-commit-comment-file": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "git-commit-comment-heading": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "git-commit-keyword": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "git-commit-nonempty-second-line": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "git-commit-overlong-summary": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "git-commit-summary": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "git-commit-trailer-token": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "git-commit-trailer-value": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "git-gutter:added": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "green", + "foregroundHex": "#00ff00", + "inherit": "default", + "weight": "bold" + }, + "default-spec": [ + [ + "t", + [ + ":foreground", + "green", + ":weight", + "bold", + ":inherit", + "default" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "green", + "foregroundHex": "#00ff00", + "height": 1, + "inherit": "default", + "selectedInherits": [ + "default" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "green", + "height": 1, + "inherit": "default", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "git-gutter:deleted": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "red", + "foregroundHex": "#ff0000", + "inherit": "default", + "weight": "bold" + }, + "default-spec": [ + [ + "t", + [ + ":foreground", + "red", + ":weight", + "bold", + ":inherit", + "default" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "red", + "foregroundHex": "#ff0000", + "height": 1, + "inherit": "default", + "selectedInherits": [ + "default" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "red", + "height": 1, + "inherit": "default", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "git-gutter:modified": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "magenta", + "foregroundHex": "#ff00ff", + "inherit": "default", + "weight": "bold" + }, + "default-spec": [ + [ + "t", + [ + ":foreground", + "magenta", + ":weight", + "bold", + ":inherit", + "default" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "magenta", + "foregroundHex": "#ff00ff", + "height": 1, + "inherit": "default", + "selectedInherits": [ + "default" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "magenta", + "height": 1, + "inherit": "default", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "git-gutter:separator": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "cyan", + "foregroundHex": "#00ffff", + "inherit": "default", + "weight": "bold" + }, + "default-spec": [ + [ + "t", + [ + ":foreground", + "cyan", + ":weight", + "bold", + ":inherit", + "default" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "cyan", + "foregroundHex": "#00ffff", + "height": 1, + "inherit": "default", + "selectedInherits": [ + "default" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "cyan", + "height": 1, + "inherit": "default", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "git-gutter:unchanged": { + "background": "yellow", + "box": "nil", + "chosenGuiLight": { + "background": "yellow", + "backgroundHex": "#ffff00", + "inherit": "default" + }, + "default-spec": [ + [ + "t", + [ + ":background", + "yellow", + ":inherit", + "default" + ] + ] + ], + "effectiveGuiLight": { + "background": "yellow", + "backgroundHex": "#ffff00", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "default", + "selectedInherits": [ + "default" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "default", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "highlight": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "darkseagreen2", + "backgroundHex": "#b4eeb4" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":background", + "darkseagreen2" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":background", + "darkolivegreen" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":background", + "darkseagreen2" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":background", + "darkolivegreen" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + ":background", + "green", + ":foreground", + "black" + ], + [ + "t", + ":inverse-video", + "t" + ] + ], + "effectiveGuiLight": { + "background": "darkseagreen2", + "backgroundHex": "#b4eeb4", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "highlight-indent-guides-character-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t", + "nil" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "highlight-indent-guides-even-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t", + "nil" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "highlight-indent-guides-odd-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t", + "nil" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "highlight-indent-guides-stack-character-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t", + "nil" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "highlight-indent-guides-stack-even-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t", + "nil" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "highlight-indent-guides-stack-odd-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t", + "nil" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "highlight-indent-guides-top-character-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t", + "nil" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "highlight-indent-guides-top-even-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t", + "nil" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "highlight-indent-guides-top-odd-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t", + "nil" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "hl-line": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "extend": "t", + "inherit": "highlight" + }, + "default-spec": [ + [ + "t", + ":inherit", + "highlight", + ":extend", + "t" + ] + ], + "effectiveGuiLight": { + "background": "darkseagreen2", + "backgroundHex": "#b4eeb4", + "box": null, + "extend": "t", + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "highlight", + "selectedInherits": [ + "highlight" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "highlight", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "hl-todo": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#cc9393", + "foregroundHex": "#cc9393", + "weight": "bold" + }, + "default-spec": [ + [ + "t", + [ + ":bold", + "t", + ":foreground", + "#cc9393" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#cc9393", + "foregroundHex": "#cc9393", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "#cc9393", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "hl-todo-flymake-type": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-keyword-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-keyword-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-keyword-face", + "selectedInherits": [ + "font-lock-keyword-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-keyword-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "isearch": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "magenta3", + "backgroundHex": "#cd00cd", + "foreground": "lightskyblue1", + "foregroundHex": "#b0e2ff" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + [ + ":background", + "magenta3", + ":foreground", + "lightskyblue1" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + [ + ":background", + "palevioletred2", + ":foreground", + "brown4" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ] + ], + [ + ":background", + "magenta4", + ":foreground", + "cyan1" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + [ + ":background", + "magenta4", + ":foreground", + "cyan1" + ] + ], + [ + "t", + [ + ":inverse-video", + "t" + ] + ] + ], + "effectiveGuiLight": { + "background": "magenta3", + "backgroundHex": "#cd00cd", + "box": null, + "foreground": "lightskyblue1", + "foregroundHex": "#b0e2ff", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "isearch-fail": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "RosyBrown1", + "backgroundHex": "#ffc1c1" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + [ + ":background", + "RosyBrown1" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + [ + ":background", + "red4" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ] + ], + [ + ":background", + "red" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + [ + ":background", + "red" + ] + ], + [ + [ + [ + "class", + "color", + "grayscale" + ] + ], + ":foreground", + "grey" + ], + [ + "t", + [ + ":inverse-video", + "t" + ] + ] + ], + "effectiveGuiLight": { + "background": "RosyBrown1", + "backgroundHex": "#ffc1c1", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "json-mode-object-name-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-variable-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-variable-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-variable-name-face", + "selectedInherits": [ + "font-lock-variable-name-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-variable-name-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "lazy-highlight": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "paleturquoise", + "backgroundHex": "#afeeee", + "distantForeground": "black", + "distantForegroundHex": "#000000" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + [ + ":background", + "paleturquoise", + ":distant-foreground", + "black" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + [ + ":background", + "paleturquoise4", + ":distant-foreground", + "white" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ] + ], + [ + ":background", + "turquoise3", + ":distant-foreground", + "white" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + [ + ":background", + "turquoise3", + ":distant-foreground", + "white" + ] + ], + [ + "t", + [ + ":underline", + "t" + ] + ] + ], + "effectiveGuiLight": { + "background": "paleturquoise", + "backgroundHex": "#afeeee", + "box": null, + "distantForeground": "black", + "distantForegroundHex": "#000000", + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "normal" + }, + "line-number": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": [ + "shadow", + "default" + ] + }, + "default-spec": [ + [ + "t", + ":inherit", + [ + "shadow", + "default" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": [ + "shadow", + "default" + ], + "selectedInherits": [ + "shadow", + "default" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": [ + "shadow", + "default" + ], + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "line-number-current-line": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "line-number" + }, + "default-spec": [ + [ + "t", + ":inherit", + "line-number" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "line-number", + "selectedInherits": [ + "line-number" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "line-number", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "link": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "RoyalBlue3", + "foregroundHex": "#3a5fcd", + "underline": "t" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "RoyalBlue3", + ":underline", + "t" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "blue", + ":underline", + "t" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "cyan1", + ":underline", + "t" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "cyan", + ":underline", + "t" + ], + [ + "t", + ":inherit", + "underline" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "RoyalBlue3", + "foregroundHex": "#3a5fcd", + "height": 1, + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "underline", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "normal" + }, + "llama-##-macro": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-function-call-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-function-call-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1, + "inherit": "font-lock-function-call-face", + "selectedInherits": [ + "font-lock-function-call-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-function-call-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "llama-deleted-argument": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "box": [ + ":line-width", + [ + "cons", + -1, + -1 + ], + ":color", + "red", + ":style", + "nil" + ] + }, + "default-spec": [ + [ + [ + [ + "supports", + ":box", + "t" + ] + ], + ":box", + [ + ":line-width", + [ + "cons", + -1, + -1 + ], + ":color", + "red", + ":style", + "nil" + ] + ], + [ + [ + [ + "supports", + ":underline", + "t" + ] + ], + ":underline", + "red" + ], + [ + "t", + ":inherit", + "font-lock-warning-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": [ + ":line-width", + [ + "cons", + -1, + -1 + ], + ":color", + "red", + ":style", + "nil" + ], + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-warning-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "llama-llama-macro": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-keyword-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-keyword-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-keyword-face", + "selectedInherits": [ + "font-lock-keyword-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-keyword-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "llama-mandatory-argument": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-variable-use-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-variable-use-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-variable-use-face", + "selectedInherits": [ + "font-lock-variable-use-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-variable-use-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "llama-optional-argument": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-type-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-type-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-type-face", + "selectedInherits": [ + "font-lock-type-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-type-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "lsp-details-face": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "lsp-face-highlight-read": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "lsp-face-highlight-textual": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "lsp-face-highlight-write": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "lsp-face-rename": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "lsp-inlay-hint-face": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "lsp-inlay-hint-parameter-face": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "lsp-inlay-hint-type-face": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "lsp-installation-buffer-face": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "lsp-installation-finished-buffer-face": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "lsp-rename-placeholder-face": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "lsp-signature-face": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "lsp-signature-highlight-function-argument": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "lsp-signature-posframe": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "lv-separator": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "grey80", + "backgroundHex": "#cccccc" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":background", + "grey80" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":background", + "grey30" + ] + ], + "effectiveGuiLight": { + "background": "grey80", + "backgroundHex": "#cccccc", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "magit-bisect-bad": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-bisect-good": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-bisect-skip": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-blame-date": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-blame-dimmed": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-blame-hash": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-blame-heading": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-blame-highlight": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-blame-margin": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-blame-name": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-blame-summary": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-branch-current": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-branch-local": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-branch-remote": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-branch-remote-head": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-branch-upstream": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-branch-warning": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-cherry-equivalent": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-cherry-unmatched": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-added": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-added-highlight": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-base": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-base-highlight": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-conflict-heading": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-conflict-heading-highlight": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-context": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-context-highlight": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-file-heading": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-file-heading-highlight": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-file-heading-selection": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-hunk-heading": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-hunk-heading-highlight": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-hunk-heading-selection": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-hunk-region": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-lines-boundary": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-lines-heading": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-our": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-our-highlight": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-removed": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-removed-highlight": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-revision-summary": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-revision-summary-highlight": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-their": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-their-highlight": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diff-whitespace-warning": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diffstat-added": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-diffstat-removed": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-dimmed": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-filename": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-hash": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-head": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-header-line": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-header-line-key": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-header-line-log-select": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-keyword": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-keyword-squash": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-left-margin": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-log-author": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-log-date": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-log-graph": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-mode-line-process": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-mode-line-process-error": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-process-ng": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-process-ok": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-reflog-amend": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-reflog-checkout": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-reflog-cherry-pick": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-reflog-commit": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-reflog-merge": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-reflog-other": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-reflog-rebase": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-reflog-remote": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-reflog-reset": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-refname": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-refname-pullreq": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-refname-stash": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-refname-wip": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-section-child-count": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-section-heading": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-section-heading-selection": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-section-highlight": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-section-secondary-heading": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-sequence-done": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-sequence-drop": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-sequence-exec": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-sequence-head": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-sequence-onto": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-sequence-part": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-sequence-pick": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-sequence-stop": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-signature-bad": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-signature-error": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-signature-expired": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-signature-expired-key": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-signature-good": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-signature-revoked": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-signature-untrusted": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "magit-tag": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "malyon-face-bold": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "bold" + }, + "default-spec": [ + [ + "t", + ":inherit", + "bold" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "bold", + "selectedInherits": [ + "bold" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "bold", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "malyon-face-error": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "error" + }, + "default-spec": [ + [ + "t", + ":inherit", + "error" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Red1", + "foregroundHex": "#ff0000", + "height": 1, + "inherit": "error", + "selectedInherits": [ + "error" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "error", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "malyon-face-italic": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "italic" + }, + "default-spec": [ + [ + "t", + ":inherit", + "italic" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "italic", + "selectedInherits": [ + "italic" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "italic", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "malyon-face-plain": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "default" + }, + "default-spec": [ + [ + "t", + ":inherit", + "default" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "default", + "selectedInherits": [ + "default" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "default", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "malyon-face-reverse": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "default", + "inverseVideo": "t" + }, + "default-spec": [ + [ + "t", + ":inherit", + "default", + ":inverse-video", + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "default", + "inverseVideo": "t", + "selectedInherits": [ + "default" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "default", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "marginalia-archive": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "warning" + }, + "default-spec": [ + [ + "t", + ":inherit", + "warning" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DarkOrange", + "foregroundHex": "#ff8c00", + "height": 1, + "inherit": "warning", + "selectedInherits": [ + "warning" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "warning", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-char": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "marginalia-key" + }, + "default-spec": [ + [ + "t", + ":inherit", + "marginalia-key" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "marginalia-key", + "selectedInherits": [ + "marginalia-key" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "marginalia-key", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-date": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "marginalia-key" + }, + "default-spec": [ + [ + "t", + ":inherit", + "marginalia-key" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "marginalia-key", + "selectedInherits": [ + "marginalia-key" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "marginalia-key", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-documentation": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "completions-annotations" + }, + "default-spec": [ + [ + "t", + ":inherit", + "completions-annotations" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "completions-annotations", + "selectedInherits": [ + "completions-annotations" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "completions-annotations", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "marginalia-file-name": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "marginalia-documentation" + }, + "default-spec": [ + [ + "t", + ":inherit", + "marginalia-documentation" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "marginalia-documentation", + "selectedInherits": [ + "marginalia-documentation" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "marginalia-documentation", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "marginalia-file-owner": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-preprocessor-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-preprocessor-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-preprocessor-face", + "selectedInherits": [ + "font-lock-preprocessor-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-preprocessor-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-file-priv-dir": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-keyword-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-keyword-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-keyword-face", + "selectedInherits": [ + "font-lock-keyword-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-keyword-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-file-priv-exec": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-function-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-function-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1, + "inherit": "font-lock-function-name-face", + "selectedInherits": [ + "font-lock-function-name-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-function-name-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-file-priv-link": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-keyword-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-keyword-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-keyword-face", + "selectedInherits": [ + "font-lock-keyword-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-keyword-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-file-priv-no": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow" + }, + "default-spec": [ + [ + "t", + ":inherit", + "shadow" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "marginalia-file-priv-other": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-constant-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-constant-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-constant-face", + "selectedInherits": [ + "font-lock-constant-face" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-constant-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "marginalia-file-priv-rare": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-variable-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-variable-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-variable-name-face", + "selectedInherits": [ + "font-lock-variable-name-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-variable-name-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-file-priv-read": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-type-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-type-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-type-face", + "selectedInherits": [ + "font-lock-type-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-type-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "marginalia-file-priv-write": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-builtin-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-builtin-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-builtin-face", + "selectedInherits": [ + "font-lock-builtin-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-builtin-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-function": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-function-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-function-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1, + "inherit": "font-lock-function-name-face", + "selectedInherits": [ + "font-lock-function-name-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-function-name-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-installed": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "success" + }, + "default-spec": [ + [ + "t", + ":inherit", + "success" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "ForestGreen", + "foregroundHex": "#228b22", + "height": 1, + "inherit": "success", + "selectedInherits": [ + "success" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "success", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-key": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-keyword-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-keyword-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-keyword-face", + "selectedInherits": [ + "font-lock-keyword-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-keyword-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-lighter": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "marginalia-size" + }, + "default-spec": [ + [ + "t", + ":inherit", + "marginalia-size" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "marginalia-size", + "selectedInherits": [ + "marginalia-size" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "marginalia-size", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "marginalia-list": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-constant-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-constant-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-constant-face", + "selectedInherits": [ + "font-lock-constant-face" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-constant-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "marginalia-mode": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "marginalia-key" + }, + "default-spec": [ + [ + "t", + ":inherit", + "marginalia-key" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "marginalia-key", + "selectedInherits": [ + "marginalia-key" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "marginalia-key", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-modified": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-negation-char-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-negation-char-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "font-lock-negation-char-face", + "selectedInherits": [ + "font-lock-negation-char-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-negation-char-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "marginalia-null": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-comment-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-comment-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-comment-face", + "selectedInherits": [ + "font-lock-comment-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-comment-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-number": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-constant-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-constant-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-constant-face", + "selectedInherits": [ + "font-lock-constant-face" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-constant-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "marginalia-off": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "error" + }, + "default-spec": [ + [ + "t", + ":inherit", + "error" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Red1", + "foregroundHex": "#ff0000", + "height": 1, + "inherit": "error", + "selectedInherits": [ + "error" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "error", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-on": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "success" + }, + "default-spec": [ + [ + "t", + ":inherit", + "success" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "ForestGreen", + "foregroundHex": "#228b22", + "height": 1, + "inherit": "success", + "selectedInherits": [ + "success" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "success", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-size": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "marginalia-number" + }, + "default-spec": [ + [ + "t", + ":inherit", + "marginalia-number" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "marginalia-number", + "selectedInherits": [ + "marginalia-number" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "marginalia-number", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "marginalia-string": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-string-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-string-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-string-face", + "selectedInherits": [ + "font-lock-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "marginalia-symbol": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-type-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-type-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-type-face", + "selectedInherits": [ + "font-lock-type-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-type-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "marginalia-true": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-builtin-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-builtin-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-builtin-face", + "selectedInherits": [ + "font-lock-builtin-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-builtin-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-type": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "marginalia-key" + }, + "default-spec": [ + [ + "t", + ":inherit", + "marginalia-key" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "marginalia-key", + "selectedInherits": [ + "marginalia-key" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "marginalia-key", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-value": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "marginalia-key" + }, + "default-spec": [ + [ + "t", + ":inherit", + "marginalia-key" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "marginalia-key", + "selectedInherits": [ + "marginalia-key" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "marginalia-key", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "marginalia-version": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "marginalia-number" + }, + "default-spec": [ + [ + "t", + ":inherit", + "marginalia-number" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "marginalia-number", + "selectedInherits": [ + "marginalia-number" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "marginalia-number", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "markdown-blockquote-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-doc-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-doc-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-doc-face", + "selectedInherits": [ + "font-lock-doc-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-doc-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-bold-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "bold" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "bold" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "bold", + "selectedInherits": [ + "bold" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "bold", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "markdown-code-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "fixed-pitch" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "fixed-pitch" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "fixed-pitch", + "selectedInherits": [ + "fixed-pitch" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "fixed-pitch", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-comment-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-comment-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-comment-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-comment-face", + "selectedInherits": [ + "font-lock-comment-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-comment-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "markdown-footnote-marker-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "markdown-markup-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "markdown-markup-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "markdown-markup-face", + "selectedInherits": [ + "markdown-markup-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "markdown-markup-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-footnote-text-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-comment-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-comment-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-comment-face", + "selectedInherits": [ + "font-lock-comment-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-comment-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "markdown-gfm-checkbox-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-builtin-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-builtin-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-builtin-face", + "selectedInherits": [ + "font-lock-builtin-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-builtin-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "markdown-header-delimiter-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "markdown-markup-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "markdown-markup-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "markdown-markup-face", + "selectedInherits": [ + "markdown-markup-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "markdown-markup-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-header-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": [ + "font-lock-function-name-face" + ], + "weight": "bold" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + [ + "font-lock-function-name-face" + ], + ":weight", + "bold" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1, + "inherit": [ + "font-lock-function-name-face" + ], + "selectedInherits": [ + "font-lock-function-name-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": [ + "font-lock-function-name-face" + ], + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "markdown-header-face-1": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "height": 1.0, + "inherit": "markdown-header-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "markdown-header-face", + ":height", + 1.0 + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1.0, + "inherit": "markdown-header-face", + "selectedInherits": [ + "markdown-header-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "markdown-header-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "markdown-header-face-2": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "height": 1.0, + "inherit": "markdown-header-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "markdown-header-face", + ":height", + 1.0 + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1.0, + "inherit": "markdown-header-face", + "selectedInherits": [ + "markdown-header-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "markdown-header-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "markdown-header-face-3": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "height": 1.0, + "inherit": "markdown-header-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "markdown-header-face", + ":height", + 1.0 + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1.0, + "inherit": "markdown-header-face", + "selectedInherits": [ + "markdown-header-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "markdown-header-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "markdown-header-face-4": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "height": 1.0, + "inherit": "markdown-header-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "markdown-header-face", + ":height", + 1.0 + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1.0, + "inherit": "markdown-header-face", + "selectedInherits": [ + "markdown-header-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "markdown-header-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "markdown-header-face-5": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "height": 1.0, + "inherit": "markdown-header-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "markdown-header-face", + ":height", + 1.0 + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1.0, + "inherit": "markdown-header-face", + "selectedInherits": [ + "markdown-header-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "markdown-header-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "markdown-header-face-6": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "height": 1.0, + "inherit": "markdown-header-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "markdown-header-face", + ":height", + 1.0 + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1.0, + "inherit": "markdown-header-face", + "selectedInherits": [ + "markdown-header-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "markdown-header-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "markdown-header-rule-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "markdown-markup-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "markdown-markup-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "markdown-markup-face", + "selectedInherits": [ + "markdown-markup-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "markdown-markup-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-highlight-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "highlight" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "highlight" + ] + ] + ], + "effectiveGuiLight": { + "background": "darkseagreen2", + "backgroundHex": "#b4eeb4", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "highlight", + "selectedInherits": [ + "highlight" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "highlight", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-highlighting-face": { + "background": "yellow", + "box": "nil", + "chosenGuiLight": { + "background": "yellow", + "backgroundHex": "#ffff00", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + [ + ":background", + "yellow", + ":foreground", + "black" + ] + ] + ], + "effectiveGuiLight": { + "background": "yellow", + "backgroundHex": "#ffff00", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-hr-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "markdown-markup-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "markdown-markup-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "markdown-markup-face", + "selectedInherits": [ + "markdown-markup-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "markdown-markup-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-html-attr-name-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-variable-name-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-variable-name-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-variable-name-face", + "selectedInherits": [ + "font-lock-variable-name-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-variable-name-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "markdown-html-attr-value-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-string-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-string-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-string-face", + "selectedInherits": [ + "font-lock-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-html-entity-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-variable-name-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-variable-name-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-variable-name-face", + "selectedInherits": [ + "font-lock-variable-name-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-variable-name-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "markdown-html-tag-delimiter-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "markdown-markup-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "markdown-markup-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "markdown-markup-face", + "selectedInherits": [ + "markdown-markup-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "markdown-markup-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-html-tag-name-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-type-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-type-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-type-face", + "selectedInherits": [ + "font-lock-type-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-type-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "markdown-inline-code-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": [ + "markdown-code-face", + "font-lock-constant-face" + ] + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + [ + "markdown-code-face", + "font-lock-constant-face" + ] + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": [ + "markdown-code-face", + "font-lock-constant-face" + ], + "selectedInherits": [ + "markdown-code-face", + "font-lock-constant-face" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": [ + "markdown-code-face", + "font-lock-constant-face" + ], + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "markdown-italic-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "italic" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "italic" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "italic", + "selectedInherits": [ + "italic" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "italic", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-language-info-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-string-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-string-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-string-face", + "selectedInherits": [ + "font-lock-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-language-keyword-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-type-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-type-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-type-face", + "selectedInherits": [ + "font-lock-type-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-type-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "markdown-line-break-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-constant-face", + "underline": "t" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-constant-face", + ":underline", + "t" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-constant-face", + "selectedInherits": [ + "font-lock-constant-face" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-constant-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "markdown-link-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "link" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "link" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "RoyalBlue3", + "foregroundHex": "#3a5fcd", + "height": 1, + "inherit": "link", + "selectedInherits": [ + "link" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "link", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "normal" + }, + "markdown-link-title-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-comment-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-comment-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-comment-face", + "selectedInherits": [ + "font-lock-comment-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-comment-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "markdown-list-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "markdown-markup-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "markdown-markup-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "markdown-markup-face", + "selectedInherits": [ + "markdown-markup-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "markdown-markup-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-markup-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow", + "slant": "normal", + "weight": "normal" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "shadow", + ":slant", + "normal", + ":weight", + "normal" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-math-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-string-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-string-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-string-face", + "selectedInherits": [ + "font-lock-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-metadata-key-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-variable-name-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-variable-name-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-variable-name-face", + "selectedInherits": [ + "font-lock-variable-name-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-variable-name-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "markdown-metadata-value-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-string-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-string-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-string-face", + "selectedInherits": [ + "font-lock-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-missing-link-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-warning-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-warning-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "font-lock-warning-face", + "selectedInherits": [ + "font-lock-warning-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-warning-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "markdown-plain-url-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "markdown-link-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "markdown-link-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "RoyalBlue3", + "foregroundHex": "#3a5fcd", + "height": 1, + "inherit": "markdown-link-face", + "selectedInherits": [ + "markdown-link-face" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "markdown-link-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "normal" + }, + "markdown-pre-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": [ + "markdown-code-face", + "font-lock-constant-face" + ] + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + [ + "markdown-code-face", + "font-lock-constant-face" + ] + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": [ + "markdown-code-face", + "font-lock-constant-face" + ], + "selectedInherits": [ + "markdown-code-face", + "font-lock-constant-face" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": [ + "markdown-code-face", + "font-lock-constant-face" + ], + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "markdown-reference-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "markdown-markup-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "markdown-markup-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "markdown-markup-face", + "selectedInherits": [ + "markdown-markup-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "markdown-markup-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-strike-through-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "strike": "t" + }, + "default-spec": [ + [ + "t", + [ + ":strike-through", + "t" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": "t", + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "t", + "underline": "nil", + "weight": "normal" + }, + "markdown-table-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": [ + "markdown-code-face" + ] + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + [ + "markdown-code-face" + ] + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": [ + "markdown-code-face" + ], + "selectedInherits": [ + "markdown-code-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": [ + "markdown-code-face" + ], + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "markdown-url-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-string-face" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "font-lock-string-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-string-face", + "selectedInherits": [ + "font-lock-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "minibuffer-prompt": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "magenta", + "foregroundHex": "#ff00ff" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "cyan" + ], + [ + [ + [ + "type", + "pc" + ] + ], + ":foreground", + "magenta" + ], + [ + "t", + ":foreground", + "medium blue" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "magenta", + "foregroundHex": "#ff00ff", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "cyan", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "mode-line": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "grey75", + "backgroundHex": "#bfbfbf", + "box": [ + ":line-width", + -1, + ":style", + "released-button" + ], + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + [ + [ + "class", + "color", + "grayscale" + ], + [ + "min-colors", + 88 + ] + ], + ":box", + [ + ":line-width", + -1, + ":style", + "released-button" + ], + ":background", + "grey75", + ":foreground", + "black" + ], + [ + "t", + ":inverse-video", + "t" + ] + ], + "effectiveGuiLight": { + "background": "grey75", + "backgroundHex": "#bfbfbf", + "box": [ + ":line-width", + -1, + ":style", + "released-button" + ], + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "mode-line-inactive": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "grey90", + "backgroundHex": "#e5e5e5", + "box": [ + ":line-width", + -1, + ":color", + "grey75", + ":style", + "nil" + ], + "foreground": "grey20", + "foregroundHex": "#333333", + "inherit": "mode-line", + "weight": "light" + }, + "default-spec": [ + [ + "default", + ":inherit", + "mode-line" + ], + [ + [ + [ + "class", + "color", + "grayscale" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":weight", + "light", + ":box", + [ + ":line-width", + -1, + ":color", + "grey75", + ":style", + "nil" + ], + ":foreground", + "grey20", + ":background", + "grey90" + ], + [ + [ + [ + "class", + "color", + "grayscale" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":weight", + "light", + ":box", + [ + ":line-width", + -1, + ":color", + "grey40", + ":style", + "nil" + ], + ":foreground", + "grey80", + ":background", + "grey30" + ] + ], + "effectiveGuiLight": { + "background": "grey90", + "backgroundHex": "#e5e5e5", + "box": [ + ":line-width", + -1, + ":color", + "grey75", + ":style", + "nil" + ], + "foreground": "grey20", + "foregroundHex": "#333333", + "height": 1, + "inherit": "mode-line", + "selectedInherits": [ + "mode-line" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "light" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "mode-line", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-blue": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#6A9FB5", + "foregroundHex": "#6a9fb5" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#6A9FB5" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#6A9FB5" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#6A9FB5", + "foregroundHex": "#6a9fb5", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#6A9FB5", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-blue-alt": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#2188b6", + "foregroundHex": "#2188b6" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#2188b6" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#2188b6" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#2188b6", + "foregroundHex": "#2188b6", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#2188b6", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-completion-dir-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "t", + "nil" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-cyan": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#75B5AA", + "foregroundHex": "#75b5aa" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#75B5AA" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#75B5AA" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#75B5AA", + "foregroundHex": "#75b5aa", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#75B5AA", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-cyan-alt": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#0595bd", + "foregroundHex": "#0595bd" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#61dafb" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#0595bd" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#0595bd", + "foregroundHex": "#0595bd", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#61dafb", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-dblue": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#446674", + "foregroundHex": "#446674" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#446674" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#446674" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#446674", + "foregroundHex": "#446674", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#446674", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-dcyan": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#48746D", + "foregroundHex": "#48746d" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#48746D" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#48746D" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#48746D", + "foregroundHex": "#48746d", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#48746D", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-dgreen": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#6D8143", + "foregroundHex": "#6d8143" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#6D8143" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#6D8143" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#6D8143", + "foregroundHex": "#6d8143", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#6D8143", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-dmaroon": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#72584B", + "foregroundHex": "#72584b" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#72584B" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#72584B" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#72584B", + "foregroundHex": "#72584b", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#72584B", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-dorange": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#915B2D", + "foregroundHex": "#915b2d" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#915B2D" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#915B2D" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#915B2D", + "foregroundHex": "#915b2d", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#915B2D", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-dpink": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#7E5D5F", + "foregroundHex": "#7e5d5f" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#B18286" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#7E5D5F" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#7E5D5F", + "foregroundHex": "#7e5d5f", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#B18286", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-dpurple": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#694863", + "foregroundHex": "#694863" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#694863" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#694863" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#694863", + "foregroundHex": "#694863", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#694863", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-dred": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#843031", + "foregroundHex": "#843031" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#843031" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#843031" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#843031", + "foregroundHex": "#843031", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#843031", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-dsilver": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#838484", + "foregroundHex": "#838484" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#838484" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#838484" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#838484", + "foregroundHex": "#838484", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#838484", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-dyellow": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#B48D56", + "foregroundHex": "#b48d56" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#B48D56" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#B48D56" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#B48D56", + "foregroundHex": "#b48d56", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#B48D56", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-green": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#90A959", + "foregroundHex": "#90a959" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#90A959" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#90A959" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#90A959", + "foregroundHex": "#90a959", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#90A959", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-lblue": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#677174", + "foregroundHex": "#677174" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#8FD7F4" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#677174" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#677174", + "foregroundHex": "#677174", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#8FD7F4", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-lcyan": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#2C7D6E", + "foregroundHex": "#2c7d6e" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#A5FDEC" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#2C7D6E" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#2C7D6E", + "foregroundHex": "#2c7d6e", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#A5FDEC", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-lgreen": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#3D6837", + "foregroundHex": "#3d6837" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#C6E87A" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#3D6837" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#3D6837", + "foregroundHex": "#3d6837", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#C6E87A", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-lmaroon": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#CE7A4E", + "foregroundHex": "#ce7a4e" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#CE7A4E" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#CE7A4E" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#CE7A4E", + "foregroundHex": "#ce7a4e", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#CE7A4E", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-lorange": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#FFA500", + "foregroundHex": "#ffa500" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#FFA500" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#FFA500" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#FFA500", + "foregroundHex": "#ffa500", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#FFA500", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-lpink": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#FF505B", + "foregroundHex": "#ff505b" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#FFBDC1" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#FF505B" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#FF505B", + "foregroundHex": "#ff505b", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#FFBDC1", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-lpurple": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#E69DD6", + "foregroundHex": "#e69dd6" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#E69DD6" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#E69DD6" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#E69DD6", + "foregroundHex": "#e69dd6", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#E69DD6", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-lred": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#EB595A", + "foregroundHex": "#eb595a" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#EB595A" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#EB595A" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#EB595A", + "foregroundHex": "#eb595a", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#EB595A", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-lsilver": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#7F7869", + "foregroundHex": "#7f7869" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#B9B6AA" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#7F7869" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#7F7869", + "foregroundHex": "#7f7869", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#B9B6AA", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-lyellow": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#FF9300", + "foregroundHex": "#ff9300" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#FFC16D" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#FF9300" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#FF9300", + "foregroundHex": "#ff9300", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#FFC16D", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-maroon": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#8F5536", + "foregroundHex": "#8f5536" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#8F5536" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#8F5536" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#8F5536", + "foregroundHex": "#8f5536", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#8F5536", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-orange": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#D4843E", + "foregroundHex": "#d4843e" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#D4843E" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#D4843E" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#D4843E", + "foregroundHex": "#d4843e", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#D4843E", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-pink": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#FC505B", + "foregroundHex": "#fc505b" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#F2B4B8" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#FC505B" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#FC505B", + "foregroundHex": "#fc505b", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#F2B4B8", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-purple": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#68295B", + "foregroundHex": "#68295b" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#AA759F" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#68295B" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#68295B", + "foregroundHex": "#68295b", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#AA759F", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-purple-alt": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#5D54E1", + "foregroundHex": "#5d54e1" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#5D54E1" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#5D54E1" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#5D54E1", + "foregroundHex": "#5d54e1", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#5D54E1", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-red": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#AC4142", + "foregroundHex": "#ac4142" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#AC4142" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#AC4142" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#AC4142", + "foregroundHex": "#ac4142", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#AC4142", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-red-alt": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#843031", + "foregroundHex": "#843031" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#ce5643" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#843031" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#843031", + "foregroundHex": "#843031", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#ce5643", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-silver": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#716E68", + "foregroundHex": "#716e68" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#716E68" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#716E68" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#716E68", + "foregroundHex": "#716e68", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#716E68", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "nerd-icons-yellow": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#FFCC0E", + "foregroundHex": "#ffcc0e" + }, + "default-spec": [ + [ + [ + [ + "background", + "dark" + ] + ], + ":foreground", + "#FFD446" + ], + [ + [ + [ + "background", + "light" + ] + ], + ":foreground", + "#FFCC0E" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#FFCC0E", + "foregroundHex": "#ffcc0e", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#FFD446", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "orderless-match-face-0": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#223fbf", + "foregroundHex": "#223fbf", + "weight": "bold" + }, + "default-spec": [ + [ + "default", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#72a4ff" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#223fbf" + ], + [ + "t", + ":foreground", + "blue" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#223fbf", + "foregroundHex": "#223fbf", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "blue", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "orderless-match-face-1": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#8f0075", + "foregroundHex": "#8f0075", + "weight": "bold" + }, + "default-spec": [ + [ + "default", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#ed92f8" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#8f0075" + ], + [ + "t", + ":foreground", + "magenta" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#8f0075", + "foregroundHex": "#8f0075", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "magenta", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "orderless-match-face-2": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#145a00", + "foregroundHex": "#145a00", + "weight": "bold" + }, + "default-spec": [ + [ + "default", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#90d800" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#145a00" + ], + [ + "t", + ":foreground", + "green" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#145a00", + "foregroundHex": "#145a00", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "green", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "orderless-match-face-3": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#804000", + "foregroundHex": "#804000", + "weight": "bold" + }, + "default-spec": [ + [ + "default", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#f0ce43" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#804000" + ], + [ + "t", + ":foreground", + "yellow" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#804000", + "foregroundHex": "#804000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "yellow", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "org-roam-dailies-calendar-note": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "org-roam-dim": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "org-roam-header-line": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "org-roam-olp": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "org-roam-preview-heading": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "org-roam-preview-heading-highlight": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "org-roam-preview-heading-selection": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "org-roam-preview-region": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "org-roam-title": { + "chosenGuiLight": {}, + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": false + }, + "org-superstar-first": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "org-warning" + }, + "default-spec": [ + [ + "default", + ":inherit", + "org-warning" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "org-warning", + "selectedInherits": [ + "org-warning" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "org-warning", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "org-superstar-header-bullet": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + "default" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "org-superstar-item": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "default" + }, + "default-spec": [ + [ + "default", + ":inherit", + "default" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "default", + "selectedInherits": [ + "default" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "default", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "org-superstar-leading": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "gray", + "foregroundHex": "#bebebe", + "inherit": "default" + }, + "default-spec": [ + [ + "default", + ":inherit", + "default", + ":foreground", + "gray" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "gray", + "foregroundHex": "#bebebe", + "height": 1, + "inherit": "default", + "selectedInherits": [ + "default" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "gray", + "height": 1, + "inherit": "default", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "prescient-primary-highlight": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "weight": "bold" + }, + "default-spec": [ + [ + "t", + ":weight", + "bold" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "prescient-secondary-highlight": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "prescient-primary-highlight", + "underline": "t" + }, + "default-spec": [ + [ + "t", + ":inherit", + "prescient-primary-highlight", + ":underline", + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "prescient-primary-highlight", + "selectedInherits": [ + "prescient-primary-highlight" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "prescient-primary-highlight", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "rainbow-delimiters-base-error-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#88090B", + "foregroundHex": "#88090b", + "inherit": "rainbow-delimiters-base-face" + }, + "default-spec": [ + [ + "default", + [ + ":inherit", + "rainbow-delimiters-base-face" + ] + ], + [ + "t", + [ + ":foreground", + "#88090B" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#88090B", + "foregroundHex": "#88090b", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "selectedInherits": [ + "rainbow-delimiters-base-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#88090B", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "rainbow-delimiters-base-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "unspecified" + }, + "default-spec": [ + [ + "default", + [ + ":inherit", + "unspecified" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "unspecified", + "selectedInherits": [ + "unspecified" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "rainbow-delimiters-depth-1-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#707183", + "foregroundHex": "#707183", + "inherit": "rainbow-delimiters-base-face" + }, + "default-spec": [ + [ + "default", + [ + ":inherit", + "rainbow-delimiters-base-face" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#707183" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "grey55" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#707183", + "foregroundHex": "#707183", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "selectedInherits": [ + "rainbow-delimiters-base-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "rainbow-delimiters-depth-2-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#7388d6", + "foregroundHex": "#7388d6", + "inherit": "rainbow-delimiters-base-face" + }, + "default-spec": [ + [ + "default", + [ + ":inherit", + "rainbow-delimiters-base-face" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#7388d6" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#93a8c6" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#7388d6", + "foregroundHex": "#7388d6", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "selectedInherits": [ + "rainbow-delimiters-base-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "rainbow-delimiters-depth-3-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#909183", + "foregroundHex": "#909183", + "inherit": "rainbow-delimiters-base-face" + }, + "default-spec": [ + [ + "default", + [ + ":inherit", + "rainbow-delimiters-base-face" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#909183" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#b0b1a3" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#909183", + "foregroundHex": "#909183", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "selectedInherits": [ + "rainbow-delimiters-base-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "rainbow-delimiters-depth-4-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#709870", + "foregroundHex": "#709870", + "inherit": "rainbow-delimiters-base-face" + }, + "default-spec": [ + [ + "default", + [ + ":inherit", + "rainbow-delimiters-base-face" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#709870" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#97b098" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#709870", + "foregroundHex": "#709870", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "selectedInherits": [ + "rainbow-delimiters-base-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "rainbow-delimiters-depth-5-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#907373", + "foregroundHex": "#907373", + "inherit": "rainbow-delimiters-base-face" + }, + "default-spec": [ + [ + "default", + [ + ":inherit", + "rainbow-delimiters-base-face" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#907373" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#aebed8" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#907373", + "foregroundHex": "#907373", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "selectedInherits": [ + "rainbow-delimiters-base-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "rainbow-delimiters-depth-6-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#6276ba", + "foregroundHex": "#6276ba", + "inherit": "rainbow-delimiters-base-face" + }, + "default-spec": [ + [ + "default", + [ + ":inherit", + "rainbow-delimiters-base-face" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#6276ba" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#b0b0b3" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#6276ba", + "foregroundHex": "#6276ba", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "selectedInherits": [ + "rainbow-delimiters-base-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "rainbow-delimiters-depth-7-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#858580", + "foregroundHex": "#858580", + "inherit": "rainbow-delimiters-base-face" + }, + "default-spec": [ + [ + "default", + [ + ":inherit", + "rainbow-delimiters-base-face" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#858580" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#90a890" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#858580", + "foregroundHex": "#858580", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "selectedInherits": [ + "rainbow-delimiters-base-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "rainbow-delimiters-depth-8-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#80a880", + "foregroundHex": "#80a880", + "inherit": "rainbow-delimiters-base-face" + }, + "default-spec": [ + [ + "default", + [ + ":inherit", + "rainbow-delimiters-base-face" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#80a880" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#a2b6da" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#80a880", + "foregroundHex": "#80a880", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "selectedInherits": [ + "rainbow-delimiters-base-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "rainbow-delimiters-depth-9-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#887070", + "foregroundHex": "#887070", + "inherit": "rainbow-delimiters-base-face" + }, + "default-spec": [ + [ + "default", + [ + ":inherit", + "rainbow-delimiters-base-face" + ] + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#887070" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#9cb6ad" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#887070", + "foregroundHex": "#887070", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "selectedInherits": [ + "rainbow-delimiters-base-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "rainbow-delimiters-base-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "rainbow-delimiters-mismatched-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "rainbow-delimiters-unmatched-face" + }, + "default-spec": [ + [ + "default", + [ + ":inherit", + "rainbow-delimiters-unmatched-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#88090B", + "foregroundHex": "#88090b", + "height": 1, + "inherit": "rainbow-delimiters-unmatched-face", + "selectedInherits": [ + "rainbow-delimiters-unmatched-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#88090B", + "height": 1, + "inherit": "rainbow-delimiters-unmatched-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "rainbow-delimiters-unmatched-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "rainbow-delimiters-base-error-face" + }, + "default-spec": [ + [ + "default", + [ + ":inherit", + "rainbow-delimiters-base-error-face" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#88090B", + "foregroundHex": "#88090b", + "height": 1, + "inherit": "rainbow-delimiters-base-error-face", + "selectedInherits": [ + "rainbow-delimiters-base-error-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#88090B", + "height": 1, + "inherit": "rainbow-delimiters-base-error-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "region": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "lightgoldenrod2", + "backgroundHex": "#eedc82", + "extend": "t" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":background", + "blue3", + ":extend", + "t" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":background", + "lightgoldenrod2", + ":extend", + "t" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":background", + "blue3", + ":extend", + "t" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":background", + "lightgoldenrod2", + ":extend", + "t" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + ":background", + "blue", + ":foreground", + "white", + ":extend", + "t" + ], + [ + [ + [ + "type", + "tty" + ], + [ + "class", + "mono" + ] + ], + ":inverse-video", + "t" + ], + [ + "t", + ":background", + "gray", + ":extend", + "t" + ] + ], + "effectiveGuiLight": { + "background": "lightgoldenrod2", + "backgroundHex": "#eedc82", + "box": null, + "extend": "t", + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "show-paren-match": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "turquoise", + "backgroundHex": "#40e0d0" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":background", + "turquoise" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":background", + "steelblue3" + ], + [ + [ + [ + "background", + "dark" + ], + [ + "min-colors", + 4 + ] + ], + ":background", + "grey50" + ], + [ + [ + [ + "background", + "light" + ], + [ + "min-colors", + 4 + ] + ], + ":background", + "gray" + ], + [ + "t", + ":inherit", + "underline" + ] + ], + "effectiveGuiLight": { + "background": "turquoise", + "backgroundHex": "#40e0d0", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "underline", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "normal" + }, + "show-paren-mismatch": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "purple", + "backgroundHex": "#a020f0", + "foreground": "white", + "foregroundHex": "#ffffff" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ] + ], + [ + ":foreground", + "white", + ":background", + "purple" + ] + ], + [ + "t", + [ + ":inverse-video", + "t" + ] + ] + ], + "effectiveGuiLight": { + "background": "purple", + "backgroundHex": "#a020f0", + "box": null, + "foreground": "white", + "foregroundHex": "#ffffff", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "success": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "ForestGreen", + "foregroundHex": "#228b22", + "weight": "bold" + }, + "default-spec": [ + [ + "default", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "ForestGreen" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "Green1" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "Green" + ], + [ + [ + [ + "class", + "color" + ] + ], + ":foreground", + "green" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "ForestGreen", + "foregroundHex": "#228b22", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "symbol-overlay-default-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "highlight" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "highlight" + ] + ] + ], + "effectiveGuiLight": { + "background": "darkseagreen2", + "backgroundHex": "#b4eeb4", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "highlight", + "selectedInherits": [ + "highlight" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "highlight", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "symbol-overlay-face-1": { + "background": "dodger blue", + "box": "nil", + "chosenGuiLight": { + "background": "dodger blue", + "backgroundHex": "#1e90ff", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + [ + ":background", + "dodger blue", + ":foreground", + "black" + ] + ] + ], + "effectiveGuiLight": { + "background": "dodger blue", + "backgroundHex": "#1e90ff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "symbol-overlay-face-2": { + "background": "hot pink", + "box": "nil", + "chosenGuiLight": { + "background": "hot pink", + "backgroundHex": "#ff69b4", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + [ + ":background", + "hot pink", + ":foreground", + "black" + ] + ] + ], + "effectiveGuiLight": { + "background": "hot pink", + "backgroundHex": "#ff69b4", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "symbol-overlay-face-3": { + "background": "yellow", + "box": "nil", + "chosenGuiLight": { + "background": "yellow", + "backgroundHex": "#ffff00", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + [ + ":background", + "yellow", + ":foreground", + "black" + ] + ] + ], + "effectiveGuiLight": { + "background": "yellow", + "backgroundHex": "#ffff00", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "symbol-overlay-face-4": { + "background": "orchid", + "box": "nil", + "chosenGuiLight": { + "background": "orchid", + "backgroundHex": "#da70d6", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + [ + ":background", + "orchid", + ":foreground", + "black" + ] + ] + ], + "effectiveGuiLight": { + "background": "orchid", + "backgroundHex": "#da70d6", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "symbol-overlay-face-5": { + "background": "red", + "box": "nil", + "chosenGuiLight": { + "background": "red", + "backgroundHex": "#ff0000", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + [ + ":background", + "red", + ":foreground", + "black" + ] + ] + ], + "effectiveGuiLight": { + "background": "red", + "backgroundHex": "#ff0000", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "symbol-overlay-face-6": { + "background": "salmon", + "box": "nil", + "chosenGuiLight": { + "background": "salmon", + "backgroundHex": "#fa8072", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + [ + ":background", + "salmon", + ":foreground", + "black" + ] + ] + ], + "effectiveGuiLight": { + "background": "salmon", + "backgroundHex": "#fa8072", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "symbol-overlay-face-7": { + "background": "spring green", + "box": "nil", + "chosenGuiLight": { + "background": "spring green", + "backgroundHex": "#00ff7f", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + [ + ":background", + "spring green", + ":foreground", + "black" + ] + ] + ], + "effectiveGuiLight": { + "background": "spring green", + "backgroundHex": "#00ff7f", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "symbol-overlay-face-8": { + "background": "turquoise", + "box": "nil", + "chosenGuiLight": { + "background": "turquoise", + "backgroundHex": "#40e0d0", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + [ + ":background", + "turquoise", + ":foreground", + "black" + ] + ] + ], + "effectiveGuiLight": { + "background": "turquoise", + "backgroundHex": "#40e0d0", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "tmr-description": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "bold" + }, + "default-spec": [ + [ + "t", + ":inherit", + "bold" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "bold", + "selectedInherits": [ + "bold" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "bold", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "tmr-duration": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": "nil", + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "tmr-end-time": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "error" + }, + "default-spec": [ + [ + "t", + ":inherit", + "error" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Red1", + "foregroundHex": "#ff0000", + "height": 1, + "inherit": "error", + "selectedInherits": [ + "error" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "error", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "tmr-finished": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "error" + }, + "default-spec": [ + [ + "t", + ":inherit", + "error" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Red1", + "foregroundHex": "#ff0000", + "height": 1, + "inherit": "error", + "selectedInherits": [ + "error" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "error", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "tmr-is-acknowledged": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "success" + }, + "default-spec": [ + [ + "t", + ":inherit", + "success" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "ForestGreen", + "foregroundHex": "#228b22", + "height": 1, + "inherit": "success", + "selectedInherits": [ + "success" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "success", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "tmr-must-be-acknowledged": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "warning" + }, + "default-spec": [ + [ + "t", + ":inherit", + "warning" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DarkOrange", + "foregroundHex": "#ff8c00", + "height": 1, + "inherit": "warning", + "selectedInherits": [ + "warning" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "warning", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "tmr-start-time": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "success" + }, + "default-spec": [ + [ + "t", + ":inherit", + "success" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "ForestGreen", + "foregroundHex": "#228b22", + "height": 1, + "inherit": "success", + "selectedInherits": [ + "success" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "success", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "tmr-tabulated-acknowledgement": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "bold" + }, + "default-spec": [ + [ + "t", + ":inherit", + "bold" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "bold", + "selectedInherits": [ + "bold" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "bold", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "tmr-tabulated-description": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-doc-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-doc-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-doc-face", + "selectedInherits": [ + "font-lock-doc-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-doc-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "tmr-tabulated-end-time": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#800040", + "foregroundHex": "#800040" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#800040" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#e59fc6" + ], + [ + "t", + ":foreground", + "magenta" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#800040", + "foregroundHex": "#800040", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "magenta", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "tmr-tabulated-remaining-time": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#603f00", + "foregroundHex": "#603f00" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#603f00" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#deba66" + ], + [ + "t", + ":foreground", + "yellow" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#603f00", + "foregroundHex": "#603f00", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "yellow", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "tmr-tabulated-start-time": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#004476", + "foregroundHex": "#004476" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "#004476" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "#c0d0ef" + ], + [ + "t", + ":foreground", + "cyan" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#004476", + "foregroundHex": "#004476", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "cyan", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-active-infix": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "highlight" + }, + "default-spec": [ + [ + "t", + ":inherit", + "highlight" + ] + ], + "effectiveGuiLight": { + "background": "darkseagreen2", + "backgroundHex": "#b4eeb4", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "highlight", + "selectedInherits": [ + "highlight" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "highlight", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-argument": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-string-face", + "weight": "bold" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-string-face", + ":weight", + "bold" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-string-face", + "selectedInherits": [ + "font-lock-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "transient-delimiter": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow" + }, + "default-spec": [ + [ + "t", + ":inherit", + "shadow" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-disabled-suffix": { + "background": "red", + "box": "nil", + "chosenGuiLight": { + "background": "red", + "backgroundHex": "#ff0000", + "foreground": "black", + "foregroundHex": "#000000", + "weight": "bold" + }, + "default-spec": [ + [ + "t", + ":background", + "red", + ":foreground", + "black", + ":weight", + "bold" + ] + ], + "effectiveGuiLight": { + "background": "red", + "backgroundHex": "#ff0000", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "transient-enabled-suffix": { + "background": "green", + "box": "nil", + "chosenGuiLight": { + "background": "green", + "backgroundHex": "#00ff00", + "foreground": "black", + "foregroundHex": "#000000", + "weight": "bold" + }, + "default-spec": [ + [ + "t", + ":background", + "green", + ":foreground", + "black", + ":weight", + "bold" + ] + ], + "effectiveGuiLight": { + "background": "green", + "backgroundHex": "#00ff00", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "transient-heading": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-keyword-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-keyword-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-keyword-face", + "selectedInherits": [ + "font-lock-keyword-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-keyword-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "transient-higher-level": { + "background": "unspecified-bg", + "box": [ + ":line-width", + [ + "cons", + -1, + -1 + ], + ":color", + "grey60" + ], + "chosenGuiLight": { + "box": [ + ":line-width", + [ + "cons", + -1, + -1 + ], + ":color", + "grey60" + ] + }, + "default-spec": [ + [ + "t", + ":box", + [ + ":line-width", + [ + "cons", + -1, + -1 + ], + ":color", + "grey60" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": [ + ":line-width", + [ + "cons", + -1, + -1 + ], + ":color", + "grey60" + ], + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-inactive-argument": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow" + }, + "default-spec": [ + [ + "t", + ":inherit", + "shadow" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-inactive-value": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow" + }, + "default-spec": [ + [ + "t", + ":inherit", + "shadow" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-inapt-argument": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow", + "weight": "bold" + }, + "default-spec": [ + [ + "t", + ":inherit", + "shadow", + ":weight", + "bold" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "transient-inapt-suffix": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow", + "slant": "italic" + }, + "default-spec": [ + [ + "t", + ":inherit", + "shadow", + ":slant", + "italic" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-key": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-builtin-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-builtin-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-builtin-face", + "selectedInherits": [ + "font-lock-builtin-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-builtin-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "transient-key-exit": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#aa2222", + "foregroundHex": "#aa2222", + "inherit": "transient-key" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":inherit", + "transient-key", + ":foreground", + "#aa2222" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":inherit", + "transient-key", + ":foreground", + "#ffdddd" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#aa2222", + "foregroundHex": "#aa2222", + "height": 1, + "inherit": "transient-key", + "selectedInherits": [ + "transient-key" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-key-noop": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "grey80", + "foregroundHex": "#cccccc", + "inherit": "transient-key" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":inherit", + "transient-key", + ":foreground", + "grey80" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":inherit", + "transient-key", + ":foreground", + "grey30" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "grey80", + "foregroundHex": "#cccccc", + "height": 1, + "inherit": "transient-key", + "selectedInherits": [ + "transient-key" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-key-recurse": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#2266ff", + "foregroundHex": "#2266ff", + "inherit": "transient-key" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":inherit", + "transient-key", + ":foreground", + "#2266ff" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":inherit", + "transient-key", + ":foreground", + "#2299ff" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#2266ff", + "foregroundHex": "#2266ff", + "height": 1, + "inherit": "transient-key", + "selectedInherits": [ + "transient-key" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-key-return": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#aaaa11", + "foregroundHex": "#aaaa11", + "inherit": "transient-key" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":inherit", + "transient-key", + ":foreground", + "#aaaa11" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":inherit", + "transient-key", + ":foreground", + "#ffffcc" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#aaaa11", + "foregroundHex": "#aaaa11", + "height": 1, + "inherit": "transient-key", + "selectedInherits": [ + "transient-key" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-key-stack": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#dd4488", + "foregroundHex": "#dd4488", + "inherit": "transient-key" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":inherit", + "transient-key", + ":foreground", + "#dd4488" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":inherit", + "transient-key", + ":foreground", + "#ff6699" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#dd4488", + "foregroundHex": "#dd4488", + "height": 1, + "inherit": "transient-key", + "selectedInherits": [ + "transient-key" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-key-stay": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#22aa22", + "foregroundHex": "#22aa22", + "inherit": "transient-key" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "background", + "light" + ] + ], + ":inherit", + "transient-key", + ":foreground", + "#22aa22" + ], + [ + [ + [ + "class", + "color" + ], + [ + "background", + "dark" + ] + ], + ":inherit", + "transient-key", + ":foreground", + "#ddffdd" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#22aa22", + "foregroundHex": "#22aa22", + "height": 1, + "inherit": "transient-key", + "selectedInherits": [ + "transient-key" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-mismatched-key": { + "background": "unspecified-bg", + "box": [ + ":line-width", + [ + "cons", + -1, + -1 + ], + ":color", + "magenta" + ], + "chosenGuiLight": { + "box": [ + ":line-width", + [ + "cons", + -1, + -1 + ], + ":color", + "magenta" + ] + }, + "default-spec": [ + [ + "t", + ":box", + [ + ":line-width", + [ + "cons", + -1, + -1 + ], + ":color", + "magenta" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": [ + ":line-width", + [ + "cons", + -1, + -1 + ], + ":color", + "magenta" + ], + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-nonstandard-key": { + "background": "unspecified-bg", + "box": [ + ":line-width", + [ + "cons", + -1, + -1 + ], + ":color", + "cyan" + ], + "chosenGuiLight": { + "box": [ + ":line-width", + [ + "cons", + -1, + -1 + ], + ":color", + "cyan" + ] + }, + "default-spec": [ + [ + "t", + ":box", + [ + ":line-width", + [ + "cons", + -1, + -1 + ], + ":color", + "cyan" + ] + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": [ + ":line-width", + [ + "cons", + -1, + -1 + ], + ":color", + "cyan" + ], + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-unreachable": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow" + }, + "default-spec": [ + [ + "t", + ":inherit", + "shadow" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-unreachable-key": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": [ + "shadow", + "transient-key" + ], + "weight": "normal" + }, + "default-spec": [ + [ + "t", + ":inherit", + [ + "shadow", + "transient-key" + ], + ":weight", + "normal" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": [ + "shadow", + "transient-key" + ], + "selectedInherits": [ + "shadow", + "transient-key" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": [ + "shadow", + "transient-key" + ], + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "transient-value": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-string-face", + "weight": "bold" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-string-face", + ":weight", + "bold" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-string-face", + "selectedInherits": [ + "font-lock-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "twentyfortyeight-face-1024": { + "background": "gold", + "box": "nil", + "chosenGuiLight": { + "background": "gold", + "backgroundHex": "#ffd700", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + ":background", + "gold", + ":foreground", + "black" + ] + ], + "effectiveGuiLight": { + "background": "gold", + "backgroundHex": "#ffd700", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "twentyfortyeight-face-128": { + "background": "dark red", + "box": "nil", + "chosenGuiLight": { + "background": "dark red", + "backgroundHex": "#8b0000", + "foreground": "white", + "foregroundHex": "#ffffff" + }, + "default-spec": [ + [ + "t", + ":background", + "dark red", + ":foreground", + "white" + ] + ], + "effectiveGuiLight": { + "background": "dark red", + "backgroundHex": "#8b0000", + "box": null, + "foreground": "white", + "foregroundHex": "#ffffff", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "white", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "twentyfortyeight-face-16": { + "background": "orange", + "box": "nil", + "chosenGuiLight": { + "background": "orange", + "backgroundHex": "#ffa500", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + ":background", + "orange", + ":foreground", + "black" + ] + ], + "effectiveGuiLight": { + "background": "orange", + "backgroundHex": "#ffa500", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "twentyfortyeight-face-2": { + "background": "khaki", + "box": "nil", + "chosenGuiLight": { + "background": "khaki", + "backgroundHex": "#f0e68c", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + ":background", + "khaki", + ":foreground", + "black" + ] + ], + "effectiveGuiLight": { + "background": "khaki", + "backgroundHex": "#f0e68c", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "twentyfortyeight-face-2048": { + "background": "yellow", + "box": "nil", + "chosenGuiLight": { + "background": "yellow", + "backgroundHex": "#ffff00", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + ":background", + "yellow", + ":foreground", + "black" + ] + ], + "effectiveGuiLight": { + "background": "yellow", + "backgroundHex": "#ffff00", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "twentyfortyeight-face-256": { + "background": "dark magenta", + "box": "nil", + "chosenGuiLight": { + "background": "dark magenta", + "backgroundHex": "#8b008b", + "foreground": "white", + "foregroundHex": "#ffffff" + }, + "default-spec": [ + [ + "t", + ":background", + "dark magenta", + ":foreground", + "white" + ] + ], + "effectiveGuiLight": { + "background": "dark magenta", + "backgroundHex": "#8b008b", + "box": null, + "foreground": "white", + "foregroundHex": "#ffffff", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "white", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "twentyfortyeight-face-32": { + "background": "orange red", + "box": "nil", + "chosenGuiLight": { + "background": "orange red", + "backgroundHex": "#ff4500", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + ":background", + "orange red", + ":foreground", + "black" + ] + ], + "effectiveGuiLight": { + "background": "orange red", + "backgroundHex": "#ff4500", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "twentyfortyeight-face-4": { + "background": "burlywood", + "box": "nil", + "chosenGuiLight": { + "background": "burlywood", + "backgroundHex": "#deb887", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + ":background", + "burlywood", + ":foreground", + "black" + ] + ], + "effectiveGuiLight": { + "background": "burlywood", + "backgroundHex": "#deb887", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "twentyfortyeight-face-512": { + "background": "magenta", + "box": "nil", + "chosenGuiLight": { + "background": "magenta", + "backgroundHex": "#ff00ff", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + ":background", + "magenta", + ":foreground", + "black" + ] + ], + "effectiveGuiLight": { + "background": "magenta", + "backgroundHex": "#ff00ff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "twentyfortyeight-face-64": { + "background": "firebrick", + "box": "nil", + "chosenGuiLight": { + "background": "firebrick", + "backgroundHex": "#b22222", + "foreground": "white", + "foregroundHex": "#ffffff" + }, + "default-spec": [ + [ + "t", + ":background", + "firebrick", + ":foreground", + "white" + ] + ], + "effectiveGuiLight": { + "background": "firebrick", + "backgroundHex": "#b22222", + "box": null, + "foreground": "white", + "foregroundHex": "#ffffff", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "white", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "twentyfortyeight-face-8": { + "background": "orange3", + "box": "nil", + "chosenGuiLight": { + "background": "orange3", + "backgroundHex": "#cd8500", + "foreground": "black", + "foregroundHex": "#000000" + }, + "default-spec": [ + [ + "t", + ":background", + "orange3", + ":foreground", + "black" + ] + ], + "effectiveGuiLight": { + "background": "orange3", + "backgroundHex": "#cd8500", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "black", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "vertical-border": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": [ + [ + [ + [ + "type", + "tty" + ] + ], + ":inherit", + "mode-line-inactive" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "mode-line-inactive", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "vertico-current": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "extend": "t", + "inherit": "highlight" + }, + "default-spec": [ + [ + "t", + ":inherit", + "highlight", + ":extend", + "t" + ] + ], + "effectiveGuiLight": { + "background": "darkseagreen2", + "backgroundHex": "#b4eeb4", + "box": null, + "extend": "t", + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "highlight", + "selectedInherits": [ + "highlight" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "highlight", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "vertico-group-separator": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "vertico-group-title", + "strike": "t" + }, + "default-spec": [ + [ + "t", + ":inherit", + "vertico-group-title", + ":strike-through", + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "vertico-group-title", + "selectedInherits": [ + "vertico-group-title" + ], + "slant": "italic", + "strike": "t", + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "vertico-group-title", + "slant": "italic", + "strike": "t", + "underline": "nil", + "weight": "normal" + }, + "vertico-group-title": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow", + "slant": "italic" + }, + "default-spec": [ + [ + "t", + ":inherit", + "shadow", + ":slant", + "italic" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "vertico-multiline": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "shadow" + }, + "default-spec": [ + [ + "t", + ":inherit", + "shadow" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "shadow", + "selectedInherits": [ + "shadow" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "shadow", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "warning": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "DarkOrange", + "foregroundHex": "#ff8c00", + "weight": "bold" + }, + "default-spec": [ + [ + "default", + ":weight", + "bold" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ] + ], + ":foreground", + "DarkOrange" + ], + [ + [ + [ + "class", + "color" + ] + ], + ":foreground", + "yellow" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DarkOrange", + "foregroundHex": "#ff8c00", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-annotation-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-comment-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-comment-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-comment-face", + "selectedInherits": [ + "web-mode-comment-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-comment-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-annotation-html-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-annotation-face", + "slant": "italic" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-annotation-face", + ":slant", + "italic" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-annotation-face", + "selectedInherits": [ + "web-mode-annotation-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-annotation-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-annotation-tag-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-annotation-face", + "underline": "t" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-annotation-face", + ":underline", + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-annotation-face", + "selectedInherits": [ + "web-mode-annotation-face" + ], + "slant": "italic", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-annotation-face", + "slant": "italic", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "web-mode-annotation-type-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-annotation-face", + "weight": "bold" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-annotation-face", + ":weight", + "bold" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-annotation-face", + "selectedInherits": [ + "web-mode-annotation-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-annotation-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-annotation-value-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-annotation-face", + "slant": "italic" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-annotation-face", + ":slant", + "italic" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-annotation-face", + "selectedInherits": [ + "web-mode-annotation-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-annotation-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-block-attr-name-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#8fbc8f", + "foregroundHex": "#8fbc8f" + }, + "default-spec": [ + [ + "t", + ":foreground", + "#8fbc8f" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#8fbc8f", + "foregroundHex": "#8fbc8f", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#8fbc8f", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-block-attr-value-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "#5f9ea0", + "foregroundHex": "#5f9ea0" + }, + "default-spec": [ + [ + "t", + ":foreground", + "#5f9ea0" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "#5f9ea0", + "foregroundHex": "#5f9ea0", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#5f9ea0", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-block-comment-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-comment-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-comment-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-comment-face", + "selectedInherits": [ + "web-mode-comment-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-comment-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-block-control-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-preprocessor-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-preprocessor-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-preprocessor-face", + "selectedInherits": [ + "font-lock-preprocessor-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-preprocessor-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-block-delimiter-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-preprocessor-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-preprocessor-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-preprocessor-face", + "selectedInherits": [ + "font-lock-preprocessor-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-preprocessor-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-block-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "LightYellow1", + "backgroundHex": "#ffffe0" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":background", + "Black" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":background", + "LightYellow1" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":background", + "Grey18" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":background", + "LightYellow1" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + ":background", + "Black" + ], + [ + [ + [ + "type", + "tty" + ], + [ + "class", + "mono" + ] + ], + ":inverse-video", + "t" + ], + [ + "t", + ":background", + "Grey" + ] + ], + "effectiveGuiLight": { + "background": "LightYellow1", + "backgroundHex": "#ffffe0", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-block-string-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-string-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-string-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-string-face", + "selectedInherits": [ + "web-mode-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-bold-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "weight": "bold" + }, + "default-spec": [ + [ + "t", + ":weight", + "bold" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-builtin-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-builtin-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-builtin-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-builtin-face", + "selectedInherits": [ + "font-lock-builtin-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-builtin-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-comment-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-comment-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-comment-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-comment-face", + "selectedInherits": [ + "font-lock-comment-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-comment-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-comment-keyword-face": { + "background": "unspecified-bg", + "box": 1, + "chosenGuiLight": { + "box": "t", + "weight": "bold" + }, + "default-spec": [ + [ + "t", + ":weight", + "bold", + ":box", + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": "t", + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-constant-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-constant-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-constant-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-constant-face", + "selectedInherits": [ + "font-lock-constant-face" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-constant-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "web-mode-css-at-rule-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-constant-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-constant-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-constant-face", + "selectedInherits": [ + "font-lock-constant-face" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-constant-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "web-mode-css-color-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-builtin-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-builtin-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-builtin-face", + "selectedInherits": [ + "font-lock-builtin-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-builtin-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-css-comment-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-comment-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-comment-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-comment-face", + "selectedInherits": [ + "web-mode-comment-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-comment-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-css-function-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-builtin-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-builtin-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-builtin-face", + "selectedInherits": [ + "font-lock-builtin-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-builtin-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-css-priority-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-builtin-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-builtin-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-builtin-face", + "selectedInherits": [ + "font-lock-builtin-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-builtin-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-css-property-name-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-variable-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-variable-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-variable-name-face", + "selectedInherits": [ + "font-lock-variable-name-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-variable-name-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-css-pseudo-class-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-builtin-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-builtin-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-builtin-face", + "selectedInherits": [ + "font-lock-builtin-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-builtin-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-css-selector-class-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-keyword-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-keyword-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-keyword-face", + "selectedInherits": [ + "font-lock-keyword-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-keyword-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-css-selector-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-keyword-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-keyword-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-keyword-face", + "selectedInherits": [ + "font-lock-keyword-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-keyword-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-css-selector-tag-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-keyword-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-keyword-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-keyword-face", + "selectedInherits": [ + "font-lock-keyword-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-keyword-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-css-string-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-string-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-string-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-string-face", + "selectedInherits": [ + "web-mode-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-css-variable-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-variable-name-face", + "slant": "italic" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-variable-name-face", + ":slant", + "italic" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "web-mode-variable-name-face", + "selectedInherits": [ + "web-mode-variable-name-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-variable-name-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-current-column-highlight-face": { + "background": "#3e3c36", + "box": "nil", + "chosenGuiLight": { + "background": "#3e3c36", + "backgroundHex": "#3e3c36" + }, + "default-spec": [ + [ + "t", + ":background", + "#3e3c36" + ] + ], + "effectiveGuiLight": { + "background": "#3e3c36", + "backgroundHex": "#3e3c36", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-current-element-highlight-face": { + "background": "#000000", + "box": "nil", + "chosenGuiLight": { + "background": "#000000", + "backgroundHex": "#000000", + "foreground": "#ffffff", + "foregroundHex": "#ffffff" + }, + "default-spec": [ + [ + "t", + ":background", + "#000000", + ":foreground", + "#ffffff" + ] + ], + "effectiveGuiLight": { + "background": "#000000", + "backgroundHex": "#000000", + "box": null, + "foreground": "#ffffff", + "foregroundHex": "#ffffff", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "#ffffff", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-doctype-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "Grey", + "foregroundHex": "#bebebe" + }, + "default-spec": [ + [ + "t", + ":foreground", + "Grey" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Grey", + "foregroundHex": "#bebebe", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "Grey", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-error-face": { + "background": "red", + "box": "nil", + "chosenGuiLight": { + "background": "red", + "backgroundHex": "#ff0000" + }, + "default-spec": [ + [ + "t", + ":background", + "red" + ] + ], + "effectiveGuiLight": { + "background": "red", + "backgroundHex": "#ff0000", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-filter-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-function-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-function-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1, + "inherit": "font-lock-function-name-face", + "selectedInherits": [ + "font-lock-function-name-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-function-name-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-folded-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "underline": "t" + }, + "default-spec": [ + [ + "t", + ":underline", + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "normal" + }, + "web-mode-function-call-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-function-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-function-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1, + "inherit": "font-lock-function-name-face", + "selectedInherits": [ + "font-lock-function-name-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-function-name-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-function-name-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-function-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-function-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Blue1", + "foregroundHex": "#0000ff", + "height": 1, + "inherit": "font-lock-function-name-face", + "selectedInherits": [ + "font-lock-function-name-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-function-name-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-html-attr-custom-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-html-attr-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-html-attr-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Snow4", + "foregroundHex": "#8b8989", + "height": 1, + "inherit": "web-mode-html-attr-name-face", + "selectedInherits": [ + "web-mode-html-attr-name-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-html-attr-name-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-html-attr-engine-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-block-delimiter-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-block-delimiter-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "web-mode-block-delimiter-face", + "selectedInherits": [ + "web-mode-block-delimiter-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-block-delimiter-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-html-attr-equal-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-html-attr-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-html-attr-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Snow4", + "foregroundHex": "#8b8989", + "height": 1, + "inherit": "web-mode-html-attr-name-face", + "selectedInherits": [ + "web-mode-html-attr-name-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-html-attr-name-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-html-attr-name-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "Snow4", + "foregroundHex": "#8b8989" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "Snow3" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "Snow4" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "Snow3" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "Grey13" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + ":foreground", + "Snow3" + ], + [ + [ + [ + "type", + "tty" + ], + [ + "class", + "mono" + ] + ], + ":inverse-video", + "t" + ], + [ + "t", + ":foreground", + "Snow4" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Snow4", + "foregroundHex": "#8b8989", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-html-attr-value-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-string-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-string-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-string-face", + "selectedInherits": [ + "font-lock-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-html-entity-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "slant": "italic" + }, + "default-spec": [ + [ + "t", + ":slant", + "italic" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-html-tag-bracket-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "Grey14", + "foregroundHex": "#242424" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "Snow3" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "Grey14" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "Snow3" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "Grey14" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + ":foreground", + "Snow3" + ], + [ + [ + [ + "type", + "tty" + ], + [ + "class", + "mono" + ] + ], + ":inverse-video", + "t" + ], + [ + "t", + ":foreground", + "Snow3" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Grey14", + "foregroundHex": "#242424", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-html-tag-custom-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-html-tag-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-html-tag-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Snow4", + "foregroundHex": "#8b8989", + "height": 1, + "inherit": "web-mode-html-tag-face", + "selectedInherits": [ + "web-mode-html-tag-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-html-tag-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-html-tag-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "Snow4", + "foregroundHex": "#8b8989" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "Snow4" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "Snow4" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":foreground", + "Snow4" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":foreground", + "Grey15" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + ":foreground", + "Snow4" + ], + [ + [ + [ + "type", + "tty" + ], + [ + "class", + "mono" + ] + ], + ":inverse-video", + "t" + ], + [ + "t", + ":foreground", + "Snow4" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Snow4", + "foregroundHex": "#8b8989", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-html-tag-namespaced-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-block-control-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-block-control-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "web-mode-block-control-face", + "selectedInherits": [ + "web-mode-block-control-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-block-control-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-html-tag-unclosed-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-html-tag-face", + "underline": "t" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-html-tag-face", + ":underline", + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Snow4", + "foregroundHex": "#8b8989", + "height": 1, + "inherit": "web-mode-html-tag-face", + "selectedInherits": [ + "web-mode-html-tag-face" + ], + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-html-tag-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "normal" + }, + "web-mode-inlay-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "background": "LightYellow1", + "backgroundHex": "#ffffe0" + }, + "default-spec": [ + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "dark" + ] + ], + ":background", + "Black" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 88 + ], + [ + "background", + "light" + ] + ], + ":background", + "LightYellow1" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "dark" + ] + ], + ":background", + "Brey18" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 16 + ], + [ + "background", + "light" + ] + ], + ":background", + "LightYellow1" + ], + [ + [ + [ + "class", + "color" + ], + [ + "min-colors", + 8 + ] + ], + ":background", + "Black" + ], + [ + [ + [ + "type", + "tty" + ], + [ + "class", + "mono" + ] + ], + ":inverse-video", + "t" + ], + [ + "t", + ":background", + "Grey" + ] + ], + "effectiveGuiLight": { + "background": "LightYellow1", + "backgroundHex": "#ffffe0", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-interpolate-color1-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-string-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-string-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-string-face", + "selectedInherits": [ + "web-mode-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-interpolate-color2-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-string-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-string-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-string-face", + "selectedInherits": [ + "web-mode-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-interpolate-color3-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-string-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-string-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-string-face", + "selectedInherits": [ + "web-mode-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-interpolate-color4-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-string-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-string-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-string-face", + "selectedInherits": [ + "web-mode-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-italic-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "slant": "italic" + }, + "default-spec": [ + [ + "t", + ":slant", + "italic" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-javascript-comment-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-comment-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-comment-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-comment-face", + "selectedInherits": [ + "web-mode-comment-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-comment-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-javascript-string-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-string-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-string-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-string-face", + "selectedInherits": [ + "web-mode-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-json-comment-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-comment-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-comment-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-comment-face", + "selectedInherits": [ + "web-mode-comment-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-comment-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-json-context-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "orchid3", + "foregroundHex": "#cd69c9" + }, + "default-spec": [ + [ + "t", + ":foreground", + "orchid3" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "orchid3", + "foregroundHex": "#cd69c9", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "orchid3", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-json-key-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "plum", + "foregroundHex": "#dda0dd" + }, + "default-spec": [ + [ + "t", + ":foreground", + "plum" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "plum", + "foregroundHex": "#dda0dd", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "plum", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-json-string-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-string-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-string-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-string-face", + "selectedInherits": [ + "web-mode-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-jsx-depth-1-face": { + "background": "#000053", + "box": "nil", + "chosenGuiLight": { + "background": "#000053", + "backgroundHex": "#000053" + }, + "default-spec": [ + [ + "t", + ":background", + "#000053" + ] + ], + "effectiveGuiLight": { + "background": "#000053", + "backgroundHex": "#000053", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-jsx-depth-2-face": { + "background": "#001970", + "box": "nil", + "chosenGuiLight": { + "background": "#001970", + "backgroundHex": "#001970" + }, + "default-spec": [ + [ + "t", + ":background", + "#001970" + ] + ], + "effectiveGuiLight": { + "background": "#001970", + "backgroundHex": "#001970", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-jsx-depth-3-face": { + "background": "#002984", + "box": "nil", + "chosenGuiLight": { + "background": "#002984", + "backgroundHex": "#002984" + }, + "default-spec": [ + [ + "t", + ":background", + "#002984" + ] + ], + "effectiveGuiLight": { + "background": "#002984", + "backgroundHex": "#002984", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-jsx-depth-4-face": { + "background": "#49599a", + "box": "nil", + "chosenGuiLight": { + "background": "#49599a", + "backgroundHex": "#49599a" + }, + "default-spec": [ + [ + "t", + ":background", + "#49599a" + ] + ], + "effectiveGuiLight": { + "background": "#49599a", + "backgroundHex": "#49599a", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-jsx-depth-5-face": { + "background": "#9499b7", + "box": "nil", + "chosenGuiLight": { + "background": "#9499b7", + "backgroundHex": "#9499b7" + }, + "default-spec": [ + [ + "t", + ":background", + "#9499b7" + ] + ], + "effectiveGuiLight": { + "background": "#9499b7", + "backgroundHex": "#9499b7", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-keyword-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-keyword-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-keyword-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-keyword-face", + "selectedInherits": [ + "font-lock-keyword-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-keyword-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-param-name-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "Snow3", + "foregroundHex": "#cdc9c9" + }, + "default-spec": [ + [ + "t", + ":foreground", + "Snow3" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Snow3", + "foregroundHex": "#cdc9c9", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "Snow3", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-part-comment-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-comment-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-comment-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-comment-face", + "selectedInherits": [ + "web-mode-comment-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-comment-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-part-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-block-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-block-face" + ] + ], + "effectiveGuiLight": { + "background": "LightYellow1", + "backgroundHex": "#ffffe0", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "web-mode-block-face", + "selectedInherits": [ + "web-mode-block-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-block-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-part-string-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-string-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-string-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "web-mode-string-face", + "selectedInherits": [ + "web-mode-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-preprocessor-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-preprocessor-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-preprocessor-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "LightGray", + "foregroundHex": "#d3d3d3", + "height": 1, + "inherit": "font-lock-preprocessor-face", + "selectedInherits": [ + "font-lock-preprocessor-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-preprocessor-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-script-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-part-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-part-face" + ] + ], + "effectiveGuiLight": { + "background": "LightYellow1", + "backgroundHex": "#ffffe0", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "web-mode-part-face", + "selectedInherits": [ + "web-mode-part-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-part-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-sql-keyword-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "slant": "italic", + "weight": "bold" + }, + "default-spec": [ + [ + "t", + ":weight", + "bold", + ":slant", + "italic" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-string-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-string-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-string-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "DimGray", + "foregroundHex": "#696969", + "height": 1, + "inherit": "font-lock-string-face", + "selectedInherits": [ + "font-lock-string-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-string-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-style-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "web-mode-part-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "web-mode-part-face" + ] + ], + "effectiveGuiLight": { + "background": "LightYellow1", + "backgroundHex": "#ffffe0", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "web-mode-part-face", + "selectedInherits": [ + "web-mode-part-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "web-mode-part-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-symbol-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "foreground": "goldenrod2", + "foregroundHex": "#eeb422" + }, + "default-spec": [ + [ + "t", + ":foreground", + "goldenrod2" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "goldenrod2", + "foregroundHex": "#eeb422", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "goldenrod2", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "web-mode-type-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-type-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-type-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-type-face", + "selectedInherits": [ + "font-lock-type-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-type-face", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "bold" + }, + "web-mode-underline-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "underline": "t" + }, + "default-spec": [ + [ + "t", + ":underline", + "t" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": "t", + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "t", + "weight": "normal" + }, + "web-mode-variable-name-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-variable-name-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-variable-name-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "Gray90", + "foregroundHex": "#e5e5e5", + "height": 1, + "inherit": "font-lock-variable-name-face", + "selectedInherits": [ + "font-lock-variable-name-face" + ], + "slant": "italic", + "strike": null, + "underline": null, + "weight": "bold" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-variable-name-face", + "slant": "italic", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-warning-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "font-lock-warning-face" + }, + "default-spec": [ + [ + "t", + ":inherit", + "font-lock-warning-face" + ] + ], + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "font-lock-warning-face", + "selectedInherits": [ + "font-lock-warning-face" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "font-lock-warning-face", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "bold" + }, + "web-mode-whitespace-face": { + "background": "DarkOrchid4", + "box": "nil", + "chosenGuiLight": { + "background": "DarkOrchid4", + "backgroundHex": "#68228b" + }, + "default-spec": [ + [ + "t", + ":background", + "DarkOrchid4" + ] + ], + "effectiveGuiLight": { + "background": "DarkOrchid4", + "backgroundHex": "#68228b", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "yas--field-debug-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": {}, + "default-spec": "nil", + "effectiveGuiLight": { + "background": "white", + "backgroundHex": "#ffffff", + "box": null, + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "nil", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + }, + "yas-field-highlight-face": { + "background": "unspecified-bg", + "box": "nil", + "chosenGuiLight": { + "inherit": "region" + }, + "default-spec": [ + [ + "t", + [ + ":inherit", + "region" + ] + ] + ], + "effectiveGuiLight": { + "background": "lightgoldenrod2", + "backgroundHex": "#eedc82", + "box": null, + "extend": "t", + "foreground": "black", + "foregroundHex": "#000000", + "height": 1, + "inherit": "region", + "selectedInherits": [ + "region" + ], + "slant": "normal", + "strike": null, + "underline": null, + "weight": "normal" + }, + "exists": true, + "foreground": "unspecified-fg", + "height": 1, + "inherit": "region", + "slant": "normal", + "strike": "nil", + "underline": "nil", + "weight": "normal" + } + }, + "meta": { + "captured-by": "scripts/theme-studio/capture-default-faces.py", + "default-background": "white", + "default-foreground": "black", + "display-color-cells": 16777216, + "emacs-version": "30.2", + "loaded-defface-file-count": 56, + "package-face-count": 643, + "package-unresolved-face-count": 23, + "resolution-model": "gui-light-24bit-from-face-default-spec", + "window-system": "batch" + }, + "package-defface-files": { + "2048-game": { + "twentyfortyeight-face-1024": "/home/cjennings/.emacs.d/elpa/2048-game-20230809.356/2048-game.el", + "twentyfortyeight-face-128": "/home/cjennings/.emacs.d/elpa/2048-game-20230809.356/2048-game.el", + "twentyfortyeight-face-16": "/home/cjennings/.emacs.d/elpa/2048-game-20230809.356/2048-game.el", + "twentyfortyeight-face-2": "/home/cjennings/.emacs.d/elpa/2048-game-20230809.356/2048-game.el", + "twentyfortyeight-face-2048": "/home/cjennings/.emacs.d/elpa/2048-game-20230809.356/2048-game.el", + "twentyfortyeight-face-256": "/home/cjennings/.emacs.d/elpa/2048-game-20230809.356/2048-game.el", + "twentyfortyeight-face-32": "/home/cjennings/.emacs.d/elpa/2048-game-20230809.356/2048-game.el", + "twentyfortyeight-face-4": "/home/cjennings/.emacs.d/elpa/2048-game-20230809.356/2048-game.el", + "twentyfortyeight-face-512": "/home/cjennings/.emacs.d/elpa/2048-game-20230809.356/2048-game.el", + "twentyfortyeight-face-64": "/home/cjennings/.emacs.d/elpa/2048-game-20230809.356/2048-game.el", + "twentyfortyeight-face-8": "/home/cjennings/.emacs.d/elpa/2048-game-20230809.356/2048-game.el" + }, + "alert": { + "alert-high-face": "/home/cjennings/.emacs.d/elpa/alert-20250615.1845/alert.el", + "alert-low-face": "/home/cjennings/.emacs.d/elpa/alert-20250615.1845/alert.el", + "alert-moderate-face": "/home/cjennings/.emacs.d/elpa/alert-20250615.1845/alert.el", + "alert-normal-face": "/home/cjennings/.emacs.d/elpa/alert-20250615.1845/alert.el", + "alert-trivial-face": "/home/cjennings/.emacs.d/elpa/alert-20250615.1845/alert.el", + "alert-urgent-face": "/home/cjennings/.emacs.d/elpa/alert-20250615.1845/alert.el" + }, + "all-the-icons": { + "all-the-icons-blue": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-blue-alt": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-cyan": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-cyan-alt": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-dblue": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-dcyan": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-dgreen": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-dmaroon": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-dorange": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-dpink": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-dpurple": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-dred": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-dsilver": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-dyellow": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-green": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-lblue": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-lcyan": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-lgreen": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-lmaroon": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-lorange": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-lpink": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-lpurple": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-lred": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-lsilver": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-lyellow": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-maroon": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-orange": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-pink": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-purple": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-purple-alt": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-red": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-red-alt": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-silver": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el", + "all-the-icons-yellow": "/home/cjennings/.emacs.d/elpa/all-the-icons-20250527.927/all-the-icons-faces.el" + }, + "company": { + "company-echo": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-echo-common": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-preview": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-preview-common": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-preview-search": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-tooltip": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-tooltip-annotation": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-tooltip-annotation-selection": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-tooltip-common": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-tooltip-common-selection": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-tooltip-deprecated": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-tooltip-mouse": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-tooltip-quick-access": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-tooltip-quick-access-selection": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-tooltip-scrollbar-thumb": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-tooltip-scrollbar-track": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-tooltip-search": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-tooltip-search-selection": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el", + "company-tooltip-selection": "/home/cjennings/.emacs.d/elpa/company-1.0.2/company.el" + }, + "company-box": { + "company-box-annotation": "/home/cjennings/.emacs.d/elpa/company-box-20240320.921/company-box.el", + "company-box-background": "/home/cjennings/.emacs.d/elpa/company-box-20240320.921/company-box.el", + "company-box-candidate": "/home/cjennings/.emacs.d/elpa/company-box-20240320.921/company-box.el", + "company-box-numbers": "/home/cjennings/.emacs.d/elpa/company-box-20240320.921/company-box.el", + "company-box-scrollbar": "/home/cjennings/.emacs.d/elpa/company-box-20240320.921/company-box.el", + "company-box-selection": "/home/cjennings/.emacs.d/elpa/company-box-20240320.921/company-box.el" + }, + "consult": { + "consult-async-failed": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-async-finished": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-async-running": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-async-split": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-bookmark": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-buffer": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-file": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-grep-context": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-help": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-highlight-mark": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-highlight-match": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-key": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-line-number": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-line-number-prefix": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-line-number-wrapped": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-narrow-indicator": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-preview-insertion": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-preview-line": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-preview-match": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el", + "consult-separator": "/home/cjennings/.emacs.d/elpa/consult-2.6/consult.el" + }, + "dashboard": { + "dashboard-banner-logo-title": "/home/cjennings/.emacs.d/elpa/dashboard-20250708.57/dashboard-widgets.el", + "dashboard-footer-face": "/home/cjennings/.emacs.d/elpa/dashboard-20250708.57/dashboard-widgets.el", + "dashboard-footer-icon-face": "/home/cjennings/.emacs.d/elpa/dashboard-20250708.57/dashboard-widgets.el", + "dashboard-heading": "/home/cjennings/.emacs.d/elpa/dashboard-20250708.57/dashboard-widgets.el", + "dashboard-items-face": "/home/cjennings/.emacs.d/elpa/dashboard-20250708.57/dashboard-widgets.el", + "dashboard-navigator": "/home/cjennings/.emacs.d/elpa/dashboard-20250708.57/dashboard-widgets.el", + "dashboard-no-items-face": "/home/cjennings/.emacs.d/elpa/dashboard-20250708.57/dashboard-widgets.el", + "dashboard-text-banner": "/home/cjennings/.emacs.d/elpa/dashboard-20250708.57/dashboard-widgets.el" + }, + "dirvish": { + "dirvish-collapse-dir-face": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-collapse.el", + "dirvish-collapse-empty-dir-face": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-collapse.el", + "dirvish-collapse-file-face": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-collapse.el", + "dirvish-emerge-group-title": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-emerge.el", + "dirvish-file-device-number": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish-widgets.el", + "dirvish-file-group-id": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish-widgets.el", + "dirvish-file-inode-number": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish-widgets.el", + "dirvish-file-link-number": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish-widgets.el", + "dirvish-file-modes": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish-widgets.el", + "dirvish-file-size": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish-widgets.el", + "dirvish-file-time": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish-widgets.el", + "dirvish-file-user-id": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish-widgets.el", + "dirvish-free-space": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish-widgets.el", + "dirvish-git-commit-message-face": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-vc.el", + "dirvish-hl-line": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish.el", + "dirvish-hl-line-inactive": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish.el", + "dirvish-inactive": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish.el", + "dirvish-media-info-heading": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish-widgets.el", + "dirvish-media-info-property-key": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish-widgets.el", + "dirvish-narrow-match-face-0": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-narrow.el", + "dirvish-narrow-match-face-1": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-narrow.el", + "dirvish-narrow-match-face-2": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-narrow.el", + "dirvish-narrow-match-face-3": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-narrow.el", + "dirvish-narrow-split": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-narrow.el", + "dirvish-proc-failed": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish.el", + "dirvish-proc-finished": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish.el", + "dirvish-proc-running": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/dirvish.el", + "dirvish-subtree-guide": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-subtree.el", + "dirvish-subtree-state": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-subtree.el", + "dirvish-vc-added-state": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-vc.el", + "dirvish-vc-conflict-state": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-vc.el", + "dirvish-vc-edited-state": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-vc.el", + "dirvish-vc-locked-state": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-vc.el", + "dirvish-vc-missing-state": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-vc.el", + "dirvish-vc-needs-merge-face": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-vc.el", + "dirvish-vc-needs-update-state": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-vc.el", + "dirvish-vc-removed-state": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-vc.el", + "dirvish-vc-unregistered-face": "/home/cjennings/.emacs.d/elpa/dirvish-2.3.0/extensions/dirvish-vc.el" + }, + "elfeed": { + "elfeed-log-date-face": "/home/cjennings/.emacs.d/elpa/elfeed-20241202.22/elfeed-log.el", + "elfeed-log-debug-level-face": "/home/cjennings/.emacs.d/elpa/elfeed-20241202.22/elfeed-log.el", + "elfeed-log-error-level-face": "/home/cjennings/.emacs.d/elpa/elfeed-20241202.22/elfeed-log.el", + "elfeed-log-info-level-face": "/home/cjennings/.emacs.d/elpa/elfeed-20241202.22/elfeed-log.el", + "elfeed-log-warn-level-face": "/home/cjennings/.emacs.d/elpa/elfeed-20241202.22/elfeed-log.el", + "elfeed-search-date-face": "/home/cjennings/.emacs.d/elpa/elfeed-20241202.22/elfeed-search.el", + "elfeed-search-feed-face": "/home/cjennings/.emacs.d/elpa/elfeed-20241202.22/elfeed-search.el", + "elfeed-search-filter-face": "/home/cjennings/.emacs.d/elpa/elfeed-20241202.22/elfeed-search.el", + "elfeed-search-last-update-face": "/home/cjennings/.emacs.d/elpa/elfeed-20241202.22/elfeed-search.el", + "elfeed-search-tag-face": "/home/cjennings/.emacs.d/elpa/elfeed-20241202.22/elfeed-search.el", + "elfeed-search-title-face": "/home/cjennings/.emacs.d/elpa/elfeed-20241202.22/elfeed-search.el", + "elfeed-search-unread-count-face": "/home/cjennings/.emacs.d/elpa/elfeed-20241202.22/elfeed-search.el", + "elfeed-search-unread-title-face": "/home/cjennings/.emacs.d/elpa/elfeed-20241202.22/elfeed-search.el" + }, + "embark": { + "embark-collect-annotation": "/home/cjennings/.emacs.d/elpa/embark-1.1/embark.el", + "embark-collect-candidate": "/home/cjennings/.emacs.d/elpa/embark-1.1/embark.el", + "embark-collect-group-separator": "/home/cjennings/.emacs.d/elpa/embark-1.1/embark.el", + "embark-collect-group-title": "/home/cjennings/.emacs.d/elpa/embark-1.1/embark.el", + "embark-keybinding": "/home/cjennings/.emacs.d/elpa/embark-1.1/embark.el", + "embark-keybinding-repeat": "/home/cjennings/.emacs.d/elpa/embark-1.1/embark.el", + "embark-keymap": "/home/cjennings/.emacs.d/elpa/embark-1.1/embark.el", + "embark-selected": "/home/cjennings/.emacs.d/elpa/embark-1.1/embark.el", + "embark-target": "/home/cjennings/.emacs.d/elpa/embark-1.1/embark.el", + "embark-verbose-indicator-documentation": "/home/cjennings/.emacs.d/elpa/embark-1.1/embark.el", + "embark-verbose-indicator-shadowed": "/home/cjennings/.emacs.d/elpa/embark-1.1/embark.el", + "embark-verbose-indicator-title": "/home/cjennings/.emacs.d/elpa/embark-1.1/embark.el" + }, + "emms": { + "emms-metaplaylist-mode-current-face": "/home/cjennings/.emacs.d/elpa/emms-24/emms-metaplaylist-mode.el", + "emms-metaplaylist-mode-face": "/home/cjennings/.emacs.d/elpa/emms-24/emms-metaplaylist-mode.el", + "emms-playlist-selected-face": "/home/cjennings/.emacs.d/elpa/emms-24/emms-playlist-mode.el", + "emms-playlist-track-face": "/home/cjennings/.emacs.d/elpa/emms-24/emms-playlist-mode.el" + }, + "flycheck": { + "flycheck-delimited-error": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-error": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-error-delimiter": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-error-list-checker-name": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-error-list-column-number": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-error-list-error": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-error-list-error-message": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-error-list-filename": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-error-list-highlight": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-error-list-id": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-error-list-id-with-explainer": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-error-list-info": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-error-list-line-number": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-error-list-warning": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-fringe-error": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-fringe-info": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-fringe-warning": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-info": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-verify-select-checker": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el", + "flycheck-warning": "/home/cjennings/.emacs.d/elpa/flycheck-35.0/flycheck.el" + }, + "flyspell-correct": { + "flyspell-correct-highlight-face": "/home/cjennings/.emacs.d/elpa/flyspell-correct-20220520.630/flyspell-correct.el" + }, + "ghostel": { + "ghostel-color-black": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-color-blue": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-color-bright-black": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-color-bright-blue": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-color-bright-cyan": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-color-bright-green": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-color-bright-magenta": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-color-bright-red": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-color-bright-white": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-color-bright-yellow": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-color-cyan": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-color-green": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-color-magenta": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-color-red": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-color-white": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-color-yellow": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-default": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-fake-cursor": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el", + "ghostel-fake-cursor-box": "/home/cjennings/.emacs.d/elpa/ghostel-20260604.2049/ghostel.el" + }, + "git-gutter": { + "git-gutter:added": "/home/cjennings/.emacs.d/elpa/git-gutter-20241212.1415/git-gutter.el", + "git-gutter:deleted": "/home/cjennings/.emacs.d/elpa/git-gutter-20241212.1415/git-gutter.el", + "git-gutter:modified": "/home/cjennings/.emacs.d/elpa/git-gutter-20241212.1415/git-gutter.el", + "git-gutter:separator": "/home/cjennings/.emacs.d/elpa/git-gutter-20241212.1415/git-gutter.el", + "git-gutter:unchanged": "/home/cjennings/.emacs.d/elpa/git-gutter-20241212.1415/git-gutter.el" + }, + "highlight-indent-guides": { + "highlight-indent-guides-character-face": "/home/cjennings/.emacs.d/elpa/highlight-indent-guides-20241229.2012/highlight-indent-guides.el", + "highlight-indent-guides-even-face": "/home/cjennings/.emacs.d/elpa/highlight-indent-guides-20241229.2012/highlight-indent-guides.el", + "highlight-indent-guides-odd-face": "/home/cjennings/.emacs.d/elpa/highlight-indent-guides-20241229.2012/highlight-indent-guides.el", + "highlight-indent-guides-stack-character-face": "/home/cjennings/.emacs.d/elpa/highlight-indent-guides-20241229.2012/highlight-indent-guides.el", + "highlight-indent-guides-stack-even-face": "/home/cjennings/.emacs.d/elpa/highlight-indent-guides-20241229.2012/highlight-indent-guides.el", + "highlight-indent-guides-stack-odd-face": "/home/cjennings/.emacs.d/elpa/highlight-indent-guides-20241229.2012/highlight-indent-guides.el", + "highlight-indent-guides-top-character-face": "/home/cjennings/.emacs.d/elpa/highlight-indent-guides-20241229.2012/highlight-indent-guides.el", + "highlight-indent-guides-top-even-face": "/home/cjennings/.emacs.d/elpa/highlight-indent-guides-20241229.2012/highlight-indent-guides.el", + "highlight-indent-guides-top-odd-face": "/home/cjennings/.emacs.d/elpa/highlight-indent-guides-20241229.2012/highlight-indent-guides.el" + }, + "hl-todo": { + "hl-todo": "/home/cjennings/.emacs.d/elpa/hl-todo-20250531.2218/hl-todo.el", + "hl-todo-flymake-type": "/home/cjennings/.emacs.d/elpa/hl-todo-20250531.2218/hl-todo.el" + }, + "json-mode": { + "json-mode-object-name-face": "/home/cjennings/.emacs.d/elpa/json-mode-0.2/json-mode.el" + }, + "llama": { + "llama-deleted-argument": "/home/cjennings/.emacs.d/elpa/llama-1.0.0/llama.el", + "llama-llama-macro": "/home/cjennings/.emacs.d/elpa/llama-1.0.0/llama.el", + "llama-mandatory-argument": "/home/cjennings/.emacs.d/elpa/llama-1.0.0/llama.el", + "llama-optional-argument": "/home/cjennings/.emacs.d/elpa/llama-1.0.0/llama.el" + }, + "lsp-mode": { + "lsp-details-face": "/home/cjennings/.emacs.d/elpa/lsp-mode-20250708.39/lsp-mode.el", + "lsp-face-highlight-read": "/home/cjennings/.emacs.d/elpa/lsp-mode-20250708.39/lsp-mode.el", + "lsp-face-highlight-textual": "/home/cjennings/.emacs.d/elpa/lsp-mode-20250708.39/lsp-mode.el", + "lsp-face-highlight-write": "/home/cjennings/.emacs.d/elpa/lsp-mode-20250708.39/lsp-mode.el", + "lsp-face-rename": "/home/cjennings/.emacs.d/elpa/lsp-mode-20250708.39/lsp-mode.el", + "lsp-inlay-hint-face": "/home/cjennings/.emacs.d/elpa/lsp-mode-20250708.39/lsp-mode.el", + "lsp-inlay-hint-parameter-face": "/home/cjennings/.emacs.d/elpa/lsp-mode-20250708.39/lsp-mode.el", + "lsp-inlay-hint-type-face": "/home/cjennings/.emacs.d/elpa/lsp-mode-20250708.39/lsp-mode.el", + "lsp-installation-buffer-face": "/home/cjennings/.emacs.d/elpa/lsp-mode-20250708.39/lsp-mode.el", + "lsp-installation-finished-buffer-face": "/home/cjennings/.emacs.d/elpa/lsp-mode-20250708.39/lsp-mode.el", + "lsp-rename-placeholder-face": "/home/cjennings/.emacs.d/elpa/lsp-mode-20250708.39/lsp-mode.el", + "lsp-signature-face": "/home/cjennings/.emacs.d/elpa/lsp-mode-20250708.39/lsp-mode.el", + "lsp-signature-highlight-function-argument": "/home/cjennings/.emacs.d/elpa/lsp-mode-20250708.39/lsp-mode.el", + "lsp-signature-posframe": "/home/cjennings/.emacs.d/elpa/lsp-mode-20250708.39/lsp-mode.el" + }, + "lv": { + "lv-separator": "/home/cjennings/.emacs.d/elpa/lv-0.15.0/lv.el" + }, + "magit": { + "git-commit-comment-action": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/git-commit.el", + "git-commit-comment-branch-local": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/git-commit.el", + "git-commit-comment-branch-remote": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/git-commit.el", + "git-commit-comment-detached": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/git-commit.el", + "git-commit-comment-file": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/git-commit.el", + "git-commit-comment-heading": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/git-commit.el", + "git-commit-keyword": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/git-commit.el", + "git-commit-nonempty-second-line": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/git-commit.el", + "git-commit-overlong-summary": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/git-commit.el", + "git-commit-summary": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/git-commit.el", + "git-commit-trailer-token": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/git-commit.el", + "git-commit-trailer-value": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/git-commit.el", + "magit-bisect-bad": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-bisect.el", + "magit-bisect-good": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-bisect.el", + "magit-bisect-skip": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-bisect.el", + "magit-blame-date": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-blame.el", + "magit-blame-dimmed": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-blame.el", + "magit-blame-hash": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-blame.el", + "magit-blame-heading": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-blame.el", + "magit-blame-highlight": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-blame.el", + "magit-blame-margin": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-blame.el", + "magit-blame-name": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-blame.el", + "magit-blame-summary": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-blame.el", + "magit-branch-current": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-branch-local": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-branch-remote": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-branch-remote-head": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-branch-upstream": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-branch-warning": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-cherry-equivalent": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-cherry-unmatched": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-diff-added": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-added-highlight": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-base": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-base-highlight": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-conflict-heading": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-conflict-heading-highlight": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-context": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-context-highlight": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-file-heading": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-file-heading-highlight": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-file-heading-selection": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-hunk-heading": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-hunk-heading-highlight": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-hunk-heading-selection": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-hunk-region": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-lines-boundary": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-lines-heading": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-our": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-our-highlight": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-removed": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-removed-highlight": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-revision-summary": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-revision-summary-highlight": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-their": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-their-highlight": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diff-whitespace-warning": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diffstat-added": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-diffstat-removed": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-diff.el", + "magit-dimmed": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-filename": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-hash": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-head": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-header-line": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-log.el", + "magit-header-line-key": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-header-line-log-select": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-log.el", + "magit-keyword": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-keyword-squash": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-log-author": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-log.el", + "magit-log-date": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-log.el", + "magit-log-graph": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-log.el", + "magit-mode-line-process": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-process.el", + "magit-mode-line-process-error": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-process.el", + "magit-process-ng": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-process.el", + "magit-process-ok": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-process.el", + "magit-reflog-amend": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-reflog.el", + "magit-reflog-checkout": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-reflog.el", + "magit-reflog-cherry-pick": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-reflog.el", + "magit-reflog-commit": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-reflog.el", + "magit-reflog-merge": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-reflog.el", + "magit-reflog-other": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-reflog.el", + "magit-reflog-rebase": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-reflog.el", + "magit-reflog-remote": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-reflog.el", + "magit-reflog-reset": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-reflog.el", + "magit-refname": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-refname-pullreq": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-refname-stash": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-refname-wip": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-sequence-done": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-sequence.el", + "magit-sequence-drop": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-sequence.el", + "magit-sequence-exec": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-sequence.el", + "magit-sequence-head": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-sequence.el", + "magit-sequence-onto": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-sequence.el", + "magit-sequence-part": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-sequence.el", + "magit-sequence-pick": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-sequence.el", + "magit-sequence-stop": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit-sequence.el", + "magit-signature-bad": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-signature-error": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-signature-expired": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-signature-expired-key": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-signature-good": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-signature-revoked": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-signature-untrusted": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el", + "magit-tag": "/home/cjennings/.emacs.d/elpa/magit-4.4.0/magit.el" + }, + "magit-section": { + "magit-left-margin": "/home/cjennings/.emacs.d/elpa/magit-section-4.4.0/magit-section.el", + "magit-section-child-count": "/home/cjennings/.emacs.d/elpa/magit-section-4.4.0/magit-section.el", + "magit-section-heading": "/home/cjennings/.emacs.d/elpa/magit-section-4.4.0/magit-section.el", + "magit-section-heading-selection": "/home/cjennings/.emacs.d/elpa/magit-section-4.4.0/magit-section.el", + "magit-section-highlight": "/home/cjennings/.emacs.d/elpa/magit-section-4.4.0/magit-section.el", + "magit-section-secondary-heading": "/home/cjennings/.emacs.d/elpa/magit-section-4.4.0/magit-section.el" + }, + "malyon": { + "malyon-face-bold": "/home/cjennings/.emacs.d/elpa/malyon-20161208.2125/malyon.el", + "malyon-face-error": "/home/cjennings/.emacs.d/elpa/malyon-20161208.2125/malyon.el", + "malyon-face-italic": "/home/cjennings/.emacs.d/elpa/malyon-20161208.2125/malyon.el", + "malyon-face-plain": "/home/cjennings/.emacs.d/elpa/malyon-20161208.2125/malyon.el", + "malyon-face-reverse": "/home/cjennings/.emacs.d/elpa/malyon-20161208.2125/malyon.el" + }, + "marginalia": { + "marginalia-archive": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-char": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-date": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-documentation": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-file-name": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-file-owner": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-file-priv-dir": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-file-priv-exec": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-file-priv-link": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-file-priv-no": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-file-priv-other": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-file-priv-rare": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-file-priv-read": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-file-priv-write": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-function": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-installed": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-key": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-lighter": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-list": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-mode": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-modified": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-null": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-number": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-off": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-on": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-size": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-string": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-symbol": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-true": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-type": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-value": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el", + "marginalia-version": "/home/cjennings/.emacs.d/elpa/marginalia-2.1/marginalia.el" + }, + "markdown-mode": { + "markdown-blockquote-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-bold-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-code-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-comment-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-footnote-marker-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-footnote-text-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-gfm-checkbox-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-header-delimiter-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-header-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-header-rule-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-highlight-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-highlighting-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-hr-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-html-attr-name-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-html-attr-value-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-html-entity-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-html-tag-delimiter-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-html-tag-name-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-inline-code-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-italic-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-language-info-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-language-keyword-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-line-break-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-link-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-link-title-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-list-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-markup-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-math-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-metadata-key-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-metadata-value-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-missing-link-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-plain-url-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-pre-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-reference-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-strike-through-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-table-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el", + "markdown-url-face": "/home/cjennings/.emacs.d/elpa/markdown-mode-2.7/markdown-mode.el" + }, + "nerd-icons": { + "nerd-icons-blue": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-blue-alt": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-cyan": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-cyan-alt": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-dblue": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-dcyan": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-dgreen": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-dmaroon": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-dorange": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-dpink": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-dpurple": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-dred": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-dsilver": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-dyellow": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-green": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-lblue": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-lcyan": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-lgreen": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-lmaroon": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-lorange": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-lpink": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-lpurple": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-lred": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-lsilver": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-lyellow": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-maroon": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-orange": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-pink": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-purple": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-purple-alt": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-red": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-red-alt": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-silver": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el", + "nerd-icons-yellow": "/home/cjennings/.emacs.d/elpa/nerd-icons-20250718.355/nerd-icons-faces.el" + }, + "nerd-icons-completion": { + "nerd-icons-completion-dir-face": "/home/cjennings/.emacs.d/elpa/nerd-icons-completion-20250509.1949/nerd-icons-completion.el" + }, + "orderless": { + "orderless-match-face-0": "/home/cjennings/.emacs.d/elpa/orderless-1.4/orderless.el", + "orderless-match-face-1": "/home/cjennings/.emacs.d/elpa/orderless-1.4/orderless.el", + "orderless-match-face-2": "/home/cjennings/.emacs.d/elpa/orderless-1.4/orderless.el", + "orderless-match-face-3": "/home/cjennings/.emacs.d/elpa/orderless-1.4/orderless.el" + }, + "org-roam": { + "org-roam-dailies-calendar-note": "/home/cjennings/.emacs.d/elpa/org-roam-20250701.528/org-roam-dailies.el", + "org-roam-dim": "/home/cjennings/.emacs.d/elpa/org-roam-20250701.528/org-roam-mode.el", + "org-roam-header-line": "/home/cjennings/.emacs.d/elpa/org-roam-20250701.528/org-roam-mode.el", + "org-roam-olp": "/home/cjennings/.emacs.d/elpa/org-roam-20250701.528/org-roam-mode.el", + "org-roam-preview-heading": "/home/cjennings/.emacs.d/elpa/org-roam-20250701.528/org-roam-mode.el", + "org-roam-preview-heading-highlight": "/home/cjennings/.emacs.d/elpa/org-roam-20250701.528/org-roam-mode.el", + "org-roam-preview-heading-selection": "/home/cjennings/.emacs.d/elpa/org-roam-20250701.528/org-roam-mode.el", + "org-roam-preview-region": "/home/cjennings/.emacs.d/elpa/org-roam-20250701.528/org-roam-mode.el", + "org-roam-title": "/home/cjennings/.emacs.d/elpa/org-roam-20250701.528/org-roam-mode.el" + }, + "org-superstar": { + "org-superstar-first": "/home/cjennings/.emacs.d/elpa/org-superstar-1.5.1/org-superstar.el", + "org-superstar-header-bullet": "/home/cjennings/.emacs.d/elpa/org-superstar-1.5.1/org-superstar.el", + "org-superstar-item": "/home/cjennings/.emacs.d/elpa/org-superstar-1.5.1/org-superstar.el", + "org-superstar-leading": "/home/cjennings/.emacs.d/elpa/org-superstar-1.5.1/org-superstar.el" + }, + "prescient": { + "prescient-primary-highlight": "/home/cjennings/.emacs.d/elpa/prescient-20250816.19/prescient.el", + "prescient-secondary-highlight": "/home/cjennings/.emacs.d/elpa/prescient-20250816.19/prescient.el" + }, + "rainbow-delimiters": { + "rainbow-delimiters-base-error-face": "/home/cjennings/.emacs.d/elpa/rainbow-delimiters-2.1.5/rainbow-delimiters.el", + "rainbow-delimiters-base-face": "/home/cjennings/.emacs.d/elpa/rainbow-delimiters-2.1.5/rainbow-delimiters.el", + "rainbow-delimiters-mismatched-face": "/home/cjennings/.emacs.d/elpa/rainbow-delimiters-2.1.5/rainbow-delimiters.el", + "rainbow-delimiters-unmatched-face": "/home/cjennings/.emacs.d/elpa/rainbow-delimiters-2.1.5/rainbow-delimiters.el" + }, + "symbol-overlay": { + "symbol-overlay-default-face": "/home/cjennings/.emacs.d/elpa/symbol-overlay-4.3/symbol-overlay.el", + "symbol-overlay-face-1": "/home/cjennings/.emacs.d/elpa/symbol-overlay-4.3/symbol-overlay.el", + "symbol-overlay-face-2": "/home/cjennings/.emacs.d/elpa/symbol-overlay-4.3/symbol-overlay.el", + "symbol-overlay-face-3": "/home/cjennings/.emacs.d/elpa/symbol-overlay-4.3/symbol-overlay.el", + "symbol-overlay-face-4": "/home/cjennings/.emacs.d/elpa/symbol-overlay-4.3/symbol-overlay.el", + "symbol-overlay-face-5": "/home/cjennings/.emacs.d/elpa/symbol-overlay-4.3/symbol-overlay.el", + "symbol-overlay-face-6": "/home/cjennings/.emacs.d/elpa/symbol-overlay-4.3/symbol-overlay.el", + "symbol-overlay-face-7": "/home/cjennings/.emacs.d/elpa/symbol-overlay-4.3/symbol-overlay.el", + "symbol-overlay-face-8": "/home/cjennings/.emacs.d/elpa/symbol-overlay-4.3/symbol-overlay.el" + }, + "tmr": { + "tmr-description": "/home/cjennings/.emacs.d/elpa/tmr-1.1.0/tmr.el", + "tmr-duration": "/home/cjennings/.emacs.d/elpa/tmr-1.1.0/tmr.el", + "tmr-end-time": "/home/cjennings/.emacs.d/elpa/tmr-1.1.0/tmr.el", + "tmr-finished": "/home/cjennings/.emacs.d/elpa/tmr-1.1.0/tmr.el", + "tmr-is-acknowledged": "/home/cjennings/.emacs.d/elpa/tmr-1.1.0/tmr.el", + "tmr-must-be-acknowledged": "/home/cjennings/.emacs.d/elpa/tmr-1.1.0/tmr.el", + "tmr-start-time": "/home/cjennings/.emacs.d/elpa/tmr-1.1.0/tmr.el", + "tmr-tabulated-acknowledgement": "/home/cjennings/.emacs.d/elpa/tmr-1.1.0/tmr.el", + "tmr-tabulated-description": "/home/cjennings/.emacs.d/elpa/tmr-1.1.0/tmr.el", + "tmr-tabulated-end-time": "/home/cjennings/.emacs.d/elpa/tmr-1.1.0/tmr.el", + "tmr-tabulated-remaining-time": "/home/cjennings/.emacs.d/elpa/tmr-1.1.0/tmr.el", + "tmr-tabulated-start-time": "/home/cjennings/.emacs.d/elpa/tmr-1.1.0/tmr.el" + }, + "transient": { + "transient-active-infix": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-argument": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-delimiter": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-disabled-suffix": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-enabled-suffix": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-heading": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-higher-level": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-inactive-argument": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-inactive-value": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-inapt-argument": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-inapt-suffix": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-key": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-key-exit": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-key-noop": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-key-recurse": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-key-return": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-key-stack": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-key-stay": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-mismatched-key": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-nonstandard-key": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-unreachable": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-unreachable-key": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el", + "transient-value": "/home/cjennings/.emacs.d/elpa/transient-0.10.0/transient.el" + }, + "vertico": { + "vertico-current": "/home/cjennings/.emacs.d/elpa/vertico-2.4/vertico.el", + "vertico-group-separator": "/home/cjennings/.emacs.d/elpa/vertico-2.4/vertico.el", + "vertico-group-title": "/home/cjennings/.emacs.d/elpa/vertico-2.4/vertico.el", + "vertico-multiline": "/home/cjennings/.emacs.d/elpa/vertico-2.4/vertico.el" + }, + "web-mode": { + "web-mode-annotation-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-annotation-html-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-annotation-tag-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-annotation-type-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-annotation-value-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-block-attr-name-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-block-attr-value-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-block-comment-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-block-control-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-block-delimiter-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-block-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-block-string-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-bold-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-builtin-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-comment-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-comment-keyword-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-constant-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-css-at-rule-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-css-color-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-css-comment-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-css-function-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-css-priority-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-css-property-name-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-css-pseudo-class-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-css-selector-class-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-css-selector-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-css-selector-tag-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-css-string-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-css-variable-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-current-column-highlight-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-current-element-highlight-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-doctype-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-error-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-filter-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-folded-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-function-call-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-function-name-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-html-attr-custom-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-html-attr-engine-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-html-attr-equal-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-html-attr-name-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-html-attr-value-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-html-entity-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-html-tag-bracket-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-html-tag-custom-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-html-tag-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-html-tag-namespaced-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-html-tag-unclosed-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-inlay-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-interpolate-color1-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-interpolate-color2-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-interpolate-color3-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-interpolate-color4-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-italic-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-javascript-comment-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-javascript-string-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-json-comment-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-json-context-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-json-key-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-json-string-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-jsx-depth-1-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-jsx-depth-2-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-jsx-depth-3-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-jsx-depth-4-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-jsx-depth-5-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-keyword-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-param-name-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-part-comment-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-part-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-part-string-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-preprocessor-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-script-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-sql-keyword-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-string-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-style-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-symbol-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-type-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-underline-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-variable-name-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-warning-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el", + "web-mode-whitespace-face": "/home/cjennings/.emacs.d/elpa/web-mode-17.3.21/web-mode.el" + }, + "yasnippet": { + "yas--field-debug-face": "/home/cjennings/.emacs.d/elpa/yasnippet-0.14.3/yasnippet.el", + "yas-field-highlight-face": "/home/cjennings/.emacs.d/elpa/yasnippet-0.14.3/yasnippet.el" + } + }, + "package-inventory": { + "2048-game": [ + "twentyfortyeight-face-1024", + "twentyfortyeight-face-128", + "twentyfortyeight-face-16", + "twentyfortyeight-face-2", + "twentyfortyeight-face-2048", + "twentyfortyeight-face-256", + "twentyfortyeight-face-32", + "twentyfortyeight-face-4", + "twentyfortyeight-face-512", + "twentyfortyeight-face-64", + "twentyfortyeight-face-8" + ], + "alert": [ + "alert-high-face", + "alert-low-face", + "alert-moderate-face", + "alert-normal-face", + "alert-trivial-face", + "alert-urgent-face" + ], + "all-the-icons": [ + "all-the-icons-blue", + "all-the-icons-blue-alt", + "all-the-icons-cyan", + "all-the-icons-cyan-alt", + "all-the-icons-dblue", + "all-the-icons-dcyan", + "all-the-icons-dgreen", + "all-the-icons-dmaroon", + "all-the-icons-dorange", + "all-the-icons-dpink", + "all-the-icons-dpurple", + "all-the-icons-dred", + "all-the-icons-dsilver", + "all-the-icons-dyellow", + "all-the-icons-green", + "all-the-icons-lblue", + "all-the-icons-lcyan", + "all-the-icons-lgreen", + "all-the-icons-lmaroon", + "all-the-icons-lorange", + "all-the-icons-lpink", + "all-the-icons-lpurple", + "all-the-icons-lred", + "all-the-icons-lsilver", + "all-the-icons-lyellow", + "all-the-icons-maroon", + "all-the-icons-orange", + "all-the-icons-pink", + "all-the-icons-purple", + "all-the-icons-purple-alt", + "all-the-icons-red", + "all-the-icons-red-alt", + "all-the-icons-silver", + "all-the-icons-yellow" + ], + "company": [ + "company-echo", + "company-echo-common", + "company-preview", + "company-preview-common", + "company-preview-search", + "company-tooltip", + "company-tooltip-annotation", + "company-tooltip-annotation-selection", + "company-tooltip-common", + "company-tooltip-common-selection", + "company-tooltip-deprecated", + "company-tooltip-mouse", + "company-tooltip-quick-access", + "company-tooltip-quick-access-selection", + "company-tooltip-scrollbar-thumb", + "company-tooltip-scrollbar-track", + "company-tooltip-search", + "company-tooltip-search-selection", + "company-tooltip-selection" + ], + "company-box": [ + "company-box-annotation", + "company-box-background", + "company-box-candidate", + "company-box-numbers", + "company-box-scrollbar", + "company-box-selection" + ], + "consult": [ + "consult-async-failed", + "consult-async-finished", + "consult-async-running", + "consult-async-split", + "consult-bookmark", + "consult-buffer", + "consult-file", + "consult-grep-context", + "consult-help", + "consult-highlight-mark", + "consult-highlight-match", + "consult-key", + "consult-line-number", + "consult-line-number-prefix", + "consult-line-number-wrapped", + "consult-narrow-indicator", + "consult-preview-insertion", + "consult-preview-line", + "consult-preview-match", + "consult-separator" + ], + "dashboard": [ + "dashboard-banner-logo-title", + "dashboard-footer-face", + "dashboard-footer-icon-face", + "dashboard-heading", + "dashboard-items-face", + "dashboard-navigator", + "dashboard-no-items-face", + "dashboard-text-banner" + ], + "dirvish": [ + "dirvish-collapse-dir-face", + "dirvish-collapse-empty-dir-face", + "dirvish-collapse-file-face", + "dirvish-emerge-group-title", + "dirvish-file-device-number", + "dirvish-file-group-id", + "dirvish-file-inode-number", + "dirvish-file-link-number", + "dirvish-file-modes", + "dirvish-file-size", + "dirvish-file-time", + "dirvish-file-user-id", + "dirvish-free-space", + "dirvish-git-commit-message-face", + "dirvish-hl-line", + "dirvish-hl-line-inactive", + "dirvish-inactive", + "dirvish-media-info-heading", + "dirvish-media-info-property-key", + "dirvish-narrow-match-face-0", + "dirvish-narrow-match-face-1", + "dirvish-narrow-match-face-2", + "dirvish-narrow-match-face-3", + "dirvish-narrow-split", + "dirvish-proc-failed", + "dirvish-proc-finished", + "dirvish-proc-running", + "dirvish-subtree-guide", + "dirvish-subtree-state", + "dirvish-vc-added-state", + "dirvish-vc-conflict-state", + "dirvish-vc-edited-state", + "dirvish-vc-locked-state", + "dirvish-vc-missing-state", + "dirvish-vc-needs-merge-face", + "dirvish-vc-needs-update-state", + "dirvish-vc-removed-state", + "dirvish-vc-unregistered-face" + ], + "elfeed": [ + "elfeed-log-date-face", + "elfeed-log-debug-level-face", + "elfeed-log-error-level-face", + "elfeed-log-info-level-face", + "elfeed-log-warn-level-face", + "elfeed-search-date-face", + "elfeed-search-feed-face", + "elfeed-search-filter-face", + "elfeed-search-last-update-face", + "elfeed-search-tag-face", + "elfeed-search-title-face", + "elfeed-search-unread-count-face", + "elfeed-search-unread-title-face" + ], + "embark": [ + "embark-collect-annotation", + "embark-collect-candidate", + "embark-collect-group-separator", + "embark-collect-group-title", + "embark-keybinding", + "embark-keybinding-repeat", + "embark-keymap", + "embark-selected", + "embark-target", + "embark-verbose-indicator-documentation", + "embark-verbose-indicator-shadowed", + "embark-verbose-indicator-title" + ], + "emms": [ + "emms-browser-album-face", + "emms-browser-albumartist-face", + "emms-browser-artist-face", + "emms-browser-composer-face", + "emms-browser-performer-face", + "emms-browser-track-face", + "emms-browser-year/genre-face", + "emms-metaplaylist-mode-current-face", + "emms-metaplaylist-mode-face", + "emms-playlist-selected-face", + "emms-playlist-track-face" + ], + "flycheck": [ + "flycheck-delimited-error", + "flycheck-error", + "flycheck-error-delimiter", + "flycheck-error-list-checker-name", + "flycheck-error-list-column-number", + "flycheck-error-list-error", + "flycheck-error-list-error-message", + "flycheck-error-list-filename", + "flycheck-error-list-highlight", + "flycheck-error-list-id", + "flycheck-error-list-id-with-explainer", + "flycheck-error-list-info", + "flycheck-error-list-line-number", + "flycheck-error-list-warning", + "flycheck-fringe-error", + "flycheck-fringe-info", + "flycheck-fringe-warning", + "flycheck-info", + "flycheck-verify-select-checker", + "flycheck-warning" + ], + "flyspell-correct": [ + "flyspell-correct-highlight-face" + ], + "ghostel": [ + "ghostel-color-black", + "ghostel-color-blue", + "ghostel-color-bright-black", + "ghostel-color-bright-blue", + "ghostel-color-bright-cyan", + "ghostel-color-bright-green", + "ghostel-color-bright-magenta", + "ghostel-color-bright-red", + "ghostel-color-bright-white", + "ghostel-color-bright-yellow", + "ghostel-color-cyan", + "ghostel-color-green", + "ghostel-color-magenta", + "ghostel-color-red", + "ghostel-color-white", + "ghostel-color-yellow", + "ghostel-default", + "ghostel-fake-cursor", + "ghostel-fake-cursor-box" + ], + "git-gutter": [ + "git-gutter:added", + "git-gutter:deleted", + "git-gutter:modified", + "git-gutter:separator", + "git-gutter:unchanged" + ], + "highlight-indent-guides": [ + "highlight-indent-guides-character-face", + "highlight-indent-guides-even-face", + "highlight-indent-guides-odd-face", + "highlight-indent-guides-stack-character-face", + "highlight-indent-guides-stack-even-face", + "highlight-indent-guides-stack-odd-face", + "highlight-indent-guides-top-character-face", + "highlight-indent-guides-top-even-face", + "highlight-indent-guides-top-odd-face" + ], + "hl-todo": [ + "hl-todo", + "hl-todo-flymake-type" + ], + "json-mode": [ + "json-mode-object-name-face" + ], + "llama": [ + "llama-##-macro", + "llama-deleted-argument", + "llama-llama-macro", + "llama-mandatory-argument", + "llama-optional-argument" + ], + "lsp-mode": [ + "lsp-details-face", + "lsp-face-highlight-read", + "lsp-face-highlight-textual", + "lsp-face-highlight-write", + "lsp-face-rename", + "lsp-inlay-hint-face", + "lsp-inlay-hint-parameter-face", + "lsp-inlay-hint-type-face", + "lsp-installation-buffer-face", + "lsp-installation-finished-buffer-face", + "lsp-rename-placeholder-face", + "lsp-signature-face", + "lsp-signature-highlight-function-argument", + "lsp-signature-posframe" + ], + "lv": [ + "lv-separator" + ], + "magit": [ + "git-commit-comment-action", + "git-commit-comment-branch-local", + "git-commit-comment-branch-remote", + "git-commit-comment-detached", + "git-commit-comment-file", + "git-commit-comment-heading", + "git-commit-keyword", + "git-commit-nonempty-second-line", + "git-commit-overlong-summary", + "git-commit-summary", + "git-commit-trailer-token", + "git-commit-trailer-value", + "magit-bisect-bad", + "magit-bisect-good", + "magit-bisect-skip", + "magit-blame-date", + "magit-blame-dimmed", + "magit-blame-hash", + "magit-blame-heading", + "magit-blame-highlight", + "magit-blame-margin", + "magit-blame-name", + "magit-blame-summary", + "magit-branch-current", + "magit-branch-local", + "magit-branch-remote", + "magit-branch-remote-head", + "magit-branch-upstream", + "magit-branch-warning", + "magit-cherry-equivalent", + "magit-cherry-unmatched", + "magit-diff-added", + "magit-diff-added-highlight", + "magit-diff-base", + "magit-diff-base-highlight", + "magit-diff-conflict-heading", + "magit-diff-conflict-heading-highlight", + "magit-diff-context", + "magit-diff-context-highlight", + "magit-diff-file-heading", + "magit-diff-file-heading-highlight", + "magit-diff-file-heading-selection", + "magit-diff-hunk-heading", + "magit-diff-hunk-heading-highlight", + "magit-diff-hunk-heading-selection", + "magit-diff-hunk-region", + "magit-diff-lines-boundary", + "magit-diff-lines-heading", + "magit-diff-our", + "magit-diff-our-highlight", + "magit-diff-removed", + "magit-diff-removed-highlight", + "magit-diff-revision-summary", + "magit-diff-revision-summary-highlight", + "magit-diff-their", + "magit-diff-their-highlight", + "magit-diff-whitespace-warning", + "magit-diffstat-added", + "magit-diffstat-removed", + "magit-dimmed", + "magit-filename", + "magit-hash", + "magit-head", + "magit-header-line", + "magit-header-line-key", + "magit-header-line-log-select", + "magit-keyword", + "magit-keyword-squash", + "magit-log-author", + "magit-log-date", + "magit-log-graph", + "magit-mode-line-process", + "magit-mode-line-process-error", + "magit-process-ng", + "magit-process-ok", + "magit-reflog-amend", + "magit-reflog-checkout", + "magit-reflog-cherry-pick", + "magit-reflog-commit", + "magit-reflog-merge", + "magit-reflog-other", + "magit-reflog-rebase", + "magit-reflog-remote", + "magit-reflog-reset", + "magit-refname", + "magit-refname-pullreq", + "magit-refname-stash", + "magit-refname-wip", + "magit-sequence-done", + "magit-sequence-drop", + "magit-sequence-exec", + "magit-sequence-head", + "magit-sequence-onto", + "magit-sequence-part", + "magit-sequence-pick", + "magit-sequence-stop", + "magit-signature-bad", + "magit-signature-error", + "magit-signature-expired", + "magit-signature-expired-key", + "magit-signature-good", + "magit-signature-revoked", + "magit-signature-untrusted", + "magit-tag" + ], + "magit-section": [ + "magit-left-margin", + "magit-section-child-count", + "magit-section-heading", + "magit-section-heading-selection", + "magit-section-highlight", + "magit-section-secondary-heading" + ], + "malyon": [ + "malyon-face-bold", + "malyon-face-error", + "malyon-face-italic", + "malyon-face-plain", + "malyon-face-reverse" + ], + "marginalia": [ + "marginalia-archive", + "marginalia-char", + "marginalia-date", + "marginalia-documentation", + "marginalia-file-name", + "marginalia-file-owner", + "marginalia-file-priv-dir", + "marginalia-file-priv-exec", + "marginalia-file-priv-link", + "marginalia-file-priv-no", + "marginalia-file-priv-other", + "marginalia-file-priv-rare", + "marginalia-file-priv-read", + "marginalia-file-priv-write", + "marginalia-function", + "marginalia-installed", + "marginalia-key", + "marginalia-lighter", + "marginalia-list", + "marginalia-mode", + "marginalia-modified", + "marginalia-null", + "marginalia-number", + "marginalia-off", + "marginalia-on", + "marginalia-size", + "marginalia-string", + "marginalia-symbol", + "marginalia-true", + "marginalia-type", + "marginalia-value", + "marginalia-version" + ], + "markdown-mode": [ + "markdown-blockquote-face", + "markdown-bold-face", + "markdown-code-face", + "markdown-comment-face", + "markdown-footnote-marker-face", + "markdown-footnote-text-face", + "markdown-gfm-checkbox-face", + "markdown-header-delimiter-face", + "markdown-header-face", + "markdown-header-face-1", + "markdown-header-face-2", + "markdown-header-face-3", + "markdown-header-face-4", + "markdown-header-face-5", + "markdown-header-face-6", + "markdown-header-rule-face", + "markdown-highlight-face", + "markdown-highlighting-face", + "markdown-hr-face", + "markdown-html-attr-name-face", + "markdown-html-attr-value-face", + "markdown-html-entity-face", + "markdown-html-tag-delimiter-face", + "markdown-html-tag-name-face", + "markdown-inline-code-face", + "markdown-italic-face", + "markdown-language-info-face", + "markdown-language-keyword-face", + "markdown-line-break-face", + "markdown-link-face", + "markdown-link-title-face", + "markdown-list-face", + "markdown-markup-face", + "markdown-math-face", + "markdown-metadata-key-face", + "markdown-metadata-value-face", + "markdown-missing-link-face", + "markdown-plain-url-face", + "markdown-pre-face", + "markdown-reference-face", + "markdown-strike-through-face", + "markdown-table-face", + "markdown-url-face" + ], + "nerd-icons": [ + "nerd-icons-blue", + "nerd-icons-blue-alt", + "nerd-icons-cyan", + "nerd-icons-cyan-alt", + "nerd-icons-dblue", + "nerd-icons-dcyan", + "nerd-icons-dgreen", + "nerd-icons-dmaroon", + "nerd-icons-dorange", + "nerd-icons-dpink", + "nerd-icons-dpurple", + "nerd-icons-dred", + "nerd-icons-dsilver", + "nerd-icons-dyellow", + "nerd-icons-green", + "nerd-icons-lblue", + "nerd-icons-lcyan", + "nerd-icons-lgreen", + "nerd-icons-lmaroon", + "nerd-icons-lorange", + "nerd-icons-lpink", + "nerd-icons-lpurple", + "nerd-icons-lred", + "nerd-icons-lsilver", + "nerd-icons-lyellow", + "nerd-icons-maroon", + "nerd-icons-orange", + "nerd-icons-pink", + "nerd-icons-purple", + "nerd-icons-purple-alt", + "nerd-icons-red", + "nerd-icons-red-alt", + "nerd-icons-silver", + "nerd-icons-yellow" + ], + "nerd-icons-completion": [ + "nerd-icons-completion-dir-face" + ], + "orderless": [ + "orderless-match-face-0", + "orderless-match-face-1", + "orderless-match-face-2", + "orderless-match-face-3" + ], + "org-roam": [ + "org-roam-dailies-calendar-note", + "org-roam-dim", + "org-roam-header-line", + "org-roam-olp", + "org-roam-preview-heading", + "org-roam-preview-heading-highlight", + "org-roam-preview-heading-selection", + "org-roam-preview-region", + "org-roam-title" + ], + "org-superstar": [ + "org-superstar-first", + "org-superstar-header-bullet", + "org-superstar-item", + "org-superstar-leading" + ], + "prescient": [ + "prescient-primary-highlight", + "prescient-secondary-highlight" + ], + "rainbow-delimiters": [ + "rainbow-delimiters-base-error-face", + "rainbow-delimiters-base-face", + "rainbow-delimiters-depth-1-face", + "rainbow-delimiters-depth-2-face", + "rainbow-delimiters-depth-3-face", + "rainbow-delimiters-depth-4-face", + "rainbow-delimiters-depth-5-face", + "rainbow-delimiters-depth-6-face", + "rainbow-delimiters-depth-7-face", + "rainbow-delimiters-depth-8-face", + "rainbow-delimiters-depth-9-face", + "rainbow-delimiters-mismatched-face", + "rainbow-delimiters-unmatched-face" + ], + "symbol-overlay": [ + "symbol-overlay-default-face", + "symbol-overlay-face-1", + "symbol-overlay-face-2", + "symbol-overlay-face-3", + "symbol-overlay-face-4", + "symbol-overlay-face-5", + "symbol-overlay-face-6", + "symbol-overlay-face-7", + "symbol-overlay-face-8" + ], + "tmr": [ + "tmr-description", + "tmr-duration", + "tmr-end-time", + "tmr-finished", + "tmr-is-acknowledged", + "tmr-must-be-acknowledged", + "tmr-start-time", + "tmr-tabulated-acknowledgement", + "tmr-tabulated-description", + "tmr-tabulated-end-time", + "tmr-tabulated-remaining-time", + "tmr-tabulated-start-time" + ], + "transient": [ + "transient-active-infix", + "transient-argument", + "transient-delimiter", + "transient-disabled-suffix", + "transient-enabled-suffix", + "transient-heading", + "transient-higher-level", + "transient-inactive-argument", + "transient-inactive-value", + "transient-inapt-argument", + "transient-inapt-suffix", + "transient-key", + "transient-key-exit", + "transient-key-noop", + "transient-key-recurse", + "transient-key-return", + "transient-key-stack", + "transient-key-stay", + "transient-mismatched-key", + "transient-nonstandard-key", + "transient-unreachable", + "transient-unreachable-key", + "transient-value" + ], + "vertico": [ + "vertico-current", + "vertico-group-separator", + "vertico-group-title", + "vertico-multiline" + ], + "web-mode": [ + "web-mode-annotation-face", + "web-mode-annotation-html-face", + "web-mode-annotation-tag-face", + "web-mode-annotation-type-face", + "web-mode-annotation-value-face", + "web-mode-block-attr-name-face", + "web-mode-block-attr-value-face", + "web-mode-block-comment-face", + "web-mode-block-control-face", + "web-mode-block-delimiter-face", + "web-mode-block-face", + "web-mode-block-string-face", + "web-mode-bold-face", + "web-mode-builtin-face", + "web-mode-comment-face", + "web-mode-comment-keyword-face", + "web-mode-constant-face", + "web-mode-css-at-rule-face", + "web-mode-css-color-face", + "web-mode-css-comment-face", + "web-mode-css-function-face", + "web-mode-css-priority-face", + "web-mode-css-property-name-face", + "web-mode-css-pseudo-class-face", + "web-mode-css-selector-class-face", + "web-mode-css-selector-face", + "web-mode-css-selector-tag-face", + "web-mode-css-string-face", + "web-mode-css-variable-face", + "web-mode-current-column-highlight-face", + "web-mode-current-element-highlight-face", + "web-mode-doctype-face", + "web-mode-error-face", + "web-mode-filter-face", + "web-mode-folded-face", + "web-mode-function-call-face", + "web-mode-function-name-face", + "web-mode-html-attr-custom-face", + "web-mode-html-attr-engine-face", + "web-mode-html-attr-equal-face", + "web-mode-html-attr-name-face", + "web-mode-html-attr-value-face", + "web-mode-html-entity-face", + "web-mode-html-tag-bracket-face", + "web-mode-html-tag-custom-face", + "web-mode-html-tag-face", + "web-mode-html-tag-namespaced-face", + "web-mode-html-tag-unclosed-face", + "web-mode-inlay-face", + "web-mode-interpolate-color1-face", + "web-mode-interpolate-color2-face", + "web-mode-interpolate-color3-face", + "web-mode-interpolate-color4-face", + "web-mode-italic-face", + "web-mode-javascript-comment-face", + "web-mode-javascript-string-face", + "web-mode-json-comment-face", + "web-mode-json-context-face", + "web-mode-json-key-face", + "web-mode-json-string-face", + "web-mode-jsx-depth-1-face", + "web-mode-jsx-depth-2-face", + "web-mode-jsx-depth-3-face", + "web-mode-jsx-depth-4-face", + "web-mode-jsx-depth-5-face", + "web-mode-keyword-face", + "web-mode-param-name-face", + "web-mode-part-comment-face", + "web-mode-part-face", + "web-mode-part-string-face", + "web-mode-preprocessor-face", + "web-mode-script-face", + "web-mode-sql-keyword-face", + "web-mode-string-face", + "web-mode-style-face", + "web-mode-symbol-face", + "web-mode-type-face", + "web-mode-underline-face", + "web-mode-variable-name-face", + "web-mode-warning-face", + "web-mode-whitespace-face" + ], + "yasnippet": [ + "yas--field-debug-face", + "yas-field-highlight-face" + ] + }, + "package-unresolved-faces": { + "emms": [ + "emms-browser-album-face", + "emms-browser-albumartist-face", + "emms-browser-artist-face", + "emms-browser-composer-face", + "emms-browser-performer-face", + "emms-browser-track-face", + "emms-browser-year/genre-face" + ], + "llama": [ + "llama-##-macro" + ], + "markdown-mode": [ + "markdown-header-face-1", + "markdown-header-face-2", + "markdown-header-face-3", + "markdown-header-face-4", + "markdown-header-face-5", + "markdown-header-face-6" + ], + "rainbow-delimiters": [ + "rainbow-delimiters-depth-1-face", + "rainbow-delimiters-depth-2-face", + "rainbow-delimiters-depth-3-face", + "rainbow-delimiters-depth-4-face", + "rainbow-delimiters-depth-5-face", + "rainbow-delimiters-depth-6-face", + "rainbow-delimiters-depth-7-face", + "rainbow-delimiters-depth-8-face", + "rainbow-delimiters-depth-9-face" + ] + }, + "syntax-map": { + "bg": [ + "default" + ], + "bi": [ + "font-lock-builtin-face" + ], + "cm": [ + "font-lock-comment-face" + ], + "cmd": [ + "font-lock-comment-delimiter-face" + ], + "con": [ + "font-lock-constant-face" + ], + "dec": null, + "doc": [ + "font-lock-doc-face" + ], + "esc": [ + "font-lock-escape-face" + ], + "fnc": [ + "font-lock-function-call-face" + ], + "fnd": [ + "font-lock-function-name-face" + ], + "kw": [ + "font-lock-keyword-face" + ], + "num": [ + "font-lock-number-face" + ], + "op": [ + "font-lock-operator-face" + ], + "p": [ + "default" + ], + "pp": [ + "font-lock-preprocessor-face" + ], + "prop": [ + "font-lock-property-name-face", + "font-lock-property-use-face" + ], + "punc": [ + "font-lock-punctuation-face", + "font-lock-bracket-face", + "font-lock-delimiter-face", + "font-lock-misc-punctuation-face" + ], + "re": [ + "font-lock-regexp-face" + ], + "str": [ + "font-lock-string-face" + ], + "ty": [ + "font-lock-type-face" + ], + "var": [ + "font-lock-variable-name-face", + "font-lock-variable-use-face" + ] + }, + "ui-faces": [ + "cursor", + "region", + "hl-line", + "highlight", + "mode-line", + "mode-line-inactive", + "fringe", + "line-number", + "line-number-current-line", + "minibuffer-prompt", + "isearch", + "lazy-highlight", + "isearch-fail", + "show-paren-match", + "show-paren-mismatch", + "link", + "error", + "warning", + "success", + "vertical-border" + ] +} diff --git a/scripts/theme-studio/face_data.py b/scripts/theme-studio/face_data.py new file mode 100644 index 00000000..d5999f81 --- /dev/null +++ b/scripts/theme-studio/face_data.py @@ -0,0 +1,297 @@ +"""Bespoke package face lists and seed defaults for theme-studio.""" + +# Tier-3 package faces (Phase 2): complete own-defface sets for org/magit/elfeed, +# built from face-name lists + a curated seed-color map. Prominent faces are +# seeded; the long tail seeds to the default foreground for the user to tune. +ORG_FACES=("org-document-title org-document-info org-document-info-keyword " + "org-level-1 org-level-2 org-level-3 org-level-4 org-level-5 org-level-6 org-level-7 org-level-8 " + "org-headline-todo org-headline-done org-todo org-done org-priority org-tag org-tag-group " + "org-special-keyword org-drawer org-property-value org-checkbox org-checkbox-statistics-todo " + "org-checkbox-statistics-done org-warning org-link org-footnote org-date org-sexp-date " + "org-date-selected org-target org-macro org-cite org-cite-key org-block org-block-begin-line " + "org-block-end-line org-code org-verbatim org-inline-src-block org-quote org-verse " + "org-latex-and-related org-table org-table-header org-table-row org-formula org-column " + "org-column-title org-list-dt org-meta-line org-ellipsis org-hide org-indent org-archived " + "org-default org-dispatcher-highlight org-agenda-structure org-agenda-structure-secondary " + "org-agenda-structure-filter org-agenda-date org-agenda-date-today org-agenda-date-weekend " + "org-agenda-date-weekend-today org-agenda-current-time org-agenda-done org-agenda-dimmed-todo-face " + "org-agenda-calendar-event org-agenda-calendar-sexp org-agenda-calendar-daterange org-agenda-diary " + "org-agenda-clocking org-agenda-column-dateline org-agenda-restriction-lock org-agenda-filter-category " + "org-agenda-filter-effort org-agenda-filter-regexp org-agenda-filter-tags org-scheduled " + "org-scheduled-today org-scheduled-previously org-upcoming-deadline org-upcoming-distant-deadline " + "org-imminent-deadline org-time-grid org-clock-overlay org-mode-line-clock org-mode-line-clock-overrun").split() +MAGIT_FACES=("magit-section-heading magit-section-secondary-heading magit-section-heading-selection " + "magit-section-highlight magit-section-child-count magit-diff-added magit-diff-added-highlight " + "magit-diff-removed magit-diff-removed-highlight magit-diff-context magit-diff-context-highlight " + "magit-diff-file-heading magit-diff-file-heading-highlight magit-diff-file-heading-selection " + "magit-diff-hunk-heading magit-diff-hunk-heading-highlight magit-diff-hunk-heading-selection " + "magit-diff-hunk-region magit-diff-lines-heading magit-diff-lines-boundary magit-diff-base " + "magit-diff-base-highlight magit-diff-our magit-diff-our-highlight magit-diff-their " + "magit-diff-their-highlight magit-diff-conflict-heading magit-diff-conflict-heading-highlight " + "magit-diff-revision-summary magit-diff-revision-summary-highlight magit-diff-whitespace-warning " + "magit-diffstat-added magit-diffstat-removed magit-branch-current magit-branch-local " + "magit-branch-remote magit-branch-remote-head magit-branch-upstream magit-branch-warning " + "magit-head magit-tag magit-hash magit-filename magit-dimmed magit-keyword magit-keyword-squash " + "magit-refname magit-refname-stash magit-refname-wip magit-refname-pullreq magit-log-author " + "magit-log-date magit-log-graph magit-header-line magit-header-line-key magit-header-line-log-select " + "magit-process-ok magit-process-ng magit-mode-line-process magit-mode-line-process-error " + "magit-bisect-good magit-bisect-bad magit-bisect-skip magit-blame-heading magit-blame-highlight " + "magit-blame-hash magit-blame-name magit-blame-date magit-blame-summary magit-blame-dimmed " + "magit-blame-margin magit-cherry-equivalent magit-cherry-unmatched magit-signature-good " + "magit-signature-bad magit-signature-untrusted magit-signature-expired magit-signature-expired-key " + "magit-signature-revoked magit-signature-error magit-reflog-commit magit-reflog-amend " + "magit-reflog-merge magit-reflog-checkout magit-reflog-reset magit-reflog-rebase " + "magit-reflog-cherry-pick magit-reflog-remote magit-reflog-other magit-sequence-pick " + "magit-sequence-stop magit-sequence-part magit-sequence-head magit-sequence-drop magit-sequence-done " + "magit-sequence-onto magit-sequence-exec magit-left-margin " + "git-commit-comment-action git-commit-comment-branch-local git-commit-comment-branch-remote " + "git-commit-comment-detached git-commit-comment-file git-commit-comment-heading git-commit-keyword " + "git-commit-nonempty-second-line git-commit-overlong-summary git-commit-summary " + "git-commit-trailer-token git-commit-trailer-value").split() +ELFEED_FACES=("elfeed-search-date-face elfeed-search-title-face elfeed-search-unread-title-face " + "elfeed-search-feed-face elfeed-search-tag-face elfeed-search-unread-count-face " + "elfeed-search-filter-face elfeed-search-last-update-face elfeed-log-date-face " + "elfeed-log-error-level-face elfeed-log-warn-level-face elfeed-log-info-level-face " + "elfeed-log-debug-level-face").split() +ORG_SEED={ + "org-document-title":{"fg":"gold","bold":True,"height":1.5},"org-document-info":{"fg":"steel"}, + "org-document-info-keyword":{"fg":"pewter","inherit":"fixed-pitch"}, + "org-level-1":{"fg":"blue","bold":True,"height":1.3},"org-level-2":{"fg":"gold","height":1.2}, + "org-level-3":{"fg":"regal","height":1.15},"org-level-4":{"fg":"emerald","height":1.1}, + "org-level-5":{"fg":"terracotta"},"org-level-6":{"fg":"tan"},"org-level-7":{"fg":"sage"},"org-level-8":{"fg":"steel"}, + "org-headline-done":{"fg":"pewter"},"org-todo":{"fg":"terracotta","bold":True},"org-done":{"fg":"sage","bold":True}, + "org-priority":{"fg":"gold","bold":True},"org-tag":{"fg":"tan"},"org-tag-group":{"fg":"tan"}, + "org-special-keyword":{"fg":"pewter","bold":True},"org-drawer":{"fg":"pewter"},"org-property-value":{"fg":"steel"}, + "org-checkbox":{"fg":"gold","inherit":"fixed-pitch"},"org-checkbox-statistics-todo":{"fg":"terracotta"}, + "org-checkbox-statistics-done":{"fg":"sage"},"org-warning":{"fg":"terracotta","bold":True}, + "org-link":{"fg":"blue","underline":True},"org-footnote":{"fg":"blue"},"org-date":{"fg":"steel","inherit":"fixed-pitch"}, + "org-sexp-date":{"fg":"steel"},"org-date-selected":{"fg":"ground","bg":"gold"},"org-target":{"fg":"regal"}, + "org-macro":{"fg":"regal"},"org-cite":{"fg":"blue","underline":True},"org-cite-key":{"fg":"blue","underline":True}, + "org-block":{"fg":"white","bg":"bg-dim","inherit":"fixed-pitch"}, + "org-block-begin-line":{"fg":"pewter","bg":"bg-dim","inherit":"fixed-pitch"}, + "org-block-end-line":{"fg":"pewter","bg":"bg-dim","inherit":"fixed-pitch"}, + "org-code":{"fg":"terracotta","inherit":"fixed-pitch"},"org-verbatim":{"fg":"steel","inherit":"fixed-pitch"}, + "org-inline-src-block":{"fg":"terracotta","inherit":"fixed-pitch"},"org-quote":{"fg":"silver","italic":True}, + "org-verse":{"fg":"silver","italic":True},"org-latex-and-related":{"fg":"gold"}, + "org-table":{"fg":"steel","inherit":"fixed-pitch"},"org-table-header":{"fg":"white","bold":True,"bg":"gunmetal"}, + "org-formula":{"fg":"terracotta"},"org-column":{"bg":"gunmetal"},"org-column-title":{"fg":"white","bold":True,"bg":"gunmetal"}, + "org-list-dt":{"fg":"gold","bold":True},"org-meta-line":{"fg":"pewter","inherit":"fixed-pitch"}, + "org-ellipsis":{"fg":"pewter"},"org-hide":{"fg":"ground"},"org-indent":{"fg":"ground"}, + "org-archived":{"fg":"pewter"},"org-dispatcher-highlight":{"fg":"gold","bold":True,"bg":"navy"}, + "org-agenda-structure":{"fg":"blue","bold":True,"height":1.1},"org-agenda-structure-secondary":{"fg":"blue"}, + "org-agenda-structure-filter":{"fg":"terracotta","bold":True},"org-agenda-date":{"fg":"steel","height":1.05}, + "org-agenda-date-today":{"fg":"gold","bold":True,"height":1.05},"org-agenda-date-weekend":{"fg":"steel","bold":True}, + "org-agenda-date-weekend-today":{"fg":"gold","bold":True},"org-agenda-current-time":{"fg":"gold"}, + "org-agenda-done":{"fg":"sage"},"org-agenda-dimmed-todo-face":{"fg":"pewter"}, + "org-agenda-calendar-event":{"fg":"white"},"org-agenda-calendar-sexp":{"fg":"steel"}, + "org-agenda-calendar-daterange":{"fg":"steel"},"org-agenda-diary":{"fg":"sage"}, + "org-agenda-clocking":{"bg":"navy"},"org-agenda-column-dateline":{"bg":"gunmetal"}, + "org-agenda-restriction-lock":{"bg":"terracotta"},"org-agenda-filter-category":{"fg":"gold","bold":True}, + "org-agenda-filter-effort":{"fg":"gold","bold":True},"org-agenda-filter-regexp":{"fg":"gold","bold":True}, + "org-agenda-filter-tags":{"fg":"gold","bold":True},"org-scheduled":{"fg":"sage"}, + "org-scheduled-today":{"fg":"sage","bold":True},"org-scheduled-previously":{"fg":"terracotta"}, + "org-upcoming-deadline":{"fg":"gold"},"org-upcoming-distant-deadline":{"fg":"tan"}, + "org-imminent-deadline":{"fg":"terracotta","bold":True},"org-time-grid":{"fg":"tan"}, + "org-clock-overlay":{"bg":"navy"},"org-mode-line-clock":{"fg":"steel"},"org-mode-line-clock-overrun":{"fg":"terracotta","bold":True}} +MAGIT_SEED={ + "magit-section-heading":{"fg":"gold","bold":True},"magit-section-secondary-heading":{"fg":"tan","bold":True}, + "magit-section-heading-selection":{"fg":"gold","bg":"navy"},"magit-section-highlight":{"bg":"bg-dim"}, + "magit-section-child-count":{"fg":"pewter"},"magit-diff-added":{"fg":"sage"}, + "magit-diff-added-highlight":{"fg":"sage","bg":"bg-dim"},"magit-diff-removed":{"fg":"terracotta"}, + "magit-diff-removed-highlight":{"fg":"terracotta","bg":"bg-dim"},"magit-diff-context":{"fg":"pewter"}, + "magit-diff-context-highlight":{"fg":"silver","bg":"bg-dim"},"magit-diff-file-heading":{"fg":"white","bold":True}, + "magit-diff-file-heading-highlight":{"fg":"white","bold":True,"bg":"bg-dim"}, + "magit-diff-hunk-heading":{"fg":"steel","bg":"gunmetal"},"magit-diff-hunk-heading-highlight":{"fg":"white","bg":"gunmetal"}, + "magit-diffstat-added":{"fg":"sage"},"magit-diffstat-removed":{"fg":"terracotta"}, + "magit-branch-current":{"fg":"blue","bold":True,"box":{"style":"line","width":1,"color":None}},"magit-branch-local":{"fg":"blue"}, + "magit-branch-remote":{"fg":"sage"},"magit-branch-remote-head":{"fg":"sage","bold":True,"box":{"style":"line","width":1,"color":None}}, + "magit-head":{"fg":"blue","bold":True},"magit-tag":{"fg":"gold"},"magit-hash":{"fg":"pewter"}, + "magit-filename":{"fg":"steel"},"magit-dimmed":{"fg":"pewter"},"magit-keyword":{"fg":"regal"}, + "magit-keyword-squash":{"fg":"terracotta"},"magit-refname":{"fg":"pewter"},"magit-log-author":{"fg":"tan"}, + "magit-log-date":{"fg":"steel"},"magit-log-graph":{"fg":"pewter"}, + "magit-header-line":{"fg":"white","bold":True,"bg":"gunmetal"},"magit-process-ok":{"fg":"sage","bold":True}, + "magit-process-ng":{"fg":"terracotta","bold":True},"magit-mode-line-process":{"fg":"sage"}, + "magit-mode-line-process-error":{"fg":"terracotta"},"magit-bisect-good":{"fg":"sage"}, + "magit-bisect-bad":{"fg":"terracotta"},"magit-bisect-skip":{"fg":"gold"}, + "magit-blame-heading":{"fg":"steel","bg":"gunmetal"},"magit-blame-hash":{"fg":"pewter"}, + "magit-blame-name":{"fg":"tan"},"magit-blame-date":{"fg":"steel"},"magit-cherry-equivalent":{"fg":"regal"}, + "magit-cherry-unmatched":{"fg":"sage"},"magit-signature-good":{"fg":"sage"}, + "magit-signature-bad":{"fg":"terracotta","bold":True},"magit-signature-untrusted":{"fg":"gold"}, + "magit-signature-expired":{"fg":"tan"},"magit-diff-whitespace-warning":{"bg":"terracotta"}, + "magit-reflog-commit":{"fg":"sage"},"magit-reflog-amend":{"fg":"regal"},"magit-reflog-merge":{"fg":"sage"}, + "magit-reflog-checkout":{"fg":"blue"},"magit-reflog-reset":{"fg":"terracotta"},"magit-reflog-rebase":{"fg":"regal"}, + "magit-reflog-cherry-pick":{"fg":"sage"},"magit-reflog-remote":{"fg":"steel"},"magit-reflog-other":{"fg":"steel"}, + "magit-sequence-pick":{"fg":"white"},"magit-sequence-stop":{"fg":"terracotta"},"magit-sequence-done":{"fg":"pewter"}, + "magit-sequence-head":{"fg":"blue"}} +ELFEED_SEED={ + "elfeed-search-date-face":{"fg":"steel"},"elfeed-search-title-face":{"fg":"silver"}, + "elfeed-search-unread-title-face":{"fg":"white","bold":True},"elfeed-search-feed-face":{"fg":"sage"}, + "elfeed-search-tag-face":{"fg":"tan"},"elfeed-search-unread-count-face":{"fg":"gold"}, + "elfeed-search-filter-face":{"fg":"blue","bold":True},"elfeed-search-last-update-face":{"fg":"pewter"}, + "elfeed-log-date-face":{"fg":"steel"},"elfeed-log-error-level-face":{"fg":"terracotta","bold":True}, + "elfeed-log-warn-level-face":{"fg":"gold"},"elfeed-log-info-level-face":{"fg":"sage"}, + "elfeed-log-debug-level-face":{"fg":"pewter"}} +# ghostel (terminal): the 16 ANSI colors plus default and the fake cursor. +GHOSTEL_FACES=("ghostel-default ghostel-fake-cursor ghostel-fake-cursor-box " + "ghostel-color-black ghostel-color-red ghostel-color-green ghostel-color-yellow " + "ghostel-color-blue ghostel-color-magenta ghostel-color-cyan ghostel-color-white " + "ghostel-color-bright-black ghostel-color-bright-red ghostel-color-bright-green ghostel-color-bright-yellow " + "ghostel-color-bright-blue ghostel-color-bright-magenta ghostel-color-bright-cyan ghostel-color-bright-white").split() +GHOSTEL_SEED={ + "ghostel-default":{"fg":"#cdced1"},"ghostel-fake-cursor":{"fg":"#000000","bg":"silver"},"ghostel-fake-cursor-box":{"fg":"silver"}, + "ghostel-color-black":{"fg":"pewter"},"ghostel-color-red":{"fg":"terracotta"},"ghostel-color-green":{"fg":"emerald"},"ghostel-color-yellow":{"fg":"gold"}, + "ghostel-color-blue":{"fg":"blue"},"ghostel-color-magenta":{"fg":"regal"},"ghostel-color-cyan":{"fg":"sage"},"ghostel-color-white":{"fg":"silver"}, + "ghostel-color-bright-black":{"fg":"steel"},"ghostel-color-bright-red":{"fg":"#de4949"},"ghostel-color-bright-green":{"fg":"#84b068"},"ghostel-color-bright-yellow":{"fg":"#eed376"}, + "ghostel-color-bright-blue":{"fg":"#7a9abe"},"ghostel-color-bright-magenta":{"fg":"#b07fd0"},"ghostel-color-bright-cyan":{"fg":"#7fc0a8"},"ghostel-color-bright-white":{"fg":"white"}} +DASHBOARD_FACES=("dashboard-banner-logo-title dashboard-text-banner dashboard-heading " + "dashboard-items-face dashboard-navigator dashboard-no-items-face dashboard-footer-face dashboard-footer-icon-face").split() +DASHBOARD_SEED={ + "dashboard-banner-logo-title":{"fg":"gold","bold":True},"dashboard-text-banner":{"fg":"steel"},"dashboard-heading":{"fg":"blue","bold":True}, + "dashboard-items-face":{"fg":"#cdced1"},"dashboard-navigator":{"fg":"blue"},"dashboard-no-items-face":{"fg":"pewter"}, + "dashboard-footer-face":{"fg":"tan"},"dashboard-footer-icon-face":{"fg":"gold"}} +# mu4e is not in the generated inventory (not loaded when it was built), so its +# face list is curated from the set the dupre theme already themes. +MU4E_FACES=("mu4e-title-face mu4e-context-face mu4e-modeline-face mu4e-ok-face mu4e-warning-face " + "mu4e-header-title-face mu4e-header-key-face mu4e-header-value-face mu4e-header-face mu4e-header-highlight-face mu4e-header-marks-face " + "mu4e-unread-face mu4e-flagged-face mu4e-replied-face mu4e-forwarded-face mu4e-draft-face mu4e-trashed-face mu4e-related-face " + "mu4e-contact-face mu4e-special-header-value-face mu4e-url-number-face mu4e-link-face " + "" + "mu4e-footer-face mu4e-region-code mu4e-system-face mu4e-highlight-face mu4e-compose-separator-face").split() +MU4E_SEED={ + "mu4e-title-face":{"fg":"blue","bold":True},"mu4e-context-face":{"fg":"blue","bold":True},"mu4e-modeline-face":{"fg":"silver"},"mu4e-ok-face":{"fg":"sage","bold":True},"mu4e-warning-face":{"fg":"gold","bold":True}, + "mu4e-header-title-face":{"fg":"blue","bold":True},"mu4e-header-key-face":{"fg":"blue","bold":True},"mu4e-header-value-face":{"fg":"silver"},"mu4e-header-face":{"fg":"#cdced1"},"mu4e-header-highlight-face":{"bg":"gunmetal","underline":True},"mu4e-header-marks-face":{"fg":"gold"}, + "mu4e-unread-face":{"fg":"white","bold":True},"mu4e-flagged-face":{"fg":"gold"},"mu4e-replied-face":{"fg":"silver"},"mu4e-forwarded-face":{"fg":"silver"},"mu4e-draft-face":{"fg":"steel","italic":True},"mu4e-trashed-face":{"fg":"pewter","strike":True},"mu4e-related-face":{"fg":"steel","italic":True}, + "mu4e-contact-face":{"fg":"#cdced1"},"mu4e-special-header-value-face":{"fg":"silver"},"mu4e-url-number-face":{"fg":"blue","bold":True},"mu4e-link-face":{"fg":"blue","underline":True}, + "mu4e-footer-face":{"fg":"pewter"},"mu4e-region-code":{"bg":"bg-dim"},"mu4e-system-face":{"fg":"pewter","italic":True},"mu4e-highlight-face":{"fg":"gold","bold":True},"mu4e-compose-separator-face":{"fg":"pewter"}} +LSP_FACES=("lsp-signature-face lsp-signature-highlight-function-argument lsp-signature-posframe " + "lsp-face-highlight-read lsp-face-highlight-write lsp-face-highlight-textual lsp-face-rename lsp-rename-placeholder-face " + "lsp-inlay-hint-face lsp-inlay-hint-parameter-face lsp-inlay-hint-type-face lsp-details-face " + "lsp-installation-buffer-face lsp-installation-finished-buffer-face").split() +LSP_SEED={ + "lsp-signature-face":{"fg":"silver"},"lsp-signature-highlight-function-argument":{"fg":"gold","bold":True},"lsp-signature-posframe":{"bg":"bg-dim"}, + "lsp-face-highlight-read":{"bg":"navy","underline":True},"lsp-face-highlight-write":{"bg":"#3d2f4a","bold":True},"lsp-face-highlight-textual":{"bg":"gunmetal"}, + "lsp-face-rename":{"bg":"gunmetal","bold":True,"underline":True},"lsp-rename-placeholder-face":{"fg":"gold","bold":True}, + "lsp-inlay-hint-face":{"fg":"pewter","italic":True},"lsp-inlay-hint-parameter-face":{"fg":"steel","italic":True},"lsp-inlay-hint-type-face":{"fg":"sage","italic":True}, + "lsp-details-face":{"fg":"pewter","italic":True,"height":0.8},"lsp-installation-buffer-face":{"fg":"blue"},"lsp-installation-finished-buffer-face":{"fg":"sage"}} +GITGUTTER_FACES=("git-gutter:added git-gutter:modified git-gutter:deleted git-gutter:unchanged git-gutter:separator").split() +GITGUTTER_SEED={ + "git-gutter:added":{"fg":"emerald","bold":True},"git-gutter:modified":{"fg":"gold","bold":True},"git-gutter:deleted":{"fg":"terracotta","bold":True}, + "git-gutter:unchanged":{"fg":"pewter"},"git-gutter:separator":{"fg":"steel","bold":True}} +FLYCHECK_FACES=("flycheck-error flycheck-warning flycheck-info flycheck-fringe-error flycheck-fringe-warning flycheck-fringe-info " + "flycheck-delimited-error flycheck-error-delimiter flycheck-error-list-error flycheck-error-list-warning flycheck-error-list-info " + "flycheck-error-list-error-message flycheck-error-list-checker-name flycheck-error-list-column-number flycheck-error-list-line-number " + "flycheck-error-list-filename flycheck-error-list-id flycheck-error-list-id-with-explainer flycheck-error-list-highlight flycheck-verify-select-checker").split() +FLYCHECK_SEED={ + "flycheck-error":{"fg":"terracotta","underline":True},"flycheck-warning":{"fg":"gold","underline":True},"flycheck-info":{"fg":"blue","underline":True}, + "flycheck-fringe-error":{"fg":"terracotta"},"flycheck-fringe-warning":{"fg":"gold"},"flycheck-fringe-info":{"fg":"blue"}, + "flycheck-delimited-error":{"fg":"terracotta"},"flycheck-error-delimiter":{"fg":"terracotta"}, + "flycheck-error-list-error":{"fg":"terracotta"},"flycheck-error-list-warning":{"fg":"gold"},"flycheck-error-list-info":{"fg":"blue"}, + "flycheck-error-list-error-message":{"fg":"#cdced1"},"flycheck-error-list-checker-name":{"fg":"steel"}, + "flycheck-error-list-column-number":{"fg":"pewter"},"flycheck-error-list-line-number":{"fg":"pewter"},"flycheck-error-list-filename":{"fg":"blue"}, + "flycheck-error-list-id":{"fg":"steel"},"flycheck-error-list-id-with-explainer":{"fg":"steel","bold":True,"box":{"style":"released","width":1,"color":None}}, + "flycheck-error-list-highlight":{"bg":"gunmetal","bold":True},"flycheck-verify-select-checker":{"fg":"gold","box":{"style":"released","width":1,"color":None}}} +DIRED_FACES=("dired-header dired-directory dired-symlink dired-broken-symlink dired-special dired-set-id " + "dired-perm-write dired-mark dired-marked dired-flagged dired-ignored dired-warning").split() +DIRED_SEED={ + "dired-header":{"fg":"blue","bold":True},"dired-directory":{"fg":"blue","bold":True},"dired-symlink":{"fg":"sage"}, + "dired-broken-symlink":{"fg":"#de4949","bold":True},"dired-special":{"fg":"regal"},"dired-set-id":{"fg":"terracotta"}, + "dired-perm-write":{"fg":"silver"},"dired-mark":{"fg":"gold"},"dired-marked":{"fg":"gold","bold":True}, + "dired-flagged":{"fg":"terracotta","bold":True},"dired-ignored":{"fg":"pewter"},"dired-warning":{"fg":"gold","bold":True}} +DIRVISH_FACES=("dirvish-inactive dirvish-free-space dirvish-hl-line dirvish-hl-line-inactive " + "dirvish-file-modes dirvish-file-link-number dirvish-file-user-id dirvish-file-group-id dirvish-file-size dirvish-file-time " + "dirvish-file-inode-number dirvish-file-device-number dirvish-subtree-guide dirvish-subtree-state " + "dirvish-collapse-dir-face dirvish-collapse-empty-dir-face dirvish-collapse-file-face dirvish-emerge-group-title " + "dirvish-media-info-heading dirvish-media-info-property-key dirvish-narrow-match-face-0 dirvish-narrow-match-face-1 " + "dirvish-narrow-match-face-2 dirvish-narrow-match-face-3 dirvish-narrow-split dirvish-proc-running dirvish-proc-finished " + "dirvish-proc-failed dirvish-git-commit-message-face dirvish-vc-added-state dirvish-vc-edited-state dirvish-vc-removed-state " + "dirvish-vc-conflict-state dirvish-vc-locked-state dirvish-vc-missing-state dirvish-vc-needs-merge-face " + "dirvish-vc-needs-update-state dirvish-vc-unregistered-face").split() +DIRVISH_SEED={ + "dirvish-inactive":{"fg":"pewter"},"dirvish-free-space":{"fg":"sage"},"dirvish-hl-line":{"bg":"gunmetal"},"dirvish-hl-line-inactive":{"bg":"bg-dim"}, + "dirvish-file-modes":{"fg":"steel"},"dirvish-file-link-number":{"fg":"pewter"},"dirvish-file-user-id":{"fg":"blue"},"dirvish-file-group-id":{"fg":"steel"}, + "dirvish-file-size":{"fg":"sage"},"dirvish-file-time":{"fg":"pewter"},"dirvish-file-inode-number":{"fg":"pewter"},"dirvish-file-device-number":{"fg":"pewter"}, + "dirvish-subtree-guide":{"fg":"pewter"},"dirvish-subtree-state":{"fg":"steel"},"dirvish-collapse-dir-face":{"fg":"blue"}, + "dirvish-collapse-empty-dir-face":{"fg":"pewter"},"dirvish-collapse-file-face":{"fg":"silver"},"dirvish-emerge-group-title":{"fg":"gold","bold":True}, + "dirvish-media-info-heading":{"fg":"blue","bold":True},"dirvish-media-info-property-key":{"fg":"steel","italic":True}, + "dirvish-narrow-match-face-0":{"fg":"gold","bold":True},"dirvish-narrow-match-face-1":{"fg":"blue","bold":True}, + "dirvish-narrow-match-face-2":{"fg":"emerald","bold":True},"dirvish-narrow-match-face-3":{"fg":"regal","bold":True},"dirvish-narrow-split":{"fg":"pewter"}, + "dirvish-proc-running":{"fg":"gold"},"dirvish-proc-finished":{"fg":"sage"},"dirvish-proc-failed":{"fg":"terracotta"}, + "dirvish-git-commit-message-face":{"fg":"tan","italic":True},"dirvish-vc-added-state":{"fg":"sage"},"dirvish-vc-edited-state":{"fg":"gold"}, + "dirvish-vc-removed-state":{"fg":"terracotta"},"dirvish-vc-conflict-state":{"fg":"terracotta","bold":True},"dirvish-vc-locked-state":{"fg":"blue"}, + "dirvish-vc-missing-state":{"fg":"terracotta"},"dirvish-vc-needs-merge-face":{"fg":"gold"},"dirvish-vc-needs-update-state":{"fg":"gold"}, + "dirvish-vc-unregistered-face":{"fg":"pewter"}} +ORGDRILL_FACES=("org-drill-hidden-cloze-face org-drill-visible-cloze-face org-drill-visible-cloze-hint-face").split() +ORGDRILL_SEED={"org-drill-hidden-cloze-face":{"fg":"#000000","bg":"steel"},"org-drill-visible-cloze-face":{"fg":"gold","bold":True},"org-drill-visible-cloze-hint-face":{"fg":"pewter","italic":True}} +ORGNOTER_FACES=("org-noter-notes-exist-face org-noter-no-notes-exist-face").split() +ORGNOTER_SEED={"org-noter-notes-exist-face":{"fg":"sage","bold":True},"org-noter-no-notes-exist-face":{"fg":"pewter","bold":True}} +SIGNEL_FACES=("signel-timestamp-face signel-my-msg-face signel-other-msg-face signel-error-face").split() +SIGNEL_SEED={"signel-timestamp-face":{"fg":"pewter"},"signel-my-msg-face":{"fg":"blue"},"signel-other-msg-face":{"fg":"silver"},"signel-error-face":{"fg":"terracotta","bold":True}} +PEARL_FACES=("pearl-preamble-summary pearl-editable-comment pearl-readonly-comment pearl-modified-highlight pearl-modified-local pearl-modified-unknown").split() +PEARL_SEED={"pearl-preamble-summary":{"fg":"blue","bold":True},"pearl-editable-comment":{"fg":"silver"},"pearl-readonly-comment":{"fg":"pewter","italic":True},"pearl-modified-highlight":{"bg":"navy"},"pearl-modified-local":{"fg":"gold"},"pearl-modified-unknown":{"fg":"pewter"}} +CALIBREDB_FACES=("calibredb-search-header-library-name-face calibredb-search-header-library-path-face calibredb-search-header-total-face calibredb-search-header-filter-face calibredb-search-header-sort-face calibredb-search-header-highlight-face " + "calibredb-id-face calibredb-title-face calibredb-author-face calibredb-format-face calibredb-size-face calibredb-tag-face calibredb-date-face calibredb-mark-face calibredb-series-face calibredb-publisher-face calibredb-pubdate-face " + "calibredb-language-face calibredb-comment-face calibredb-archive-face calibredb-favorite-face calibredb-file-face calibredb-ids-face calibredb-highlight-face calibredb-current-page-button-face calibredb-mouse-face " + "calibredb-title-detailed-view-face calibredb-edit-annotation-header-title-face").split() +CALIBREDB_SEED={ + "calibredb-search-header-library-name-face":{"fg":"blue","bold":True},"calibredb-search-header-library-path-face":{"fg":"pewter"},"calibredb-search-header-total-face":{"fg":"sage"},"calibredb-search-header-filter-face":{"fg":"gold"},"calibredb-search-header-sort-face":{"fg":"steel"},"calibredb-search-header-highlight-face":{"fg":"gold","bold":True,"underline":True}, + "calibredb-id-face":{"fg":"pewter"},"calibredb-title-face":{"fg":"blue","bold":True},"calibredb-author-face":{"fg":"sage"},"calibredb-format-face":{"fg":"steel"},"calibredb-size-face":{"fg":"pewter"},"calibredb-tag-face":{"fg":"tan"},"calibredb-date-face":{"fg":"pewter"},"calibredb-mark-face":{"fg":"gold","bold":True},"calibredb-series-face":{"fg":"regal"},"calibredb-publisher-face":{"fg":"steel"},"calibredb-pubdate-face":{"fg":"pewter"}, + "calibredb-language-face":{"fg":"steel"},"calibredb-comment-face":{"fg":"silver","italic":True},"calibredb-archive-face":{"fg":"pewter"},"calibredb-favorite-face":{"fg":"gold"},"calibredb-file-face":{"fg":"blue"},"calibredb-ids-face":{"fg":"pewter"},"calibredb-highlight-face":{"fg":"gold","bold":True},"calibredb-current-page-button-face":{"fg":"blue","bold":True,"height":1.1},"calibredb-mouse-face":{"bg":"gunmetal"}, + "calibredb-title-detailed-view-face":{"fg":"gold","bold":True},"calibredb-edit-annotation-header-title-face":{"fg":"blue","bold":True}} +ERC_FACES=("erc-header-line erc-timestamp-face erc-notice-face erc-default-face erc-current-nick-face erc-my-nick-face erc-my-nick-prefix-face erc-nick-default-face erc-nick-prefix-face erc-button-nick-default-face " + "erc-nick-msg-face erc-direct-msg-face erc-action-face erc-keyword-face erc-pal-face erc-fool-face erc-dangerous-host-face erc-error-face erc-input-face erc-prompt-face erc-command-indicator-face erc-information " + "erc-button erc-bold-face erc-italic-face erc-underline-face erc-inverse-face erc-spoiler-face erc-fill-wrap-merge-indicator-face erc-keep-place-indicator-arrow erc-keep-place-indicator-line").split() +ERC_SEED={ + "erc-header-line":{"fg":"white","bg":"gunmetal","bold":True},"erc-timestamp-face":{"fg":"pewter"},"erc-notice-face":{"fg":"steel","bold":True},"erc-default-face":{"fg":"#cdced1"},"erc-current-nick-face":{"fg":"gold","bold":True},"erc-my-nick-face":{"fg":"gold","bold":True},"erc-my-nick-prefix-face":{"fg":"gold","bold":True},"erc-nick-default-face":{"fg":"blue","bold":True},"erc-nick-prefix-face":{"fg":"sage","bold":True},"erc-button-nick-default-face":{"fg":"blue","bold":True}, + "erc-nick-msg-face":{"fg":"regal","bold":True},"erc-direct-msg-face":{"fg":"regal"},"erc-action-face":{"fg":"sage","italic":True},"erc-keyword-face":{"fg":"gold","bold":True},"erc-pal-face":{"fg":"emerald","bold":True},"erc-fool-face":{"fg":"pewter"},"erc-dangerous-host-face":{"fg":"terracotta","bold":True},"erc-error-face":{"fg":"terracotta","bold":True},"erc-input-face":{"fg":"silver"},"erc-prompt-face":{"fg":"blue","bold":True},"erc-command-indicator-face":{"fg":"steel","bold":True},"erc-information":{"fg":"steel"}, + "erc-button":{"fg":"blue","bold":True},"erc-bold-face":{"bold":True},"erc-italic-face":{"italic":True},"erc-underline-face":{"fg":"silver","underline":True},"erc-inverse-face":{"fg":"#000000","bg":"silver"},"erc-spoiler-face":{"fg":"#000000","bg":"gunmetal"},"erc-fill-wrap-merge-indicator-face":{"fg":"pewter"},"erc-keep-place-indicator-arrow":{"fg":"gold"},"erc-keep-place-indicator-line":{"bg":"bg-dim"}} +SLACK_FACES=("slack-room-info-title-face slack-room-info-title-room-name-face slack-room-info-section-title-face slack-room-info-section-label-face slack-room-unread-face " + "slack-message-output-header slack-message-output-text slack-message-output-reaction slack-message-output-reaction-pressed slack-message-deleted-face slack-new-message-marker-face slack-all-thread-buffer-thread-header-face " + "slack-message-mention-face slack-message-mention-me-face slack-message-mention-keyword-face slack-channel-button-face " + "slack-mrkdwn-bold-face slack-mrkdwn-italic-face slack-mrkdwn-code-face slack-mrkdwn-code-block-face slack-mrkdwn-strike-face slack-mrkdwn-blockquote-face slack-mrkdwn-list-face " + "slack-attachment-header slack-attachment-footer slack-attachment-pad slack-attachment-field-title slack-message-attachment-preview-header-face slack-preview-face slack-block-highlight-source-overlay-face " + "slack-message-action-face slack-message-action-primary-face slack-message-action-danger-face " + "slack-button-block-element-face slack-button-primary-block-element-face slack-button-danger-block-element-face slack-select-block-element-face slack-overflow-block-element-face slack-date-picker-block-element-face " + "slack-dialog-title-face slack-dialog-element-label-face slack-dialog-element-hint-face slack-dialog-element-placeholder-face slack-dialog-element-error-face slack-dialog-submit-button-face slack-dialog-cancel-button-face slack-dialog-select-element-input-face " + "slack-user-active-face slack-user-dnd-face slack-user-profile-header-face slack-user-profile-property-name-face slack-profile-image-face " + "slack-search-result-message-header-face slack-search-result-message-username-face " + "slack-modeline-has-unreads-face slack-modeline-channel-has-unreads-face slack-modeline-thread-has-unreads-face").split() +SLACK_SEED={ + "slack-room-info-title-face":{"fg":"blue","bold":True},"slack-room-info-title-room-name-face":{"fg":"gold","bold":True},"slack-room-info-section-title-face":{"fg":"blue","bold":True},"slack-room-info-section-label-face":{"fg":"steel","bold":True},"slack-room-unread-face":{"fg":"white","bold":True}, + "slack-message-output-header":{"fg":"blue","bold":True,"underline":True},"slack-message-output-text":{"fg":"#cdced1"},"slack-message-output-reaction":{"fg":"steel","box":{"style":"released","width":1,"color":None}},"slack-message-output-reaction-pressed":{"fg":"gold","bold":True,"box":{"style":"released","width":1,"color":None}},"slack-message-deleted-face":{"fg":"pewter","italic":True},"slack-new-message-marker-face":{"fg":"terracotta","bold":True},"slack-all-thread-buffer-thread-header-face":{"fg":"blue","bold":True}, + "slack-message-mention-face":{"fg":"blue"},"slack-message-mention-me-face":{"fg":"gold","bg":"navy","bold":True},"slack-message-mention-keyword-face":{"fg":"gold","bold":True},"slack-channel-button-face":{"fg":"blue","underline":True}, + "slack-mrkdwn-bold-face":{"bold":True},"slack-mrkdwn-italic-face":{"italic":True},"slack-mrkdwn-code-face":{"fg":"terracotta"},"slack-mrkdwn-code-block-face":{"fg":"terracotta","bg":"bg-dim"},"slack-mrkdwn-strike-face":{"fg":"pewter","strike":True},"slack-mrkdwn-blockquote-face":{"fg":"silver","italic":True},"slack-mrkdwn-list-face":{"fg":"silver"}, + "slack-attachment-header":{"fg":"blue","bold":True},"slack-attachment-footer":{"fg":"pewter"},"slack-attachment-pad":{"fg":"pewter"},"slack-attachment-field-title":{"fg":"steel","bold":True},"slack-message-attachment-preview-header-face":{"fg":"blue","bold":True},"slack-preview-face":{"fg":"silver"},"slack-block-highlight-source-overlay-face":{"bg":"bg-dim"}, + "slack-message-action-face":{"fg":"blue","box":{"style":"released","width":1,"color":None}},"slack-message-action-primary-face":{"fg":"sage","box":{"style":"released","width":1,"color":None}},"slack-message-action-danger-face":{"fg":"terracotta","box":{"style":"released","width":1,"color":None}}, + "slack-button-block-element-face":{"fg":"silver","box":{"style":"released","width":1,"color":None}},"slack-button-primary-block-element-face":{"fg":"sage","bold":True,"box":{"style":"released","width":1,"color":None}},"slack-button-danger-block-element-face":{"fg":"terracotta","bold":True,"box":{"style":"released","width":1,"color":None}},"slack-select-block-element-face":{"fg":"blue","box":{"style":"released","width":1,"color":None}},"slack-overflow-block-element-face":{"fg":"steel","box":{"style":"released","width":1,"color":None}},"slack-date-picker-block-element-face":{"fg":"blue","box":{"style":"released","width":1,"color":None}}, + "slack-dialog-title-face":{"fg":"blue","bold":True},"slack-dialog-element-label-face":{"fg":"steel","bold":True},"slack-dialog-element-hint-face":{"fg":"pewter","italic":True},"slack-dialog-element-placeholder-face":{"fg":"pewter"},"slack-dialog-element-error-face":{"fg":"terracotta"},"slack-dialog-submit-button-face":{"fg":"sage","bold":True,"box":{"style":"released","width":1,"color":None}},"slack-dialog-cancel-button-face":{"fg":"silver","box":{"style":"released","width":1,"color":None}},"slack-dialog-select-element-input-face":{"fg":"silver","box":{"style":"released","width":1,"color":None}}, + "slack-user-active-face":{"fg":"sage"},"slack-user-dnd-face":{"fg":"terracotta"},"slack-user-profile-header-face":{"fg":"blue","bold":True},"slack-user-profile-property-name-face":{"fg":"steel"},"slack-profile-image-face":{"fg":"pewter"}, + "slack-search-result-message-header-face":{"fg":"blue"},"slack-search-result-message-username-face":{"fg":"gold","bold":True}, + "slack-modeline-has-unreads-face":{"fg":"gold"},"slack-modeline-channel-has-unreads-face":{"fg":"gold","bold":True},"slack-modeline-thread-has-unreads-face":{"fg":"gold"}} +TELEGA_FACES=("telega-root-heading telega-tracking telega-unread-unmuted-modeline telega-username telega-user-online-status telega-user-non-online-status telega-secret-title telega-contact-birthdays-today " + "telega-muted-count telega-unmuted-count telega-mention-count telega-has-chatbuf-brackets telega-delim-face telega-shadow telega-link telega-blue telega-red " + "telega-msg-heading telega-msg-user-title telega-msg-self-title telega-msg-deleted telega-msg-sponsored telega-msg-inline-reply telega-msg-inline-forward telega-msg-inline-other " + "telega-entity-type-bold telega-entity-type-italic telega-entity-type-underline telega-entity-type-strikethrough telega-entity-type-code telega-entity-type-pre telega-entity-type-blockquote telega-entity-type-mention telega-entity-type-hashtag telega-entity-type-cashtag telega-entity-type-botcommand telega-entity-type-texturl telega-entity-type-spoiler " + "telega-reaction telega-reaction-chosen telega-reaction-paid telega-reaction-paid-chosen telega-highlight-text-face telega-button-highlight " + "telega-chat-prompt telega-chat-prompt-aux telega-chat-input-attachment telega-topic-button telega-filter-active telega-filter-button-active telega-filter-button-inactive telega-checklist-stats-done telega-checklist-stats-todo " + "telega-box-button telega-box-button-active telega-box-button-default-active telega-box-button-default-passive telega-box-button-primary-active telega-box-button-primary-passive telega-box-button-success-active telega-box-button-success-passive telega-box-button-danger-active telega-box-button-danger-passive telega-box-button-ui-active telega-box-button-ui-passive telega-box-button2-active telega-box-button2-passive telega-box-button2-white-foreground " + "telega-describe-item-title telega-describe-section-title telega-describe-subsection-title telega-enckey-00 telega-enckey-01 telega-enckey-10 telega-enckey-11 " + "telega-palette-builtin-blue telega-palette-builtin-green telega-palette-builtin-orange telega-palette-builtin-purple " + "telega-webpage-title telega-webpage-subtitle telega-webpage-header telega-webpage-subheader telega-webpage-outline telega-webpage-fixed telega-webpage-preformatted telega-webpage-marked telega-webpage-strike-through telega-webpage-chat-link telega-link-preview-sitename telega-link-preview-title").split() +TELEGA_SEED={ + "telega-root-heading":{"fg":"blue","bold":True},"telega-tracking":{"fg":"gold"},"telega-unread-unmuted-modeline":{"fg":"gold","bold":True},"telega-username":{"fg":"blue"},"telega-user-online-status":{"fg":"sage"},"telega-user-non-online-status":{"fg":"pewter"},"telega-secret-title":{"fg":"sage"},"telega-contact-birthdays-today":{"fg":"gold"}, + "telega-muted-count":{"fg":"pewter"},"telega-unmuted-count":{"fg":"gold","bold":True},"telega-mention-count":{"fg":"gold","bold":True},"telega-has-chatbuf-brackets":{"fg":"steel"},"telega-delim-face":{"fg":"pewter"},"telega-shadow":{"fg":"pewter"},"telega-link":{"fg":"blue"},"telega-blue":{"fg":"blue"},"telega-red":{"fg":"terracotta"}, + "telega-msg-heading":{"fg":"steel"},"telega-msg-user-title":{"fg":"blue","bold":True},"telega-msg-self-title":{"fg":"gold","bold":True},"telega-msg-deleted":{"fg":"pewter","italic":True},"telega-msg-sponsored":{"fg":"pewter","italic":True},"telega-msg-inline-reply":{"fg":"steel"},"telega-msg-inline-forward":{"fg":"sage"},"telega-msg-inline-other":{"fg":"pewter"}, + "telega-entity-type-bold":{"bold":True},"telega-entity-type-italic":{"italic":True},"telega-entity-type-underline":{"fg":"silver","underline":True},"telega-entity-type-strikethrough":{"fg":"pewter","strike":True},"telega-entity-type-code":{"fg":"terracotta"},"telega-entity-type-pre":{"fg":"terracotta","bg":"bg-dim"},"telega-entity-type-blockquote":{"fg":"silver","italic":True},"telega-entity-type-mention":{"fg":"blue"},"telega-entity-type-hashtag":{"fg":"blue"},"telega-entity-type-cashtag":{"fg":"sage"},"telega-entity-type-botcommand":{"fg":"sage"},"telega-entity-type-texturl":{"fg":"blue"},"telega-entity-type-spoiler":{"fg":"gunmetal","bg":"gunmetal"}, + "telega-reaction":{"fg":"steel"},"telega-reaction-chosen":{"fg":"gold","bold":True},"telega-reaction-paid":{"fg":"gold"},"telega-reaction-paid-chosen":{"fg":"gold","bold":True},"telega-highlight-text-face":{"fg":"#000000","bg":"gold"},"telega-button-highlight":{"fg":"gold","bold":True}, + "telega-chat-prompt":{"fg":"blue","bold":True},"telega-chat-prompt-aux":{"fg":"steel"},"telega-chat-input-attachment":{"fg":"sage"},"telega-topic-button":{"fg":"blue"},"telega-filter-active":{"fg":"gold","bold":True},"telega-filter-button-active":{"fg":"#000000","bg":"gold"},"telega-filter-button-inactive":{"fg":"steel"},"telega-checklist-stats-done":{"fg":"sage"},"telega-checklist-stats-todo":{"fg":"steel"}, + "telega-box-button":{"fg":"blue","box":{"style":"released","width":1,"color":None}},"telega-box-button-active":{"fg":"#000000","bg":"blue","box":{"style":"released","width":1,"color":None}},"telega-box-button-default-active":{"fg":"#000000","bg":"silver","box":{"style":"released","width":1,"color":None}},"telega-box-button-default-passive":{"fg":"steel","box":{"style":"released","width":1,"color":None}},"telega-box-button-primary-active":{"fg":"#000000","bg":"blue","box":{"style":"released","width":1,"color":None}},"telega-box-button-primary-passive":{"fg":"blue","box":{"style":"released","width":1,"color":None}},"telega-box-button-success-active":{"fg":"#000000","bg":"emerald","box":{"style":"released","width":1,"color":None}},"telega-box-button-success-passive":{"fg":"sage","box":{"style":"released","width":1,"color":None}},"telega-box-button-danger-active":{"fg":"#000000","bg":"terracotta","box":{"style":"released","width":1,"color":None}},"telega-box-button-danger-passive":{"fg":"terracotta","box":{"style":"released","width":1,"color":None}},"telega-box-button-ui-active":{"fg":"#000000","bg":"gold","box":{"style":"released","width":1,"color":None}},"telega-box-button-ui-passive":{"fg":"gold","box":{"style":"released","width":1,"color":None}},"telega-box-button2-active":{"fg":"#000000","bg":"blue"},"telega-box-button2-passive":{"fg":"steel"},"telega-box-button2-white-foreground":{"fg":"white"}, + "telega-describe-item-title":{"fg":"steel","bold":True},"telega-describe-section-title":{"fg":"blue","bold":True,"underline":True},"telega-describe-subsection-title":{"fg":"blue"},"telega-enckey-00":{"fg":"pewter"},"telega-enckey-01":{"fg":"sage"},"telega-enckey-10":{"fg":"gold"},"telega-enckey-11":{"fg":"blue"}, + "telega-palette-builtin-blue":{"fg":"blue"},"telega-palette-builtin-green":{"fg":"emerald"},"telega-palette-builtin-orange":{"fg":"terracotta"},"telega-palette-builtin-purple":{"fg":"regal"}, + "telega-webpage-title":{"fg":"blue","bold":True},"telega-webpage-subtitle":{"fg":"steel"},"telega-webpage-header":{"fg":"gold","bold":True},"telega-webpage-subheader":{"fg":"gold"},"telega-webpage-outline":{"fg":"pewter"},"telega-webpage-fixed":{"fg":"terracotta"},"telega-webpage-preformatted":{"fg":"terracotta","bg":"bg-dim"},"telega-webpage-marked":{"fg":"#000000","bg":"gold"},"telega-webpage-strike-through":{"fg":"pewter","strike":True},"telega-webpage-chat-link":{"fg":"blue"},"telega-link-preview-sitename":{"fg":"steel"},"telega-link-preview-title":{"fg":"blue","bold":True}} +# shr is built-in (not in the inventory). It is the HTML renderer behind nov +# (EPUB), eww, elfeed article view, and HTML mail, so theming it themes them all. +SHR_FACES=("shr-h1 shr-h2 shr-h3 shr-h4 shr-h5 shr-h6 shr-text shr-link shr-selected-link " + "shr-code shr-mark shr-strike-through shr-sup shr-abbreviation shr-sliced-image").split() +SHR_SEED={ + "shr-h1":{"fg":"gold","bold":True,"height":1.4},"shr-h2":{"fg":"blue","bold":True,"height":1.2},"shr-h3":{"fg":"blue","bold":True},"shr-h4":{"fg":"silver","bold":True},"shr-h5":{"fg":"steel","bold":True},"shr-h6":{"fg":"pewter","bold":True}, + "shr-text":{"fg":"#cdced1"},"shr-link":{"fg":"blue","underline":True},"shr-selected-link":{"fg":"gold","bold":True,"underline":True},"shr-code":{"fg":"terracotta","bg":"bg-dim"},"shr-mark":{"fg":"#000000","bg":"gold"},"shr-strike-through":{"fg":"pewter","strike":True},"shr-sup":{"fg":"steel","height":0.8},"shr-abbreviation":{"fg":"steel","italic":True,"underline":True}} diff --git a/scripts/theme-studio/face_specs.py b/scripts/theme-studio/face_specs.py new file mode 100644 index 00000000..32de68e0 --- /dev/null +++ b/scripts/theme-studio/face_specs.py @@ -0,0 +1,37 @@ +"""Shared face-spec defaults for theme-studio generation.""" + +from __future__ import annotations + +from typing import Any + + +STYLE_DEFAULTS: dict[str, Any] = { + "fg": None, + "bg": None, + "bold": False, + "italic": False, + "underline": False, + "strike": False, +} + +PACKAGE_DEFAULTS: dict[str, Any] = { + **STYLE_DEFAULTS, + "inherit": None, + "height": 1, + "box": None, +} + + +def face_spec(spec: dict[str, Any] | None = None, *, package: bool = False) -> dict[str, Any]: + out = dict(PACKAGE_DEFAULTS if package else STYLE_DEFAULTS) + if spec: + out.update(spec) + return out + + +def ui_face_spec(spec: dict[str, Any] | None = None) -> dict[str, Any]: + return face_spec(spec, package=False) + + +def package_face_spec(spec: dict[str, Any] | None = None) -> dict[str, Any]: + return face_spec(spec, package=True) diff --git a/scripts/theme-studio/generate.py b/scripts/theme-studio/generate.py new file mode 100644 index 00000000..751dff71 --- /dev/null +++ b/scripts/theme-studio/generate.py @@ -0,0 +1,215 @@ +import json, os, re +from app_inventory import add_inventory_apps, apply_default_face_seeds, apply_package_overrides, face_rows +from default_faces import DefaultFaces +from face_data import * +from face_specs import ui_face_spec +HERE=os.path.dirname(os.path.abspath(__file__)) + +def strip_exports(src): + """Drop ES-module `export`/`import` lines so the body loads as a classic <script>. + + A top-level `export` (or `import`) is a syntax error outside a module, so it + must go before the body is spliced into the page. Imports are stripped too so a + pure module may import a peer for its own unit tests (e.g. app-util.js imports + rl from colormath.js) while the inlined copy relies on the peer already being + in the page. The .mjs inline-integrity tests apply the identical strip and + assert the page carries the result verbatim, so the two copies cannot drift. + NOTE: this is line-based — each export/import statement must stay on a single + line or the continuation lines survive. + """ + return '\n'.join(l for l in src.splitlines() + if not (l.startswith('export') or l.startswith('import'))).rstrip() + +# Pure color-math core, inlined verbatim into the page so the browser runs the +# same code the Node tests import (one source of truth). +COLORMATH_BODY=strip_exports(open(os.path.join(HERE,'colormath.js')).read()) +# The app's stylesheet and script, kept as real files so they get JS/CSS tooling +# (highlight, brace-check, lint) and so the logic is unit-testable. They are +# inlined into the page the same way colormath.js is: a placeholder in the +# template, filled at generate time. app.js carries the data placeholders +# (MAP_J, PALETTE_J, COLORMATH_J, ...); those are filled after it is spliced in. +STYLES=open(os.path.join(HERE,'styles.css')).read() +APP_BODY=open(os.path.join(HERE,'app.js')).read() +# Pure package-model + dropdown logic, inlined into the page (and unit-tested via +# test-app-core.mjs) the same way colormath.js is. +APP_CORE_BODY=strip_exports(open(os.path.join(HERE,'app-core.js')).read()) +# Pure color/UI-boundary helpers (normHex/ratingColor/textOn), unit-tested via +# test-app-util.mjs. Its `import rl` line is stripped on inline (rl is already in +# the page from the colormath core). +APP_UTIL_BODY=strip_exports(open(os.path.join(HERE,'app-util.js')).read()) +# Palette panel actions and rendering. This is stateful browser code, split from +# app.js because color-column behavior changes often and benefits from locality. +PALETTE_ACTIONS_BODY=strip_exports(open(os.path.join(HERE,'palette-actions.js')).read()) +# Browser hash gates, split from app.js so the application code is not buried +# under the test harness while still shipping one self-contained HTML file. +BROWSER_GATES_BODY=strip_exports(open(os.path.join(HERE,'browser-gates.js')).read()) +ns={} +src=open(os.path.join(HERE,'samples.py')).read() +exec(src[:src.index('cols=')], ns) +SAMPLES={"Elisp":ns['ELS'],"Go":ns['GOS'],"Python":ns['PYS'],"TypeScript":ns['TSS'],"Java":ns['JAS'],"C":ns['CS'],"C++":ns['CPS'],"Rust":ns['RUSTS'],"Zig":ns['ZIGS'],"Shell":ns['SHS']} +COLS=ns['COLS'] +DEFAULT_FACES_PATH=os.path.join(HERE,'emacs-default-faces.json') +DEFAULTS=DefaultFaces.from_path(DEFAULT_FACES_PATH) +MAP={k:'' for k in COLS}; MAP['bg']='#000000'; MAP['p']='#ffffff' +BOLD={k:False for k in COLS} +ITALIC_MAP={k:False for k in COLS} +def column_id(name): + name = name or 'color' + if re.fullmatch(r'color-\d+', name): + return name + name = re.sub(r'[+-]\d+$', '', name) + return re.sub(r'\d+$', '', name) or 'color' + +def normalize_palette(palette): + return [[p[0], p[1] if len(p) > 1 else 'color', p[2] if len(p) > 2 else column_id(p[1] if len(p) > 1 else 'color')] + for p in palette] + +if DEFAULTS.available: + MAP['bg']=DEFAULTS.color('default','background') or MAP['bg'] + MAP['p']=DEFAULTS.color('default','foreground') or MAP['p'] + for cat,faces in DEFAULTS.data.get('syntax-map',{}).items(): + faces=faces or [] + if cat in ('bg','p') or not faces: continue + face=faces[0] + c=DEFAULTS.color(face,'foreground') + if c: MAP[cat]=c + eff=DEFAULTS.face(face,True) + BOLD[cat]=eff.get('weight')=='bold' + ITALIC_MAP[cat]=eff.get('slant')=='italic' +else: + BOLD={k:v[1] for k,v in COLS.items()} + ITALIC_MAP={k:False for k in COLS} + +PALETTE=[[MAP['bg'],"bg","ground"],[MAP['p'],"fg","ground"]] +CATS=[["bg","bg (ground)","Aa Bb 123"],["p","fg","other / whitespace"],["kw","keyword","class def if return"],["bi","builtin","len echo printf"], + ["pp","preprocessor","#include #define"],["fnd","function · def","resolve push"], + ["fnc","function · call","printf rsync get"],["dec","decorator","@dataclass"], + ["ty","type / class","int str Order Queue"],["prop","property / field","id name items"], + ["con","constant","None nil NULL true"],["num","number","8080 100 -1"], + ["str","string",'"dupre" "fmt"'],["esc","escape","\\n \\t"],["re","regexp","/^#[0-9a-f]+/"], + ["doc","docstring",'"""..."""'],["cm","comment","# reject nil"],["cmd","comment delim","# // ;;"], + ["var","variable / use","value key self"],["op","operator",": = -> =="], + ["punc","punctuation","{ } ( ) ;"]] +UI_FACES=[["cursor","cursor","Aa|"],["region","region (selection)","selected text"], + ["hl-line","hl-line (current line)","current line"],["highlight","highlight","hover"], + ["mode-line","mode-line","status active"],["mode-line-inactive","mode-line-inactive","status idle"], + ["fringe","fringe","| |"],["line-number","line-number"," 42"], + ["line-number-current-line","line-number-current-line","> 42"],["minibuffer-prompt","minibuffer-prompt","M-x "], + ["isearch","isearch (match)","match"],["lazy-highlight","lazy-highlight","other match"], + ["isearch-fail","isearch-fail","no match"],["show-paren-match","show-paren-match","( )"], + ["show-paren-mismatch","show-paren-mismatch",") ("],["link","link","https://"], + ["error","error","error!"],["warning","warning","warning"], + ["success","success","ok"],["vertical-border","vertical-border","|"]] +UIMAP={f[0]:ui_face_spec() for f in UI_FACES} +if DEFAULTS.available: + UIMAP={f[0]:ui_face_spec(DEFAULTS.seed(f[0],False)) for f in UI_FACES} + +# Optional palette seed: THEME_STUDIO_SEED=<file.json> seeds the tool's starting +# palette / assignments / bold / italic / UI from a theme.json (path relative to +# this dir), instead of the hardcoded defaults above. Unset leaves them unchanged. +# Placed after every default it overrides (notably UIMAP) so the merge has targets. +# Mirrors what the in-page Import does, so reseed and import agree. +LOCKS=[]; ITALIC=[k for k,v in ITALIC_MAP.items() if v] +# THEME_STUDIO_SEED=<file>.json opens an existing theme as the starting point. +# Unset starts empty: only bg/fg are in the palette. +_seed=os.environ.get('THEME_STUDIO_SEED') +_d={} +if _seed: + _d=json.load(open(os.path.join(HERE,_seed))) + if _d.get('palette'): PALETTE=_d['palette'] + if _d.get('assignments'): MAP.update(_d['assignments']) + if 'bold' in _d: BOLD={k:(k in _d['bold']) for k in BOLD} + if 'italic' in _d: ITALIC=_d['italic'] + if _d.get('ui'): + for _k,_v in _d['ui'].items(): UIMAP[_k]=_v + if 'locks' in _d: LOCKS=_d['locks'] +PALETTE=normalize_palette(PALETTE) +if not DEFAULTS.available: + # These faces carry a fixed style in Emacs's built-in definitions. Fallback + # only; normal generation uses emacs-default-faces.json above. + UIMAP["link"]["underline"]=True + for _f in ("lazy-highlight","show-paren-match"): UIMAP[_f]["underline"]=True + for _f in ("error","warning","success"): UIMAP[_f]["bold"]=True + for _f in ("mode-line","mode-line-inactive"): UIMAP[_f]["box"]={"style":"released","width":1,"color":None} +# Bespoke package face lists and seed defaults live in face_data.py. +APPS={"org-mode":{"label":"org-mode","preview":"org","faces":face_rows(ORG_FACES,"org-",ORG_SEED)}, + "magit":{"label":"magit","preview":"magit","faces":face_rows(MAGIT_FACES,"magit-",MAGIT_SEED)}, + "elfeed":{"label":"elfeed","preview":"elfeed","faces":face_rows(ELFEED_FACES,"elfeed-",ELFEED_SEED)}, + "mu4e":{"label":"mu4e","preview":"mu4e","faces":face_rows(MU4E_FACES,"mu4e-",MU4E_SEED)}, + "ghostel":{"label":"ghostel","preview":"ghostel","faces":face_rows(GHOSTEL_FACES,"ghostel-",GHOSTEL_SEED)}, + "dashboard":{"label":"dashboard","preview":"dashboard","faces":face_rows(DASHBOARD_FACES,"dashboard-",DASHBOARD_SEED)}, + "lsp-mode":{"label":"lsp-mode","preview":"lsp","faces":face_rows(LSP_FACES,"lsp-",LSP_SEED)}, + "git-gutter":{"label":"git-gutter","preview":"gitgutter","faces":face_rows(GITGUTTER_FACES,"git-gutter:",GITGUTTER_SEED)}, + "flycheck":{"label":"flycheck","preview":"flycheck","faces":face_rows(FLYCHECK_FACES,"flycheck-",FLYCHECK_SEED)}, + "dired":{"label":"dired","preview":"dired","faces":face_rows(DIRED_FACES,"dired-",DIRED_SEED)}, + "dirvish":{"label":"dirvish","preview":"dirvish","faces":face_rows(DIRVISH_FACES,"dirvish-",DIRVISH_SEED)}, + "calibredb":{"label":"calibredb","preview":"calibredb","faces":face_rows(CALIBREDB_FACES,"calibredb-",CALIBREDB_SEED)}, + "erc":{"label":"erc","preview":"erc","faces":face_rows(ERC_FACES,"erc-",ERC_SEED)}, + "org-drill":{"label":"org-drill","preview":"orgdrill","faces":face_rows(ORGDRILL_FACES,"org-drill-",ORGDRILL_SEED)}, + "org-noter":{"label":"org-noter","preview":"orgnoter","faces":face_rows(ORGNOTER_FACES,"org-noter-",ORGNOTER_SEED)}, + "signel":{"label":"signel","preview":"signel","faces":face_rows(SIGNEL_FACES,"signel-",SIGNEL_SEED)}, + "pearl":{"label":"pearl","preview":"pearl","faces":face_rows(PEARL_FACES,"pearl-",PEARL_SEED)}, + "slack":{"label":"slack","preview":"slack","faces":face_rows(SLACK_FACES,"slack-",SLACK_SEED)}, + "telega":{"label":"telega","preview":"telega","faces":face_rows(TELEGA_FACES,"telega-",TELEGA_SEED)}, + "shr":{"label":"shr (HTML: nov/eww/mail)","preview":"shr","faces":face_rows(SHR_FACES,"shr-",SHR_SEED)}} +# Phase 6: merge the generated all-package inventory (refresh with build-inventory.el). +# Bespoke apps stay; every other installed package becomes an editable generic app. +_inv_path=os.path.join(HERE,"package-inventory.json") +add_inventory_apps(APPS, _inv_path) +apply_default_face_seeds(APPS, DEFAULTS) +# Apply seed theme package overrides when THEME_STUDIO_SEED is set: each full +# per-face spec (color + structure) replaces the hardcoded face seed before render. +if _seed: + apply_package_overrides(APPS, _d.get('packages')) + +def add_palette_color(value, label=None): + if not value: return + if any((p[0] or '').lower()==str(value).lower() for p in PALETTE): return + name=label or DEFAULTS.label(value,'color-'+str(len(PALETTE))) + base=name + n=2 + used={p[1].lower() for p in PALETTE} + while name.lower() in used: + name=base+'-'+str(n); n+=1 + PALETTE.append([value,name,column_id(name)]) + +if DEFAULTS.available: + for _k,_v in MAP.items(): + add_palette_color(_v, 'bg' if _k=='bg' else 'fg' if _k=='p' else None) + for _face,_spec in UIMAP.items(): + add_palette_color(_spec.get('fg')) + add_palette_color(_spec.get('bg')) + for _app in APPS.values(): + for _face,_label,_spec in _app['faces']: + add_palette_color(_spec.get('fg')) + add_palette_color(_spec.get('bg')) + +PALETTE=normalize_palette(PALETTE) +HTML=open(os.path.join(HERE,'theme-studio.template.html')).read() +# Fill the data placeholders. str.replace is literal (no backref interpretation), +# so backslashes in the inlined JS survive intact — the escaping-bug class that +# the triple-quoted string used to cause is gone now that app.js is a real file. +# Caveat: these tokens are replaced everywhere they appear, including inside code +# comments. Don't write a placeholder name (COLORMATH_J, APP_CORE_J, ...) in +# prose in any inlined file, or that prose gets the body spliced into it too. +def fill_data(s): + return (s.replace("COLORMATH_J",COLORMATH_BODY) + .replace("APP_CORE_J",APP_CORE_BODY) + .replace("APP_UTIL_J",APP_UTIL_BODY) + .replace("PALETTE_ACTIONS_J",PALETTE_ACTIONS_BODY) + .replace("BROWSER_GATES_J",BROWSER_GATES_BODY) + .replace("SAMPLES_J",json.dumps(SAMPLES)) + .replace("PALETTE_J",json.dumps(PALETTE)).replace("CATS_J",json.dumps(CATS)) + .replace("UIFACES_J",json.dumps(UI_FACES)).replace("UIMAP_J",json.dumps(UIMAP)).replace("APPS_J",json.dumps(APPS)) + .replace("BOLD_J",json.dumps(BOLD)).replace("MAP_J",json.dumps(MAP)).replace("LOCKS_J",json.dumps(LOCKS)).replace("ITALIC_J",json.dumps({k:True for k in ITALIC}))) + +# Splice the stylesheet and script in first, then fill the data placeholders they +# carry. The page contains app.js exactly as fill_data(APP_BODY) renders it — +# APP_FILLED is that rendering, the handle the inline-integrity test asserts on. +HTML=fill_data(HTML.replace("STYLES_CSS",STYLES).replace("APP_JS",APP_BODY)) +APP_FILLED=fill_data(APP_BODY) +OUT=os.path.join(HERE,'theme-studio.html') + +if __name__=='__main__': + open(OUT,"w").write(HTML) + print("wrote",OUT) diff --git a/scripts/theme-studio/package-inventory.json b/scripts/theme-studio/package-inventory.json new file mode 100644 index 00000000..18fd7aa2 --- /dev/null +++ b/scripts/theme-studio/package-inventory.json @@ -0,0 +1,723 @@ +{ + "2048-game": [ + "twentyfortyeight-face-1024", + "twentyfortyeight-face-128", + "twentyfortyeight-face-16", + "twentyfortyeight-face-2", + "twentyfortyeight-face-2048", + "twentyfortyeight-face-256", + "twentyfortyeight-face-32", + "twentyfortyeight-face-4", + "twentyfortyeight-face-512", + "twentyfortyeight-face-64", + "twentyfortyeight-face-8" + ], + "alert": [ + "alert-high-face", + "alert-low-face", + "alert-moderate-face", + "alert-normal-face", + "alert-trivial-face", + "alert-urgent-face" + ], + "all-the-icons": [ + "all-the-icons-blue", + "all-the-icons-blue-alt", + "all-the-icons-cyan", + "all-the-icons-cyan-alt", + "all-the-icons-dblue", + "all-the-icons-dcyan", + "all-the-icons-dgreen", + "all-the-icons-dmaroon", + "all-the-icons-dorange", + "all-the-icons-dpink", + "all-the-icons-dpurple", + "all-the-icons-dred", + "all-the-icons-dsilver", + "all-the-icons-dyellow", + "all-the-icons-green", + "all-the-icons-lblue", + "all-the-icons-lcyan", + "all-the-icons-lgreen", + "all-the-icons-lmaroon", + "all-the-icons-lorange", + "all-the-icons-lpink", + "all-the-icons-lpurple", + "all-the-icons-lred", + "all-the-icons-lsilver", + "all-the-icons-lyellow", + "all-the-icons-maroon", + "all-the-icons-orange", + "all-the-icons-pink", + "all-the-icons-purple", + "all-the-icons-purple-alt", + "all-the-icons-red", + "all-the-icons-red-alt", + "all-the-icons-silver", + "all-the-icons-yellow" + ], + "company": [ + "company-echo", + "company-echo-common", + "company-preview", + "company-preview-common", + "company-preview-search", + "company-tooltip", + "company-tooltip-annotation", + "company-tooltip-annotation-selection", + "company-tooltip-common", + "company-tooltip-common-selection", + "company-tooltip-deprecated", + "company-tooltip-mouse", + "company-tooltip-quick-access", + "company-tooltip-quick-access-selection", + "company-tooltip-scrollbar-thumb", + "company-tooltip-scrollbar-track", + "company-tooltip-search", + "company-tooltip-search-selection", + "company-tooltip-selection" + ], + "company-box": [ + "company-box-annotation", + "company-box-background", + "company-box-candidate", + "company-box-numbers", + "company-box-scrollbar", + "company-box-selection" + ], + "consult": [ + "consult-async-failed", + "consult-async-finished", + "consult-async-running", + "consult-async-split", + "consult-bookmark", + "consult-buffer", + "consult-file", + "consult-grep-context", + "consult-help", + "consult-highlight-mark", + "consult-highlight-match", + "consult-key", + "consult-line-number", + "consult-line-number-prefix", + "consult-line-number-wrapped", + "consult-narrow-indicator", + "consult-preview-insertion", + "consult-preview-line", + "consult-preview-match", + "consult-separator" + ], + "dashboard": [ + "dashboard-banner-logo-title", + "dashboard-footer-face", + "dashboard-footer-icon-face", + "dashboard-heading", + "dashboard-items-face", + "dashboard-navigator", + "dashboard-no-items-face", + "dashboard-text-banner" + ], + "dirvish": [ + "dirvish-collapse-dir-face", + "dirvish-collapse-empty-dir-face", + "dirvish-collapse-file-face", + "dirvish-emerge-group-title", + "dirvish-file-device-number", + "dirvish-file-group-id", + "dirvish-file-inode-number", + "dirvish-file-link-number", + "dirvish-file-modes", + "dirvish-file-size", + "dirvish-file-time", + "dirvish-file-user-id", + "dirvish-free-space", + "dirvish-git-commit-message-face", + "dirvish-hl-line", + "dirvish-hl-line-inactive", + "dirvish-inactive", + "dirvish-media-info-heading", + "dirvish-media-info-property-key", + "dirvish-narrow-match-face-0", + "dirvish-narrow-match-face-1", + "dirvish-narrow-match-face-2", + "dirvish-narrow-match-face-3", + "dirvish-narrow-split", + "dirvish-proc-failed", + "dirvish-proc-finished", + "dirvish-proc-running", + "dirvish-subtree-guide", + "dirvish-subtree-state", + "dirvish-vc-added-state", + "dirvish-vc-conflict-state", + "dirvish-vc-edited-state", + "dirvish-vc-locked-state", + "dirvish-vc-missing-state", + "dirvish-vc-needs-merge-face", + "dirvish-vc-needs-update-state", + "dirvish-vc-removed-state", + "dirvish-vc-unregistered-face" + ], + "elfeed": [ + "elfeed-log-date-face", + "elfeed-log-debug-level-face", + "elfeed-log-error-level-face", + "elfeed-log-info-level-face", + "elfeed-log-warn-level-face", + "elfeed-search-date-face", + "elfeed-search-feed-face", + "elfeed-search-filter-face", + "elfeed-search-last-update-face", + "elfeed-search-tag-face", + "elfeed-search-title-face", + "elfeed-search-unread-count-face", + "elfeed-search-unread-title-face" + ], + "embark": [ + "embark-collect-annotation", + "embark-collect-candidate", + "embark-collect-group-separator", + "embark-collect-group-title", + "embark-keybinding", + "embark-keybinding-repeat", + "embark-keymap", + "embark-selected", + "embark-target", + "embark-verbose-indicator-documentation", + "embark-verbose-indicator-shadowed", + "embark-verbose-indicator-title" + ], + "emms": [ + "emms-browser-album-face", + "emms-browser-albumartist-face", + "emms-browser-artist-face", + "emms-browser-composer-face", + "emms-browser-performer-face", + "emms-browser-track-face", + "emms-browser-year/genre-face", + "emms-metaplaylist-mode-current-face", + "emms-metaplaylist-mode-face", + "emms-playlist-selected-face", + "emms-playlist-track-face" + ], + "flycheck": [ + "flycheck-delimited-error", + "flycheck-error", + "flycheck-error-delimiter", + "flycheck-error-list-checker-name", + "flycheck-error-list-column-number", + "flycheck-error-list-error", + "flycheck-error-list-error-message", + "flycheck-error-list-filename", + "flycheck-error-list-highlight", + "flycheck-error-list-id", + "flycheck-error-list-id-with-explainer", + "flycheck-error-list-info", + "flycheck-error-list-line-number", + "flycheck-error-list-warning", + "flycheck-fringe-error", + "flycheck-fringe-info", + "flycheck-fringe-warning", + "flycheck-info", + "flycheck-verify-select-checker", + "flycheck-warning" + ], + "flyspell-correct": [ + "flyspell-correct-highlight-face" + ], + "ghostel": [ + "ghostel-color-black", + "ghostel-color-blue", + "ghostel-color-bright-black", + "ghostel-color-bright-blue", + "ghostel-color-bright-cyan", + "ghostel-color-bright-green", + "ghostel-color-bright-magenta", + "ghostel-color-bright-red", + "ghostel-color-bright-white", + "ghostel-color-bright-yellow", + "ghostel-color-cyan", + "ghostel-color-green", + "ghostel-color-magenta", + "ghostel-color-red", + "ghostel-color-white", + "ghostel-color-yellow", + "ghostel-default", + "ghostel-fake-cursor", + "ghostel-fake-cursor-box" + ], + "git-gutter": [ + "git-gutter:added", + "git-gutter:deleted", + "git-gutter:modified", + "git-gutter:separator", + "git-gutter:unchanged" + ], + "highlight-indent-guides": [ + "highlight-indent-guides-character-face", + "highlight-indent-guides-even-face", + "highlight-indent-guides-odd-face", + "highlight-indent-guides-stack-character-face", + "highlight-indent-guides-stack-even-face", + "highlight-indent-guides-stack-odd-face", + "highlight-indent-guides-top-character-face", + "highlight-indent-guides-top-even-face", + "highlight-indent-guides-top-odd-face" + ], + "hl-todo": [ + "hl-todo", + "hl-todo-flymake-type" + ], + "json-mode": [ + "json-mode-object-name-face" + ], + "llama": [ + "llama-##-macro", + "llama-deleted-argument", + "llama-llama-macro", + "llama-mandatory-argument", + "llama-optional-argument" + ], + "lsp-mode": [ + "lsp-details-face", + "lsp-face-highlight-read", + "lsp-face-highlight-textual", + "lsp-face-highlight-write", + "lsp-face-rename", + "lsp-inlay-hint-face", + "lsp-inlay-hint-parameter-face", + "lsp-inlay-hint-type-face", + "lsp-installation-buffer-face", + "lsp-installation-finished-buffer-face", + "lsp-rename-placeholder-face", + "lsp-signature-face", + "lsp-signature-highlight-function-argument", + "lsp-signature-posframe" + ], + "lv": [ + "lv-separator" + ], + "magit": [ + "git-commit-comment-action", + "git-commit-comment-branch-local", + "git-commit-comment-branch-remote", + "git-commit-comment-detached", + "git-commit-comment-file", + "git-commit-comment-heading", + "git-commit-keyword", + "git-commit-nonempty-second-line", + "git-commit-overlong-summary", + "git-commit-summary", + "git-commit-trailer-token", + "git-commit-trailer-value", + "magit-bisect-bad", + "magit-bisect-good", + "magit-bisect-skip", + "magit-blame-date", + "magit-blame-dimmed", + "magit-blame-hash", + "magit-blame-heading", + "magit-blame-highlight", + "magit-blame-margin", + "magit-blame-name", + "magit-blame-summary", + "magit-branch-current", + "magit-branch-local", + "magit-branch-remote", + "magit-branch-remote-head", + "magit-branch-upstream", + "magit-branch-warning", + "magit-cherry-equivalent", + "magit-cherry-unmatched", + "magit-diff-added", + "magit-diff-added-highlight", + "magit-diff-base", + "magit-diff-base-highlight", + "magit-diff-conflict-heading", + "magit-diff-conflict-heading-highlight", + "magit-diff-context", + "magit-diff-context-highlight", + "magit-diff-file-heading", + "magit-diff-file-heading-highlight", + "magit-diff-file-heading-selection", + "magit-diff-hunk-heading", + "magit-diff-hunk-heading-highlight", + "magit-diff-hunk-heading-selection", + "magit-diff-hunk-region", + "magit-diff-lines-boundary", + "magit-diff-lines-heading", + "magit-diff-our", + "magit-diff-our-highlight", + "magit-diff-removed", + "magit-diff-removed-highlight", + "magit-diff-revision-summary", + "magit-diff-revision-summary-highlight", + "magit-diff-their", + "magit-diff-their-highlight", + "magit-diff-whitespace-warning", + "magit-diffstat-added", + "magit-diffstat-removed", + "magit-dimmed", + "magit-filename", + "magit-hash", + "magit-head", + "magit-header-line", + "magit-header-line-key", + "magit-header-line-log-select", + "magit-keyword", + "magit-keyword-squash", + "magit-log-author", + "magit-log-date", + "magit-log-graph", + "magit-mode-line-process", + "magit-mode-line-process-error", + "magit-process-ng", + "magit-process-ok", + "magit-reflog-amend", + "magit-reflog-checkout", + "magit-reflog-cherry-pick", + "magit-reflog-commit", + "magit-reflog-merge", + "magit-reflog-other", + "magit-reflog-rebase", + "magit-reflog-remote", + "magit-reflog-reset", + "magit-refname", + "magit-refname-pullreq", + "magit-refname-stash", + "magit-refname-wip", + "magit-sequence-done", + "magit-sequence-drop", + "magit-sequence-exec", + "magit-sequence-head", + "magit-sequence-onto", + "magit-sequence-part", + "magit-sequence-pick", + "magit-sequence-stop", + "magit-signature-bad", + "magit-signature-error", + "magit-signature-expired", + "magit-signature-expired-key", + "magit-signature-good", + "magit-signature-revoked", + "magit-signature-untrusted", + "magit-tag" + ], + "magit-section": [ + "magit-left-margin", + "magit-section-child-count", + "magit-section-heading", + "magit-section-heading-selection", + "magit-section-highlight", + "magit-section-secondary-heading" + ], + "malyon": [ + "malyon-face-bold", + "malyon-face-error", + "malyon-face-italic", + "malyon-face-plain", + "malyon-face-reverse" + ], + "marginalia": [ + "marginalia-archive", + "marginalia-char", + "marginalia-date", + "marginalia-documentation", + "marginalia-file-name", + "marginalia-file-owner", + "marginalia-file-priv-dir", + "marginalia-file-priv-exec", + "marginalia-file-priv-link", + "marginalia-file-priv-no", + "marginalia-file-priv-other", + "marginalia-file-priv-rare", + "marginalia-file-priv-read", + "marginalia-file-priv-write", + "marginalia-function", + "marginalia-installed", + "marginalia-key", + "marginalia-lighter", + "marginalia-list", + "marginalia-mode", + "marginalia-modified", + "marginalia-null", + "marginalia-number", + "marginalia-off", + "marginalia-on", + "marginalia-size", + "marginalia-string", + "marginalia-symbol", + "marginalia-true", + "marginalia-type", + "marginalia-value", + "marginalia-version" + ], + "markdown-mode": [ + "markdown-blockquote-face", + "markdown-bold-face", + "markdown-code-face", + "markdown-comment-face", + "markdown-footnote-marker-face", + "markdown-footnote-text-face", + "markdown-gfm-checkbox-face", + "markdown-header-delimiter-face", + "markdown-header-face", + "markdown-header-face-1", + "markdown-header-face-2", + "markdown-header-face-3", + "markdown-header-face-4", + "markdown-header-face-5", + "markdown-header-face-6", + "markdown-header-rule-face", + "markdown-highlight-face", + "markdown-highlighting-face", + "markdown-hr-face", + "markdown-html-attr-name-face", + "markdown-html-attr-value-face", + "markdown-html-entity-face", + "markdown-html-tag-delimiter-face", + "markdown-html-tag-name-face", + "markdown-inline-code-face", + "markdown-italic-face", + "markdown-language-info-face", + "markdown-language-keyword-face", + "markdown-line-break-face", + "markdown-link-face", + "markdown-link-title-face", + "markdown-list-face", + "markdown-markup-face", + "markdown-math-face", + "markdown-metadata-key-face", + "markdown-metadata-value-face", + "markdown-missing-link-face", + "markdown-plain-url-face", + "markdown-pre-face", + "markdown-reference-face", + "markdown-strike-through-face", + "markdown-table-face", + "markdown-url-face" + ], + "nerd-icons": [ + "nerd-icons-blue", + "nerd-icons-blue-alt", + "nerd-icons-cyan", + "nerd-icons-cyan-alt", + "nerd-icons-dblue", + "nerd-icons-dcyan", + "nerd-icons-dgreen", + "nerd-icons-dmaroon", + "nerd-icons-dorange", + "nerd-icons-dpink", + "nerd-icons-dpurple", + "nerd-icons-dred", + "nerd-icons-dsilver", + "nerd-icons-dyellow", + "nerd-icons-green", + "nerd-icons-lblue", + "nerd-icons-lcyan", + "nerd-icons-lgreen", + "nerd-icons-lmaroon", + "nerd-icons-lorange", + "nerd-icons-lpink", + "nerd-icons-lpurple", + "nerd-icons-lred", + "nerd-icons-lsilver", + "nerd-icons-lyellow", + "nerd-icons-maroon", + "nerd-icons-orange", + "nerd-icons-pink", + "nerd-icons-purple", + "nerd-icons-purple-alt", + "nerd-icons-red", + "nerd-icons-red-alt", + "nerd-icons-silver", + "nerd-icons-yellow" + ], + "nerd-icons-completion": [ + "nerd-icons-completion-dir-face" + ], + "orderless": [ + "orderless-match-face-0", + "orderless-match-face-1", + "orderless-match-face-2", + "orderless-match-face-3" + ], + "org-roam": [ + "org-roam-dailies-calendar-note", + "org-roam-dim", + "org-roam-header-line", + "org-roam-olp", + "org-roam-preview-heading", + "org-roam-preview-heading-highlight", + "org-roam-preview-heading-selection", + "org-roam-preview-region", + "org-roam-title" + ], + "org-superstar": [ + "org-superstar-first", + "org-superstar-header-bullet", + "org-superstar-item", + "org-superstar-leading" + ], + "prescient": [ + "prescient-primary-highlight", + "prescient-secondary-highlight" + ], + "rainbow-delimiters": [ + "rainbow-delimiters-base-error-face", + "rainbow-delimiters-base-face", + "rainbow-delimiters-depth-1-face", + "rainbow-delimiters-depth-2-face", + "rainbow-delimiters-depth-3-face", + "rainbow-delimiters-depth-4-face", + "rainbow-delimiters-depth-5-face", + "rainbow-delimiters-depth-6-face", + "rainbow-delimiters-depth-7-face", + "rainbow-delimiters-depth-8-face", + "rainbow-delimiters-depth-9-face", + "rainbow-delimiters-mismatched-face", + "rainbow-delimiters-unmatched-face" + ], + "symbol-overlay": [ + "symbol-overlay-default-face", + "symbol-overlay-face-1", + "symbol-overlay-face-2", + "symbol-overlay-face-3", + "symbol-overlay-face-4", + "symbol-overlay-face-5", + "symbol-overlay-face-6", + "symbol-overlay-face-7", + "symbol-overlay-face-8" + ], + "tmr": [ + "tmr-description", + "tmr-duration", + "tmr-end-time", + "tmr-finished", + "tmr-is-acknowledged", + "tmr-must-be-acknowledged", + "tmr-start-time", + "tmr-tabulated-acknowledgement", + "tmr-tabulated-description", + "tmr-tabulated-end-time", + "tmr-tabulated-remaining-time", + "tmr-tabulated-start-time" + ], + "transient": [ + "transient-active-infix", + "transient-argument", + "transient-delimiter", + "transient-disabled-suffix", + "transient-enabled-suffix", + "transient-heading", + "transient-higher-level", + "transient-inactive-argument", + "transient-inactive-value", + "transient-inapt-argument", + "transient-inapt-suffix", + "transient-key", + "transient-key-exit", + "transient-key-noop", + "transient-key-recurse", + "transient-key-return", + "transient-key-stack", + "transient-key-stay", + "transient-mismatched-key", + "transient-nonstandard-key", + "transient-unreachable", + "transient-unreachable-key", + "transient-value" + ], + "vertico": [ + "vertico-current", + "vertico-group-separator", + "vertico-group-title", + "vertico-multiline" + ], + "web-mode": [ + "web-mode-annotation-face", + "web-mode-annotation-html-face", + "web-mode-annotation-tag-face", + "web-mode-annotation-type-face", + "web-mode-annotation-value-face", + "web-mode-block-attr-name-face", + "web-mode-block-attr-value-face", + "web-mode-block-comment-face", + "web-mode-block-control-face", + "web-mode-block-delimiter-face", + "web-mode-block-face", + "web-mode-block-string-face", + "web-mode-bold-face", + "web-mode-builtin-face", + "web-mode-comment-face", + "web-mode-comment-keyword-face", + "web-mode-constant-face", + "web-mode-css-at-rule-face", + "web-mode-css-color-face", + "web-mode-css-comment-face", + "web-mode-css-function-face", + "web-mode-css-priority-face", + "web-mode-css-property-name-face", + "web-mode-css-pseudo-class-face", + "web-mode-css-selector-class-face", + "web-mode-css-selector-face", + "web-mode-css-selector-tag-face", + "web-mode-css-string-face", + "web-mode-css-variable-face", + "web-mode-current-column-highlight-face", + "web-mode-current-element-highlight-face", + "web-mode-doctype-face", + "web-mode-error-face", + "web-mode-filter-face", + "web-mode-folded-face", + "web-mode-function-call-face", + "web-mode-function-name-face", + "web-mode-html-attr-custom-face", + "web-mode-html-attr-engine-face", + "web-mode-html-attr-equal-face", + "web-mode-html-attr-name-face", + "web-mode-html-attr-value-face", + "web-mode-html-entity-face", + "web-mode-html-tag-bracket-face", + "web-mode-html-tag-custom-face", + "web-mode-html-tag-face", + "web-mode-html-tag-namespaced-face", + "web-mode-html-tag-unclosed-face", + "web-mode-inlay-face", + "web-mode-interpolate-color1-face", + "web-mode-interpolate-color2-face", + "web-mode-interpolate-color3-face", + "web-mode-interpolate-color4-face", + "web-mode-italic-face", + "web-mode-javascript-comment-face", + "web-mode-javascript-string-face", + "web-mode-json-comment-face", + "web-mode-json-context-face", + "web-mode-json-key-face", + "web-mode-json-string-face", + "web-mode-jsx-depth-1-face", + "web-mode-jsx-depth-2-face", + "web-mode-jsx-depth-3-face", + "web-mode-jsx-depth-4-face", + "web-mode-jsx-depth-5-face", + "web-mode-keyword-face", + "web-mode-param-name-face", + "web-mode-part-comment-face", + "web-mode-part-face", + "web-mode-part-string-face", + "web-mode-preprocessor-face", + "web-mode-script-face", + "web-mode-sql-keyword-face", + "web-mode-string-face", + "web-mode-style-face", + "web-mode-symbol-face", + "web-mode-type-face", + "web-mode-underline-face", + "web-mode-variable-name-face", + "web-mode-warning-face", + "web-mode-whitespace-face" + ], + "yasnippet": [ + "yas--field-debug-face", + "yas-field-highlight-face" + ] +} diff --git a/scripts/theme-studio/palette-actions.js b/scripts/theme-studio/palette-actions.js new file mode 100644 index 00000000..e9b68f67 --- /dev/null +++ b/scripts/theme-studio/palette-actions.js @@ -0,0 +1,238 @@ +function clearPalette(){ + normalizePalette(); + const plan=clearPalettePlan(PALETTE,{bg:MAP['bg'],fg:MAP['p']}); + plan.removed.forEach(({hex,name})=>rememberGone(hex,name)); + PALETTE=plan.palette;selectedIdx=null; + renderPalette();buildTable();buildUITable();if(document.getElementById('pkgbody'))buildPkgTable();renderCode();applyGround(); + notify('cleared palette to bg and fg',false); +} +let selectedIdx=null; +// When a named palette color is deleted, remember its hex keyed by name so that +// recreating a color with the same name can re-bind the assignments still pointing +// at the old (now "(gone)") hex. Consumed once per name; cleared on import. +let lastGone={}; +// Re-point every assignment — syntax map, UI faces, package faces — from one hex +// to another. Used when a palette color's value is edited and when a deleted name +// is recreated. +function repointHex(oldHex,newHex){ + if(oldHex===newHex)return; + for(const k in MAP){if(MAP[k]===oldHex)MAP[k]=newHex;} + for(const f in UIMAP){if(UIMAP[f].fg===oldHex)UIMAP[f].fg=newHex;if(UIMAP[f].bg===oldHex)UIMAP[f].bg=newHex;} + for(const ap in PKGMAP)for(const fc in PKGMAP[ap]){const o=PKGMAP[ap][fc];if(o.fg===oldHex)o.fg=newHex;if(o.bg===oldHex)o.bg=newHex;} +} +// On adding a color, if its name matches a recently-deleted one, re-bind the +// stranded assignments to the new hex. Returns true when a heal context existed. +function healGone(name,newHex){const k=name.toLowerCase();if(!(k in lastGone))return false;const g=lastGone[k];delete lastGone[k];repointHex(g,newHex);return true;} +function rememberGone(hex,name){if(name)lastGone[name.toLowerCase()]=hex;} +function normalizePaletteEntry(entry){ + const hex=entry&&entry[0],name=(entry&&entry[1])||'color'; + return [hex,name,(entry&&entry[2])||columnIdOf(entry)]; +} +function ensureGroundEndpoints(){ + const ground={bg:MAP['bg'],fg:MAP['p']}; + if(ground.bg&&!PALETTE.some(entry=>groundRoleOfEntry(entry,ground)==='bg'))PALETTE.unshift([ground.bg,'bg','ground']); + if(ground.fg&&!PALETTE.some(entry=>groundRoleOfEntry(entry,ground)==='fg'))PALETTE.push([ground.fg,'fg','ground']); +} +function normalizePalette(){PALETTE=PALETTE.map(normalizePaletteEntry);ensureGroundEndpoints();} +// The ground column is explicit: bg pins the top endpoint, fg pins the bottom +// endpoint, and generated ground+N steps live between them. +function groundColumnMembers(){ + return groundColumnMembersFromPalette(PALETTE,{bg:MAP['bg'],fg:MAP['p']}); +} +function groundSpanCount(){return PALETTE.filter(entry=>groundRoleOfEntry(entry,{bg:MAP['bg'],fg:MAP['p']})==='step').length;} +function groundSpanControl(){ + const d=document.createElement('div');d.className='fcount'; + d.innerHTML=`<span title="number of ground colors between bg and fg">span <input type="number" min="0" max="8" value="${groundSpanCount()}"></span>`; + d.querySelector('input').onchange=(e)=>setGroundSpan(Math.max(0,Math.min(8,parseInt(e.target.value,10)||0))); + return d; +} +function setGroundSpan(n){ + const old=PALETTE.filter(entry=>groundRoleOfEntry(entry,{bg:MAP['bg'],fg:MAP['p']})==='step'); + const bg=srgb2oklab(MAP['bg']),fg=srgb2oklab(MAP['p']); + const entries=[]; + let step=1; + for(let i=1;i<=n;i++){ + const t=i/(n+1); + const lab={L:bg.L+(fg.L-bg.L)*t,a:bg.a+(fg.a-bg.a)*t,b:bg.b+(fg.b-bg.b)*t}; + const hex=lrgb2hex(oklab2lrgb(lab.L,lab.a,lab.b)); + if(hex.toLowerCase()==='#ffffff'||hex.toLowerCase()==='#000000')continue; + entries.push([hex,'ground+'+(step++),'ground']); + } + for(const [oldHex,oldName] of old){ + const next=entries.find(([,name])=>name===oldName); + if(next&&next[0].toLowerCase()!==oldHex.toLowerCase())repointHex(oldHex,next[0]); + } + for(let i=PALETTE.length-1;i>=0;i--)if(groundRoleOfEntry(PALETTE[i],{bg:MAP['bg'],fg:MAP['p']})==='step')PALETTE.splice(i,1); + let at=PALETTE.findIndex(entry=>groundRoleOfEntry(entry,{bg:MAP['bg'],fg:MAP['p']})==='bg'); + if(at<0)at=0; else at+=1; + PALETTE.splice(Math.min(at,PALETTE.length),0,...entries); + selectedIdx=null;renderPalette();buildTable();buildUITable();renderCode();applyGround(); + notify('set ground span to '+n,false); +} +// Pairwise OKLab ΔE over the palette. Returns the sub-threshold pairs (sorted +// closest-first) and each color's nearest-neighbor distance for its chip title. +// Pure pairwise ΔE analysis lives in colormath.js (paletteWarnings); this renders it. +function renderPaletteWarnings(warnings,overflow){ + const w=document.getElementById('palwarn');if(!w)return; + if(!warnings.length){w.style.display='none';w.innerHTML='';return;} + let html='<div class="pwh">too-similar colors</div>'; + html+=warnings.map(p=>`<div class="pwl">${esc(p.aName+' / '+p.bName)} — \u0394E ${p.dE.toFixed(3)}, hard to distinguish</div>`).join(''); + if(overflow>0)html+=`<div class="pwl">and ${overflow} more</div>`; + w.innerHTML=html;w.style.display='block'; +} +// One palette chip for PALETTE[i], with its remove / rename / select handlers. +// Families sort deterministically, so the old move-arrow / drag reordering is gone. +function paletteChip(i,nearest){ + const [hex,name]=PALETTE[i],tc=textOn(hex),nde=nearest[i]; + const role=groundRoleOfEntry(PALETTE[i],{bg:MAP['bg'],fg:MAP['p']}); + const locked=(role==='bg'||role==='fg'); + const d=document.createElement('div');d.className='pchip'+(i===selectedIdx?' sel':'');d.style.background=hex; + d.dataset.paletteIndex=String(i); + d.title=name+' '+hex+(nde===Infinity||nde===undefined?'':' — nearest ΔE '+nde.toFixed(3)); + const rm=locked?`<span class="lock" title="${role==='bg'?'background':'foreground'} — can't remove" style="color:${tc}">🔒</span>`:`<button class="rm" title="remove" style="color:${tc}">×</button>`; + d.innerHTML=`${rm}<input class="nm" value="${name}" readonly style="color:${tc}"><div class="hx" style="color:${tc}">${hex}</div>`; + if(!locked)d.querySelector('.rm').onclick=(e)=>{e.stopPropagation();rememberGone(hex,name);PALETTE.splice(i,1);if(selectedIdx===i)selectedIdx=null;renderPalette();buildTable();buildUITable();}; + const nm=d.querySelector('.nm'); + const finishNameEdit=()=>{nm.readOnly=true;nm.classList.remove('editing');}; + nm.onclick=(e)=>{e.preventDefault();e.stopPropagation();selectColor(i);}; + nm.ondblclick=(e)=>{e.preventDefault();e.stopPropagation();nm.readOnly=false;nm.classList.add('editing');nm.focus();nm.setSelectionRange(0,0);}; + nm.onblur=finishNameEdit; + nm.onkeydown=(e)=>{if(e.key==='Enter'){e.preventDefault();nm.blur();}else if(e.key==='Escape'){e.preventDefault();nm.value=PALETTE[i][1];nm.blur();}}; + nm.onchange=(e)=>{PALETTE[i][1]=e.target.value;buildTable();buildUITable();}; + d.onclick=(e)=>{if(e.target.closest('.rm'))return;selectColor(i);}; + return d; +} +function setChipPreviewColor(i,hex){ + const chip=document.querySelector('#pals .pchip[data-palette-index="'+i+'"]');if(!chip)return; + const tc=textOn(hex);chip.style.background=hex; + chip.querySelectorAll('.nm,.hx,.rm,.lock').forEach(e=>e.style.color=tc); +} +function previewSelectedChip(hex){if(selectedIdx===null)return;setChipPreviewColor(selectedIdx,hex);} +function restoreSelectedChip(){if(selectedIdx===null||!PALETTE[selectedIdx])return;setChipPreviewColor(selectedIdx,PALETTE[selectedIdx][0]);} +function paletteIndexByHexName(hex,name){ + for(let i=0;i<PALETTE.length;i++)if(PALETTE[i][0]===hex&&PALETTE[i][1]===name)return i; + return -1; +} +function selectColumnBase(f){ + const baseMember=f.members.find(m=>m.hex.toLowerCase()===f.base.toLowerCase())||f.members[0]; + const i=paletteIndexByHexName(baseMember.hex,baseMember.name); + if(i>=0)selectColor(i); +} +function isGroundEntry(entry){ + return !!groundRoleOfEntry(entry,{bg:MAP['bg'],fg:MAP['p']}); +} +function moveColumn(columnId,dir){ + normalizePalette(); + const columns=sortColumns(columnsFromPalette(PALETTE,{bg:MAP['bg'],fg:MAP['p']}).columns); + const pos=columns.findIndex(f=>f.column===columnId); + const next=columns[pos+dir]; + if(pos<0||!next)return; + const moving=[],rest=[]; + PALETTE.forEach(entry=>{ + if(!isGroundEntry(entry)&&columnIdOf(entry)===columnId)moving.push(entry); + else rest.push(entry); + }); + const nextPositions=[]; + rest.forEach((entry,i)=>{if(!isGroundEntry(entry)&&columnIdOf(entry)===next.column)nextPositions.push(i);}); + if(!nextPositions.length)return; + const at=dir<0?nextPositions[0]:nextPositions[nextPositions.length-1]+1; + PALETTE=rest.slice(0,at).concat(moving,rest.slice(at)); + selectedIdx=null;renderPalette();buildTable();buildUITable();renderCode();applyGround(); + notify('moved "'+columnId+'" '+(dir<0?'left':'right'),false); +} +function deleteColumn(columnId,label){ + normalizePalette(); + const plan=deletePaletteColumnPlan(PALETTE,{bg:MAP['bg'],fg:MAP['p']},columnId); + if(!plan.removed.length){notify('nothing to delete in "'+(label||columnId)+'"',true);return;} + const title=label||columnId; + if(!confirm('Delete color column "'+title+'"?\n\nThis removes '+plan.removed.length+' palette color(s). Existing face assignments will stay on their old hex values and show as "(gone)".'))return; + plan.removed.forEach(({hex,name})=>rememberGone(hex,name)); + PALETTE=plan.palette;selectedIdx=null; + renderPalette();buildTable();buildUITable();renderCode();applyGround(); + notify('deleted column "'+title+'" — '+plan.removed.length+' color(s) now show "(gone)" where used',false); +} +function columnHeader(f,position,count){ + const h=document.createElement('div');h.className='fhead'; + const label=(f.members.find(m=>m.hex.toLowerCase()===f.base.toLowerCase())||{}).name||f.column||f.base; + h.innerHTML=`<button class="cmove left" title="move column left" ${position===0?'disabled':''}>‹</button><button class="ctitle" title="select base color"></button><button class="cmove right" title="move column right" ${position===count-1?'disabled':''}>›</button><button class="cdel" title="delete column with confirmation">×</button>`; + h.querySelector('.ctitle').textContent=label; + h.querySelector('.ctitle').onclick=()=>selectColumnBase(f); + h.querySelector('.left').onclick=(e)=>{e.stopPropagation();moveColumn(f.column,-1);}; + h.querySelector('.right').onclick=(e)=>{e.stopPropagation();moveColumn(f.column,1);}; + h.querySelector('.cdel').onclick=(e)=>{e.stopPropagation();deleteColumn(f.column,label);}; + return h; +} +// Render the palette as structural color columns: pinned ground column, then +// first-seen palette columns. Grouping uses the stable column id stored on each +// palette entry, so renaming a color never moves it. +function renderPalette(){ + normalizePalette(); + const p=document.getElementById('pals');p.innerHTML=''; + const {warnings,overflow,nearest}=paletteWarnings(PALETTE,DELTAE_MIN,5); + const {ground,columns}=columnsFromPalette(PALETTE,{bg:MAP['bg'],fg:MAP['p']}); + const used=new Set(); + const idxOf=(hex,name)=>{for(let i=0;i<PALETTE.length;i++)if(!used.has(i)&&PALETTE[i][0]===hex&&PALETTE[i][1]===name){used.add(i);return i;}return -1;}; + const strip=(cls)=>{const s=document.createElement('div');s.className='fstrip'+(cls||'');p.appendChild(s);return s;}; + if(ground.length){ + const gs=strip(' ground');gs.dataset.column='ground'; + const gh=document.createElement('div');gh.className='fhead';gh.textContent='ground';gs.appendChild(gh); + gs.appendChild(groundSpanControl()); + groundColumnMembers().forEach(m=>{ + const i=idxOf(m.hex,m.name); + if(i>=0)gs.appendChild(paletteChip(i,nearest)); + else{const tc=textOn(m.hex),sw=document.createElement('div');sw.className='pchip';sw.style.background=m.hex;sw.title=(m.name||'ground')+' '+m.hex; + sw.innerHTML=`<input class="nm" value="${m.name||'ground'}" disabled style="color:${tc}"><div class="hx" style="color:${tc}">${m.hex}</div>`;gs.appendChild(sw);} + }); + } + // The too-similar warning stays on the full flat palette, so large spans can + // still expose genuinely hard-to-distinguish neighboring colors. + const ordered=sortColumns(columns); + ordered.forEach((f,pos)=>{ + const s=strip('');s.dataset.column=f.column||f.base; + s.appendChild(columnHeader(f,pos,ordered.length)); + s.appendChild(columnCountControl(f)); + f.members.forEach(m=>{const i=idxOf(m.hex,m.name);if(i>=0)s.appendChild(paletteChip(i,nearest));}); + }); + renderPaletteWarnings(warnings,overflow); + buildUITable();if(document.getElementById('pkgbody'))buildPkgTable(); +} +// The per-column count control under a chromatic strip. Its value is the column's +// current per-side reach; setting N regenerates the column as base ±N. +function columnCountControl(f){ + const per=Math.max(0,...rankByLightness(f.members.map(m=>m.hex),f.base).map(m=>Math.abs(m.offset))); + const d=document.createElement('div');d.className='fcount'; + d.innerHTML=`<span title="set the column span: N generated steps on each side of the base — this replaces the column">span ± <input type="number" min="0" max="8" value="${per}"></span>`; + d.querySelector('input').onchange=(e)=>setColumnCount(f.base,Math.max(0,Math.min(8,parseInt(e.target.value,10)||0))); + return d; +} +// Regenerate a column as a symmetric base ±N span, replacing its current members. +// References to a surviving position (matched by signed lightness rank) follow the +// new hex; references to a position removed by lowering N leave their old hex, +// which is no longer in the palette and so renders as "(gone)". +// Replace oldHexes in the palette with a fresh base ±n ramp, repointing surviving +// references and leaving removed ones on their now-gone hex. Returns the removed +// count, or null on a bad base. Shared by the count control and the base edit. +function regenColumnInPlace(oldHexes,baseHex,baseName,n,columnId){ + const r=regenColumn(baseHex,n,{}); + if(r.error){notify('cannot regenerate from '+baseHex,true);return null;} + const plan=stepRepointPlan(rankByLightness(oldHexes,baseHex),r.members); + const oldSet=new Set(oldHexes.map(h=>h.toLowerCase())); + let at=PALETTE.length; + for(let i=0;i<PALETTE.length;i++)if(oldSet.has(PALETTE[i][0].toLowerCase())){at=i;break;} + for(let i=PALETTE.length-1;i>=0;i--)if(oldSet.has(PALETTE[i][0].toLowerCase()))PALETTE.splice(i,1); + const col=columnId||columnStem(baseName); + const entries=r.members.map(m=>[m.hex,m.offset===0?baseName:baseName+(m.offset>0?'+'+m.offset:String(m.offset)),col]); + PALETTE.splice(Math.min(at,PALETTE.length),0,...entries); + for(const [o,nw] of plan.map)repointHex(o,nw); + return plan.removed.length; +} +function setColumnCount(baseHex,n){ + const {columns}=columnsFromPalette(PALETTE,{bg:MAP['bg'],fg:MAP['p']}); + const column=columns.find(f=>f.base.toLowerCase()===baseHex.toLowerCase()); + if(!column)return; + const baseName=(column.members.find(m=>m.hex.toLowerCase()===baseHex.toLowerCase())||{}).name||'color'; + const removed=regenColumnInPlace(column.members.map(m=>m.hex),baseHex,baseName,n,column.column); + if(removed===null)return; + selectedIdx=null;renderPalette();buildTable();buildUITable();renderCode();applyGround(); + notify('regenerated "'+baseName+'" to ±'+n+(removed?(' — '+removed+' removed step(s) show "(gone)" where used'):''),false); +} diff --git a/scripts/theme-studio/run-tests.sh b/scripts/theme-studio/run-tests.sh new file mode 100755 index 00000000..4c4a5cde --- /dev/null +++ b/scripts/theme-studio/run-tests.sh @@ -0,0 +1,82 @@ +#!/usr/bin/env bash +# Test runner for the theme-studio tool. Drives the whole pyramid in one command: +# - regenerate theme-studio.html from generate.py +# - Python templating tests (export-strip + placeholder substitution) +# - Node unit tests for colormath.js (+ inline-integrity) +# - syntax-check the spliced page <script> +# - browser hash gates in headless Chrome (#selftest and the metric tests) +# +# Exit status is non-zero if any stage fails. Browser gates need a Chromium-family +# browser; when none is found they are reported as SKIPPED (not passed) so the +# gap is visible rather than silently green. +# +# Usage: scripts/theme-studio/run-tests.sh (or: make theme-studio-test) +set -uo pipefail + +HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +cd "$HERE" + +# --no-browser skips the headless-Chrome hash gates for a fast inner loop. +NO_BROWSER=0 +[ "${1:-}" = "--no-browser" ] && NO_BROWSER=1 + +fail=0 +pass_msg() { printf ' PASS %s\n' "$1"; } +fail_msg() { printf ' FAIL %s\n' "$1"; fail=1; } +skip_msg() { printf ' SKIP %s\n' "$1"; } + +echo "theme-studio tests" + +# 1. Regenerate the page (the browser gates and inline-integrity read it). +if python3 generate.py >/dev/null; then pass_msg "generate.py wrote theme-studio.html" +else fail_msg "generate.py failed"; fi + +# 2. Python templating tests. +if python3 -m unittest test_generate >/tmp/ts-pytest.log 2>&1; then + pass_msg "Python templating tests ($(grep -oE 'Ran [0-9]+' /tmp/ts-pytest.log | awk '{print $2}') tests)" +else fail_msg "Python templating tests"; sed 's/^/ /' /tmp/ts-pytest.log; fi + +# 3. Node unit tests + inline-integrity. Node 26 broke `--test <dir>`; glob the files. +if node --test ./*.mjs >/tmp/ts-node.log 2>&1; then + pass_msg "Node unit tests ($(grep -E '^. tests' /tmp/ts-node.log | grep -oE '[0-9]+' | head -1) tests)" +else fail_msg "Node unit tests"; grep -E 'not ok|AssertionError|Error' /tmp/ts-node.log | sed 's/^/ /' | head -20; fi + +# 4. Syntax-check the inlined page script. +python3 - <<'PY' && node --check /tmp/ts-script.js >/dev/null 2>&1 && pass_msg "spliced page <script> parses" || fail_msg "spliced page <script> syntax" +import re +h = open('theme-studio.html').read() +open('/tmp/ts-script.js', 'w').write(re.search(r'<script>(.*)</script>', h, re.S).group(1)) +PY + +# 5. Browser hash gates. +CHROME="" +for c in google-chrome-stable google-chrome chromium chromium-browser; do + if command -v "$c" >/dev/null 2>&1; then CHROME="$c"; break; fi +done +HASHES="selftest cursortest readouttest deltatest oklchtest planetest locktest sorttest mocktest contrasttest safetest healtest columntest counttest baseedittest roundtriptest beveltest previewlinktest" +if [ "$NO_BROWSER" = 1 ]; then + skip_msg "browser hash gates (--no-browser)" +elif [ -z "$CHROME" ]; then + for t in $HASHES; do skip_msg "#$t (no Chromium-family browser found)"; done +else + # An empty --user-data-dir makes Chrome fall back to the user's real default + # profile and take its SingletonLock; a hung headless render then blocks every + # interactive Chrome launch until killed. Never let an empty PROF reach Chrome. + PROF="$(mktemp -d)" && [ -n "$PROF" ] || { echo "mktemp -d failed — refusing to run browser gates" >&2; exit 1; } + trap 'rm -rf "$PROF"' EXIT + for t in $HASHES; do + upper="$(echo "$t" | tr '[:lower:]' '[:upper:]')" + res="$(timeout --kill-after=5 30 "$CHROME" --headless --no-sandbox --disable-gpu --user-data-dir="$PROF" \ + --virtual-time-budget=8000 --dump-dom "file://$HERE/theme-studio.html#$t" 2>/dev/null \ + | grep -o "${upper}[^<]*" | head -1)" + case "$res" in + *PASS*) pass_msg "#$t" ;; + *FAIL*) fail_msg "#$t -> $res" ;; + *) fail_msg "#$t -> no verdict (browser did not run the test)" ;; + esac + done +fi + +echo +if [ "$fail" -eq 0 ]; then echo "all stages green"; else echo "FAILURES above"; fi +exit "$fail" diff --git a/scripts/theme-studio/samples.py b/scripts/theme-studio/samples.py new file mode 100644 index 00000000..a854d672 --- /dev/null +++ b/scripts/theme-studio/samples.py @@ -0,0 +1,331 @@ +GROUND="#0d0b0a" +COLS={ + 'kw':("#67809c",True),'bi':("#67809c",False),'pp':("#67809c",False), + 'fnd':("#a9b2bb",True),'fnc':("#a9b2bb",False),'dec':("#e8bd30",False), + 'ty':("#9b5fd0",False),'prop':("#838d97",False), + 'con':("#cb6b4d",False),'num':("#cb6b4d",False),'esc':("#cb6b4d",False), + 'str':("#2ba178",False),'re':("#5d9b86",False),'doc':("#5d9b86",False), + 'cm':("#be9e74",False),'cmd':("#a9b2bb",False), + 'var':("#e8bd30",False),'op':("#a9b2bb",False),'punc':("#a9b2bb",False),'p':("#ffffff",False), +} +NAMES={"#67809c":"blue","#e8bd30":"gold","#9b5fd0":"regal","#2ba178":"emerald","#cb6b4d":"terracotta","#be9e74":"tan","#5d9b86":"sage","#cdced1":"white","#a9b2bb":"silver","#838d97":"steel","#5e6770":"pewter","#2f343a":"gunmetal","#264364":"navy"} +def esc(t): return t.replace("&","&").replace("<","<").replace(">",">") +def span(k,t): + c,b=COLS[k]; w=";font-weight:bold" if b else "" + return f'<span style="color:{c}{w}">{esc(t)}</span>' +def render(lines): return "\n".join("".join(span(k,t) for k,t in ln) or " " for ln in lines) + +PYS=[ + [('cmd','#'),('cm',' theme.py')], + [('kw','from'),('p',' '),('var','dataclasses'),('p',' '),('kw','import'),('p',' '),('var','dataclass'),('punc',','),('p',' '),('var','field')], + [], + [('con','DEFAULT_PORT'),('op',':'),('p',' '),('ty','int'),('p',' '),('op','='),('p',' '),('num','8080')], + [('con','HEX'),('p',' '),('op','='),('p',' '),('var','re'),('op','.'),('fnc','compile'),('punc','('),('re','r"#[0-9a-f]{6}"'),('punc',')')], + [], + [('dec','@dataclass')], + [('kw','class'),('p',' '),('ty','Theme'),('op',':')], + [('p',' '),('doc','"""A color theme."""')], + [('p',' '),('prop','name'),('op',':'),('p',' '),('ty','str'),('p',' '),('op','='),('p',' '),('str','"dupre"')], + [('p',' '),('prop','colors'),('op',':'),('p',' '),('ty','dict'),('p',' '),('op','='),('p',' '),('fnc','field'),('punc','('),('prop','default_factory'),('op','='),('ty','dict'),('punc',')')], + [], + [('p',' '),('kw','def'),('p',' '),('fnd','resolve'),('punc','('),('var','self'),('punc',','),('p',' '),('var','key'),('op',':'),('p',' '),('ty','str'),('punc',')'),('p',' '),('op','->'),('p',' '),('ty','str'),('p',' '),('op','|'),('p',' '),('con','None'),('op',':')], + [('p',' '),('cmd','#'),('cm',' fallback to none')], + [('p',' '),('var','v'),('p',' '),('op','='),('p',' '),('var','self'),('op','.'),('prop','colors'),('op','.'),('fnc','get'),('punc','('),('var','key'),('punc',','),('p',' '),('str','"'),('esc','\\t'),('str','none"'),('punc',')')], + [('p',' '),('kw','if'),('p',' '),('bi','len'),('punc','('),('var','v'),('punc',')'),('p',' '),('op','=='),('p',' '),('num','0'),('op',':'),('p',' '),('kw','return'),('p',' '),('con','None')], + [('p',' '),('kw','return'),('p',' '),('var','v')], + [], + [('p',' '),('dec','@property')], + [('p',' '),('kw','def'),('p',' '),('fnd','size'),('punc','('),('var','self'),('punc',')'),('p',' '),('op','->'),('p',' '),('ty','int'),('op',':')], + [('p',' '),('kw','return'),('p',' '),('bi','len'),('punc','('),('var','self'),('op','.'),('prop','colors'),('punc',')')], + [], + [('var','theme'),('p',' '),('op','='),('p',' '),('ty','Theme'),('punc','('),('str','"dupre"'),('punc',')')], + [('fnc','print'),('punc','('),('var','theme'),('op','.'),('fnc','resolve'),('punc','('),('str','"bg"'),('punc','))')], +] +ELS=[ + [('cmd',';;'),('cm',' cache.el')], + [('punc','('),('kw','require'),('p',' '),('con',"'cl-lib"),('punc',')')], + [], + [('punc','('),('kw','defvar'),('p',' '),('var','cache--tbl'),('p',' '),('punc','('),('fnc','make-hash-table'),('p',' '),('con',':test'),('p',' '),('con',"'equal"),('punc','))')], + [('p',' '),('doc','"Memo table.")')], + [], + [('punc','('),('kw','defun'),('p',' '),('fnd','cache-get'),('p',' '),('punc','('),('var','key'),('punc',')')], + [('p',' '),('doc','"Return cached value for KEY."')], + [('p',' '),('punc','('),('kw','or'),('p',' '),('punc','('),('bi','gethash'),('p',' '),('var','key'),('p',' '),('var','cache--tbl'),('punc',')')], + [('p',' '),('punc','('),('kw','let'),('p',' '),('punc','(('),('var','v'),('p',' '),('punc','('),('fnc','compute'),('p',' '),('var','key'),('p',' '),('num','42'),('punc','))) ')], + [('p',' '),('punc','('),('fnc','puthash'),('p',' '),('var','key'),('p',' '),('var','v'),('p',' '),('var','cache--tbl'),('punc',') '),('var','v'),('punc','))))')], + [], + [('punc','('),('kw','defun'),('p',' '),('fnd','cache-clear'),('p',' '),('punc','()')], + [('p',' '),('doc','"Empty the memo table."')], + [('p',' '),('punc','('),('kw','interactive'),('punc',')')], + [('p',' '),('punc','('),('fnc','clrhash'),('p',' '),('var','cache--tbl'),('punc',')')], + [('p',' '),('punc','('),('fnc','message'),('p',' '),('str','"cleared'),('esc','\\n'),('str','"'),('punc','))')], + [], + [('punc','('),('kw','defun'),('p',' '),('fnd','cache-keys'),('p',' '),('punc','()')], + [('p',' '),('doc','"Return all keys."')], + [('p',' '),('punc','('),('kw','let'),('p',' '),('punc','(('),('var','acc'),('p',' '),('con','nil'),('punc','))')], + [('p',' '),('punc','('),('fnc','maphash'),('p',' '),('punc','('),('kw','lambda'),('p',' '),('punc','('),('var','k'),('p',' '),('var','_v'),('punc',')'),('p',' '),('punc','('),('fnc','push'),('p',' '),('var','k'),('p',' '),('var','acc'),('punc','))')], + [('p',' '),('var','cache--tbl'),('punc',')'),('p',' '),('var','acc'),('punc','))')], + [], + [('punc','('),('kw','provide'),('p',' '),('con',"'cache"),('punc',')')], +] +GOS=[ + [('cmd','//'),('cm',' queue.go')], + [('kw','package'),('p',' '),('var','main')], + [], + [('kw','import'),('p',' '),('str','"fmt"')], + [], + [('kw','const'),('p',' '),('con','MaxItems'),('p',' '),('op','='),('p',' '),('num','100')], + [], + [('kw','type'),('p',' '),('ty','Order'),('p',' '),('kw','struct'),('p',' '),('punc','{')], + [('p',' '),('prop','ID'),('p',' '),('ty','int')], + [('p',' '),('prop','Name'),('p',' '),('ty','string')], + [('punc','}')], + [], + [('kw','func'),('p',' '),('punc','('),('var','q'),('p',' '),('op','*'),('ty','Queue'),('punc',')'),('p',' '),('fnd','Push'),('punc','('),('var','o'),('p',' '),('op','*'),('ty','Order'),('punc',')'),('p',' '),('ty','error'),('p',' '),('punc','{')], + [('p',' '),('cmd','//'),('cm',' reject nil')], + [('p',' '),('kw','if'),('p',' '),('var','o'),('p',' '),('op','=='),('p',' '),('con','nil'),('p',' '),('punc','{')], + [('p',' '),('kw','return'),('p',' '),('fnc','fmt.Errorf'),('punc','('),('str','"nil'),('esc','\\n'),('str','"'),('punc',')')], + [('p',' '),('punc','}')], + [('p',' '),('var','q'),('op','.'),('prop','items'),('p',' '),('op','='),('p',' '),('bi','append'),('punc','('),('var','q'),('op','.'),('prop','items'),('punc',','),('p',' '),('var','o'),('punc',')')], + [('p',' '),('kw','return'),('p',' '),('con','nil')], + [('punc','}')], + [], + [('kw','func'),('p',' '),('fnd','main'),('punc','()'),('p',' '),('punc','{')], + [('p',' '),('fnc','fmt.Println'),('punc','('),('op','&'),('ty','Queue'),('punc','{}'),('punc',')')], + [('punc','}')], +] +TSS=[ + [('cmd','//'),('cm',' orders.ts')], + [('kw','import'),('p',' '),('punc','{'),('p',' '),('ty','Order'),('p',' '),('punc','}'),('p',' '),('kw','from'),('p',' '),('str','"./types"')], + [], + [('kw','export'),('p',' '),('kw','interface'),('p',' '),('ty','Queue'),('p',' '),('punc','{')], + [('p',' '),('prop','max'),('op',':'),('p',' '),('ty','number'),('punc',';')], + [('p',' '),('prop','items'),('op',':'),('p',' '),('ty','Order'),('punc','[];')], + [('punc','}')], + [], + [('dec','@Injectable'),('punc','()')], + [('kw','export'),('p',' '),('kw','class'),('p',' '),('ty','OrderQueue'),('p',' '),('kw','implements'),('p',' '),('ty','Queue'),('p',' '),('punc','{')], + [('p',' '),('kw','private'),('p',' '),('prop','re'),('p',' '),('op','='),('p',' '),('re','/^#[0-9a-f]{6}$/i'),('punc',';')], + [], + [('p',' '),('fnd','push'),('punc','('),('var','o'),('op',':'),('p',' '),('ty','Order'),('punc',')'),('op',':'),('p',' '),('ty','boolean'),('p',' '),('punc','{')], + [('p',' '),('kw','if'),('p',' '),('punc','('),('var','o'),('p',' '),('op','==='),('p',' '),('con','null'),('punc',')'),('p',' '),('kw','return'),('p',' '),('con','false'),('punc',';')], + [('p',' '),('var','console'),('op','.'),('fnc','log'),('punc','('),('str','`id '),('punc','${'),('var','o'),('op','.'),('prop','id'),('punc','}'),('esc','\\n'),('str','`'),('punc',');')], + [('p',' '),('kw','return'),('p',' '),('con','true'),('punc',';')], + [('p',' '),('punc','}')], + [('punc','}')], + [], + [('kw','const'),('p',' '),('con','LIMIT'),('op',':'),('p',' '),('ty','number'),('p',' '),('op','='),('p',' '),('num','50'),('punc',';')], + [('kw','const'),('p',' '),('var','q'),('p',' '),('op','='),('p',' '),('kw','new'),('p',' '),('ty','OrderQueue'),('punc','()'),('punc',';')], + [('var','q'),('op','.'),('fnd','push'),('punc','('),('punc','{'),('p',' '),('prop','id'),('op',':'),('p',' '),('num','1'),('p',' '),('punc','}'),('p',' '),('kw','as'),('p',' '),('ty','Order'),('punc',')'),('punc',';')], + [('var','console'),('op','.'),('fnc','log'),('punc','('),('var','q'),('op','.'),('prop','max'),('punc',')'),('punc',';')], + [('kw','const'),('p',' '),('var','cap'),('p',' '),('op','='),('p',' '),('var','Math'),('op','.'),('bi','max'),('punc','('),('con','LIMIT'),('punc',','),('p',' '),('num','0'),('punc',')'),('punc',';')], +] + +CS=[ + [('cmd','/**'),('doc',' Order queue. */')], + [('pp','#include'),('p',' '),('str','<stdio.h>')], + [('pp','#include'),('p',' '),('str','<stdlib.h>')], + [('pp','#define'),('p',' '),('con','MAX_PORT'),('p',' '),('num','8080')], + [], + [('kw','typedef'),('p',' '),('kw','struct'),('p',' '),('punc','{')], + [('p',' '),('ty','int'),('p',' '),('prop','id'),('punc',';')], + [('p',' '),('kw','const'),('p',' '),('ty','char'),('p',' '),('op','*'),('prop','name'),('punc',';')], + [('punc','}'),('p',' '),('ty','Order'),('punc',';')], + [], + [('cmd','//'),('cm',' returns -1 on null input')], + [('ty','int'),('p',' '),('fnd','push'),('punc','('),('ty','Order'),('p',' '),('op','*'),('var','o'),('punc',')'),('p',' '),('dec','__attribute__'),('punc','(('),('dec','nonnull'),('punc','))'),('p',' '),('punc','{')], + [('p',' '),('kw','if'),('p',' '),('punc','('),('var','o'),('p',' '),('op','=='),('p',' '),('con','NULL'),('punc',')'),('p',' '),('kw','return'),('p',' '),('num','-1'),('punc',';')], + [('p',' '),('fnc','printf'),('punc','('),('str','"id=%d'),('esc','\\n'),('str','"'),('punc',','),('p',' '),('var','o'),('op','->'),('prop','id'),('punc',');')], + [('p',' '),('kw','return'),('p',' '),('num','0'),('punc',';')], + [('punc','}')], + [], + [('ty','int'),('p',' '),('fnd','main'),('punc','('),('ty','void'),('punc',')'),('p',' '),('punc','{')], + [('p',' '),('ty','Order'),('p',' '),('var','o'),('p',' '),('op','='),('p',' '),('punc','{'),('p',' '),('op','.'),('prop','id'),('p',' '),('op','='),('p',' '),('num','1'),('punc',','),('p',' '),('op','.'),('prop','name'),('p',' '),('op','='),('p',' '),('str','"dupre"'),('p',' '),('punc','}'),('punc',';')], + [('p',' '),('ty','Order'),('p',' '),('op','*'),('var','p2'),('p',' '),('op','='),('p',' '),('bi','malloc'),('punc','('),('bi','sizeof'),('punc','('),('ty','Order'),('punc','))'),('punc',';')], + [('p',' '),('fnc','push'),('punc','('),('op','&'),('var','o'),('punc',')'),('punc',';')], + [('p',' '),('bi','free'),('punc','('),('var','p2'),('punc',')'),('punc',';')], + [('p',' '),('kw','return'),('p',' '),('num','0'),('punc',';')], + [('punc','}')], +] +CPS=[ + [('cmd','/**'),('doc',' A color theme. */')], + [('pp','#include'),('p',' '),('str','<string>')], + [('pp','#include'),('p',' '),('str','<regex>')], + [('pp','#pragma'),('p',' '),('pp','once')], + [], + [('kw','namespace'),('p',' '),('var','dupre'),('p',' '),('punc','{')], + [], + [('kw','template'),('op','<'),('kw','typename'),('p',' '),('ty','T'),('op','>'),('p',' '),('kw','class'),('p',' '),('ty','Theme'),('p',' '),('punc','{')], + [('kw','public'),('op',':')], + [('p',' '),('kw','static'),('p',' '),('kw','constexpr'),('p',' '),('ty','int'),('p',' '),('con','MAX'),('p',' '),('op','='),('p',' '),('num','0x20'),('punc',';')], + [('p',' '),('ty','std'),('op','::'),('ty','string'),('p',' '),('prop','name_'),('p',' '),('op','='),('p',' '),('str','"dupre"'),('punc',';')], + [], + [('p',' '),('dec','[[nodiscard]]'),('p',' '),('ty','T'),('p',' '),('fnd','resolve'),('punc','('),('kw','const'),('p',' '),('ty','std'),('op','::'),('ty','string'),('op','&'),('p',' '),('var','key'),('punc',')'),('p',' '),('kw','const'),('p',' '),('punc','{')], + [('p',' '),('cmd','//'),('cm',' validate against a hex pattern')], + [('p',' '),('kw','static'),('p',' '),('ty','std'),('op','::'),('ty','regex'),('p',' '),('var','re'),('punc','('),('re','R"(#[0-9a-f]{6})"'),('punc',')'),('punc',';')], + [('p',' '),('kw','if'),('p',' '),('punc','('),('var','key'),('op','.'),('fnc','empty'),('punc','()'),('punc',')'),('p',' '),('kw','return'),('p',' '),('con','nullptr'),('punc',';')], + [('p',' '),('kw','return'),('p',' '),('ty','T'),('punc','{'),('var','key'),('punc','}'),('punc',';')], + [('p',' '),('punc','}')], + [('punc','}'),('punc',';')], + [], + [('ty','int'),('p',' '),('fnd','main'),('punc','()'),('p',' '),('punc','{')], + [('p',' '),('kw','auto'),('p',' '),('var','t'),('p',' '),('op','='),('p',' '),('ty','Theme'),('op','<'),('ty','int'),('op','>'),('punc','{}'),('punc',';')], + [('p',' '),('bi','static_cast'),('op','<'),('ty','int'),('op','>'),('punc','('),('var','t'),('op','.'),('prop','name_'),('op','.'),('fnc','size'),('punc','())'),('punc',';')], + [('p',' '),('ty','std'),('op','::'),('fnc','printf'),('punc','('),('str','"%s'),('esc','\\n'),('str','"'),('punc',','),('p',' '),('var','t'),('op','.'),('prop','name_'),('op','.'),('fnc','c_str'),('punc','())'),('punc',';')], + [('p',' '),('kw','return'),('p',' '),('num','0'),('punc',';')], + [('punc','}')], +] +JAS=[ + [('cmd','/**'),('doc',' A color theme. */')], + [('kw','package'),('p',' '),('var','com'),('op','.'),('var','dupre'),('punc',';')], + [('kw','import'),('p',' '),('var','java'),('op','.'),('var','util'),('op','.'),('var','regex'),('op','.'),('ty','Pattern'),('punc',';')], + [], + [('dec','@Deprecated')], + [('kw','public'),('p',' '),('kw','final'),('p',' '),('kw','class'),('p',' '),('ty','Theme'),('p',' '),('punc','{')], + [('p',' '),('kw','private'),('p',' '),('kw','static'),('p',' '),('kw','final'),('p',' '),('ty','int'),('p',' '),('con','MAX_PORT'),('p',' '),('op','='),('p',' '),('num','8080'),('punc',';')], + [('p',' '),('kw','private'),('p',' '),('kw','final'),('p',' '),('ty','String'),('p',' '),('prop','name'),('p',' '),('op','='),('p',' '),('str','"dupre"'),('punc',';')], + [('p',' '),('kw','private'),('p',' '),('kw','static'),('p',' '),('kw','final'),('p',' '),('ty','Pattern'),('p',' '),('con','HEX'),('p',' '),('op','='),('p',' '),('ty','Pattern'),('op','.'),('fnc','compile'),('punc','('),('re','"#[0-9a-f]{6}"'),('punc',')'),('punc',';')], + [], + [('p',' '),('dec','@Override')], + [('p',' '),('kw','public'),('p',' '),('ty','String'),('p',' '),('fnd','resolve'),('punc','('),('ty','String'),('p',' '),('var','key'),('punc',')'),('p',' '),('punc','{')], + [('p',' '),('cmd','//'),('cm',' fall back to null')], + [('p',' '),('kw','if'),('p',' '),('punc','('),('var','key'),('op','.'),('fnc','isEmpty'),('punc','()'),('punc',')'),('p',' '),('kw','return'),('p',' '),('con','null'),('punc',';')], + [('p',' '),('kw','return'),('p',' '),('var','key'),('op','.'),('fnc','strip'),('punc','('),('punc',')'),('op','+'),('str','"'),('esc','\\t'),('str','"'),('punc',';')], + [('p',' '),('punc','}')], + [], + [('p',' '),('kw','public'),('p',' '),('kw','static'),('p',' '),('ty','void'),('p',' '),('fnd','main'),('punc','('),('ty','String'),('punc','[]'),('p',' '),('var','args'),('punc',')'),('p',' '),('punc','{')], + [('p',' '),('ty','var'),('p',' '),('var','t'),('p',' '),('op','='),('p',' '),('kw','new'),('p',' '),('ty','Theme'),('punc','()'),('punc',';')], + [('p',' '),('ty','System'),('op','.'),('prop','out'),('op','.'),('fnc','println'),('punc','('),('var','t'),('op','.'),('fnc','resolve'),('punc','('),('str','"bg"'),('punc','))'),('punc',';')], + [('p',' '),('punc','}')], + [('punc','}')], +] +SHS=[ + [('cmd','#!'),('cm','/bin/bash')], + [('cmd','#'),('cm',' deploy.sh')], + [('bi','set'),('p',' '),('op','-'),('var','euo'),('p',' '),('var','pipefail')], + [], + [('var','PORT'),('op','='),('num','8080')], + [('var','NAME'),('op','='),('str','"dupre"')], + [], + [('fnd','deploy'),('punc','()'),('p',' '),('punc','{')], + [('p',' '),('kw','local'),('p',' '),('var','target'),('op','='),('str','"$1"')], + [('p',' '),('kw','if'),('p',' '),('punc','[['),('p',' '),('op','-z'),('p',' '),('str','"$target"'),('p',' '),('punc',']]'),('punc',';'),('p',' '),('kw','then')], + [('p',' '),('bi','echo'),('p',' '),('str','"no target"')], + [('p',' '),('kw','return'),('p',' '),('num','1')], + [('p',' '),('kw','fi')], + [('p',' '),('fnc','rsync'),('p',' '),('op','-az'),('p',' '),('str','"$NAME"'),('p',' '),('str','"$target"')], + [('punc','}')], + [], + [('fnd','main'),('punc','()'),('p',' '),('punc','{')], + [('p',' '),('kw','for'),('p',' '),('var','host'),('p',' '),('kw','in'),('p',' '),('str','"$@"'),('punc',';'),('p',' '),('kw','do')], + [('p',' '),('fnc','deploy'),('p',' '),('str','"$host"'),('p',' '),('op','||'),('p',' '),('bi','exit'),('p',' '),('num','1')], + [('p',' '),('kw','done')], + [('p',' '),('bi','echo'),('p',' '),('op','-e'),('p',' '),('str','"all done'),('esc','\\n'),('str','"')], + [('punc','}')], + [], + [('fnc','main'),('p',' '),('str','"$@"')], +] + +RUSTS=[ + [('cmd','//'),('cm',' theme.rs')], + [('dec','#![allow(dead_code)]')], + [('kw','use'),('p',' '),('var','std'),('op','::'),('var','fmt'),('punc',';')], + [], + [('dec','#[derive'),('punc','('),('dec','Debug'),('punc',','),('p',' '),('dec','Clone'),('punc',')]')], + [('kw','pub'),('p',' '),('kw','trait'),('p',' '),('ty','Theme'),('op','<'),('var',"'a"),('op','>'),('p',' '),('punc','{')], + [('p',' '),('kw','const'),('p',' '),('con','NAME'),('op',':'),('p',' '),('op','&'),('var',"'static"),('p',' '),('ty','str'),('punc',';')], + [('p',' '),('kw','fn'),('p',' '),('fnd','resolve'),('punc','('),('op','&'),('var',"'a"),('p',' '),('var','self'),('punc',','),('p',' '),('var','key'),('op',':'),('p',' '),('op','&'),('var',"'a"),('p',' '),('ty','str'),('punc',')'),('p',' '),('op','->'),('p',' '),('ty','Option'),('op','<'),('op','&'),('var',"'a"),('p',' '),('ty','str'),('op','>'),('punc',';')], + [('punc','}')], + [], + [('kw','pub'),('p',' '),('kw','struct'),('p',' '),('ty','Palette'),('op','<'),('var',"'a"),('op','>'),('p',' '),('punc','{')], + [('p',' '),('kw','pub'),('p',' '),('prop','name'),('op',':'),('p',' '),('op','&'),('var',"'a"),('p',' '),('ty','str'),('punc',',')], + [('p',' '),('kw','pub'),('p',' '),('prop','colors'),('op',':'),('p',' '),('ty','Vec'),('op','<'),('punc','('),('op','&'),('var',"'a"),('p',' '),('ty','str'),('punc',','),('p',' '),('op','&'),('var',"'a"),('p',' '),('ty','str'),('punc',')'),('op','>'),('punc',',')], + [('punc','}')], + [], + [('kw','impl'),('op','<'),('var',"'a"),('op','>'),('p',' '),('ty','Theme'),('op','<'),('var',"'a"),('op','>'),('p',' '),('kw','for'),('p',' '),('ty','Palette'),('op','<'),('var',"'a"),('op','>'),('p',' '),('punc','{')], + [('p',' '),('kw','const'),('p',' '),('con','NAME'),('op',':'),('p',' '),('op','&'),('var',"'static"),('p',' '),('ty','str'),('p',' '),('op','='),('p',' '),('str','"dupre"'),('punc',';')], + [('p',' '),('kw','fn'),('p',' '),('fnd','resolve'),('punc','('),('op','&'),('var',"'a"),('p',' '),('var','self'),('punc',','),('p',' '),('var','key'),('op',':'),('p',' '),('op','&'),('var',"'a"),('p',' '),('ty','str'),('punc',')'),('p',' '),('op','->'),('p',' '),('ty','Option'),('op','<'),('op','&'),('var',"'a"),('p',' '),('ty','str'),('op','>'),('p',' '),('punc','{')], + [('p',' '),('kw','if'),('p',' '),('var','key'),('op','.'),('fnc','is_empty'),('punc','()'),('p',' '),('punc','{'),('p',' '),('kw','return'),('p',' '),('con','None'),('punc',';'),('p',' '),('punc','}')], + [('p',' '),('var','self'),('op','.'),('prop','colors'),('op','.'),('fnc','iter'),('punc','()'),('op','.'),('fnc','find'),('punc','('),('op','|'),('punc','('),('var','k'),('punc',','),('p',' '),('var','_'),('punc',')'),('op','|'),('p',' '),('op','*'),('var','k'),('p',' '),('op','=='),('p',' '),('var','key'),('punc',')'),('op','.'),('fnc','map'),('punc','('),('op','|'),('punc','('),('var','_'),('punc',','),('p',' '),('var','v'),('punc',')'),('op','|'),('p',' '),('op','*'),('var','v'),('punc',')')], + [('p',' '),('punc','}')], + [('punc','}')], + [], + [('kw','fn'),('p',' '),('fnd','main'),('punc','()'),('p',' '),('punc','{')], + [('p',' '),('kw','let'),('p',' '),('var','palette'),('p',' '),('op','='),('p',' '),('ty','Palette'),('p',' '),('punc','{'),('p',' '),('prop','name'),('op',':'),('p',' '),('str','"dupre"'),('punc',','),('p',' '),('prop','colors'),('op',':'),('p',' '),('bi','vec!'),('punc','['),('punc','('),('str','"bg"'),('punc',','),('p',' '),('str','"#0d0b0a"'),('punc',')'),('punc',']'),('p',' '),('punc','}'),('punc',';')], + [('p',' '),('bi','println!'),('punc','('),('str','"{:?}"'),('punc',','),('p',' '),('var','palette'),('op','.'),('fnc','resolve'),('punc','('),('str','"bg"'),('punc','))'),('punc',';')], + [('punc','}')], +] + +ZIGS=[ + [('cmd','//'),('cm',' theme.zig')], + [('kw','const'),('p',' '),('var','std'),('p',' '),('op','='),('p',' '),('bi','@import'),('punc','('),('str','"std"'),('punc',')'),('punc',';')], + [('kw','const'),('p',' '),('ty','Allocator'),('p',' '),('op','='),('p',' '),('var','std'),('op','.'),('var','mem'),('op','.'),('ty','Allocator'),('punc',';')], + [], + [('kw','pub'),('p',' '),('kw','const'),('p',' '),('ty','Theme'),('p',' '),('op','='),('p',' '),('kw','struct'),('p',' '),('punc','{')], + [('p',' '),('prop','name'),('op',':'),('p',' '),('punc','['),('punc',']'),('kw','const'),('p',' '),('ty','u8'),('punc',',')], + [('p',' '),('prop','colors'),('op',':'),('p',' '),('punc','['),('punc',']'),('kw','const'),('p',' '),('ty','Color'),('punc',',')], + [], + [('p',' '),('kw','pub'),('p',' '),('kw','fn'),('p',' '),('fnd','init'),('punc','('),('var','alloc'),('op',':'),('p',' '),('op','*'),('ty','Allocator'),('punc',')'),('p',' '),('op','!'),('bi','@This'),('punc','()'),('p',' '),('punc','{')], + [('p',' '),('kw','const'),('p',' '),('var','colors'),('p',' '),('op','='),('p',' '),('kw','try'),('p',' '),('var','alloc'),('op','.'),('fnc','alloc'),('punc','('),('ty','Color'),('punc',','),('p',' '),('num','2'),('punc',')'),('punc',';')], + [('p',' '),('var','colors'),('punc','['),('num','0'),('punc',']'),('p',' '),('op','='),('p',' '),('ty','Color'),('punc','{'),('p',' '),('prop','.name'),('p',' '),('op','='),('p',' '),('str','"bg"'),('punc',','),('p',' '),('prop','.hex'),('p',' '),('op','='),('p',' '),('str','"#0d0b0a"'),('p',' '),('punc','}'),('punc',';')], + [('p',' '),('kw','return'),('p',' '),('bi','@This'),('punc','()'),('punc','{'),('p',' '),('prop','.name'),('p',' '),('op','='),('p',' '),('str','"dupre"'),('punc',','),('p',' '),('prop','.colors'),('p',' '),('op','='),('p',' '),('var','colors'),('p',' '),('punc','}'),('punc',';')], + [('p',' '),('punc','}')], + [('punc','}'),('punc',';')], + [], + [('kw','const'),('p',' '),('ty','Color'),('p',' '),('op','='),('p',' '),('kw','struct'),('p',' '),('punc','{'),('p',' '),('prop','name'),('op',':'),('p',' '),('punc','['),('punc',']'),('kw','const'),('p',' '),('ty','u8'),('punc',','),('p',' '),('prop','hex'),('op',':'),('p',' '),('punc','['),('punc',']'),('kw','const'),('p',' '),('ty','u8'),('p',' '),('punc','}'),('punc',';')], + [], + [('kw','fn'),('p',' '),('fnd','resolve'),('punc','('),('var','theme'),('op',':'),('p',' '),('ty','Theme'),('punc',','),('p',' '),('kw','comptime'),('p',' '),('var','key'),('op',':'),('p',' '),('punc','['),('punc',':'),('num','0'),('punc',']'),('kw','const'),('p',' '),('ty','u8'),('punc',')'),('p',' '),('op','!'),('punc','['),('punc',']'),('kw','const'),('p',' '),('ty','u8'),('p',' '),('punc','{')], + [('p',' '),('kw','inline'),('p',' '),('kw','for'),('p',' '),('punc','('),('var','theme'),('op','.'),('prop','colors'),('punc',')'),('p',' '),('op','|'),('var','color'),('op','|'),('p',' '),('punc','{')], + [('p',' '),('kw','if'),('p',' '),('punc','('),('var','std'),('op','.'),('var','mem'),('op','.'),('fnc','eql'),('punc','('),('ty','u8'),('punc',','),('p',' '),('var','color'),('op','.'),('prop','name'),('punc',','),('p',' '),('var','key'),('punc',')'),('punc',')'),('p',' '),('kw','return'),('p',' '),('var','color'),('op','.'),('prop','hex'),('punc',';')], + [('p',' '),('punc','}')], + [('p',' '),('kw','return'),('p',' '),('con','error.MissingColor'),('punc',';')], + [('punc','}')], + [], + [('kw','test'),('p',' '),('str','"resolve bg"'),('p',' '),('punc','{')], + [('p',' '),('kw','var'),('p',' '),('var','arena'),('p',' '),('op','='),('p',' '),('var','std'),('op','.'),('var','heap'),('op','.'),('ty','ArenaAllocator'),('op','.'),('fnc','init'),('punc','('),('var','std'),('op','.'),('var','testing'),('op','.'),('prop','allocator'),('punc',')'),('punc',';')], + [('p',' '),('kw','defer'),('p',' '),('var','arena'),('op','.'),('fnc','deinit'),('punc','()'),('punc',';')], + [('p',' '),('kw','try'),('p',' '),('var','std'),('op','.'),('var','testing'),('op','.'),('fnc','expectEqualStrings'),('punc','('),('str','"#0d0b0a"'),('punc',','),('p',' '),('kw','try'),('p',' '),('fnc','resolve'),('punc','('),('kw','try'),('p',' '),('ty','Theme'),('op','.'),('fnc','init'),('punc','('),('op','&'),('var','arena'),('op','.'),('prop','allocator'),('punc',')'),('punc',','),('p',' '),('str','"bg"'),('punc','))'),('punc',';')], + [('punc','}')], +] + +cols="".join(f'<div class="col"><h2>{n}</h2><pre>{render(s)}</pre></div>' for n,s in [("Elisp",ELS),("Go",GOS),("Python",PYS),("TypeScript",TSS),("Java",JAS),("C",CS),("C++",CPS),("Rust",RUSTS),("Zig",ZIGS),("Shell",SHS)]) +legend_rows=[ + ("keyword (bold)","kw","class def if return import"),("builtin","bi","len range print"), + ("function — definition (bold)","fnd","resolve cache-get push"),("function — call","fnc","get append fmt.Errorf"), + ("decorator / attribute","dec","@dataclass @Injectable"),("type / class","ty","str dict Order Queue boolean"), + ("property / field / key","prop","name colors items id re"),("constant","con","None nil true MaxItems :test"), + ("number","num","8080 100 42 0"),("string","str",'"dupre" "fmt" `id`'),("escape","esc",r'\t \n'), + ("regexp","re",'/^#[0-9a-f]{6}$/i'),("docstring","doc",'"""..." "Memo table."'), + ("comment","cm","# reject nil // fallback"),("comment delimiter","cmd","# // ;; /*"), + ("variable / use","var","v key self q console"),("operator","op",": = -> | == === . *"), + ("punctuation / bracket","punc","{ } ( ) [ ] , ;"), +] +def lrow(label,k,ex): + c,b=COLS[k] + return f'<tr><td class="sw" style="background:{c}"></td><td class="nm">{NAMES.get(c,"")}</td><td class="hx">{c}</td><td class="cat">{label}</td><td class="ex" style="color:{c}{";font-weight:bold" if b else ""}">{esc(ex)}</td></tr>' +legend="".join(lrow(l,k,e) for l,k,e in legend_rows) +def grp(title,items): + sw="".join(f'<div class="m"><div class="psw" style="background:{h}"></div><div class="lb">{n}<br>{h}</div></div>' for n,h in items) + return f'<div class="g"><div class="gt">{title}</div><div class="ramp">{sw}</div></div>' +palette=(grp("ground / foreground",[("ground","#0d0b0a"),("bg-dim","#1a1714"),("fg","#cdced1")]) + + grp("syntax hues",[("blue · keyword","#67809c"),("gold · variable","#e8bd30"),("regal · type","#9b5fd0"),("emerald · string","#2ba178"),("terracotta · const/num","#cb6b4d"),("tan · comment","#be9e74")]) + + grp("metallic greyscale (structural)",[("gunmetal","#2f343a"),("metal","#474e56"),("pewter","#5e6770"),("steel · property","#838d97"),("silver · fn/op/punct","#a9b2bb"),("bright · fg","#cdced1")]) + + grp("special green + fills",[("muted emerald · doc/regexp","#5d9b86"),("navy fill","#264364"),("gunmetal fill","#2f343a")])) +html=f'''<!doctype html><meta charset=utf-8><title>dupre revision — canonical</title> +<style>body{{background:{GROUND};color:#cdced1;font:15px/1.55 monospace;margin:20px}} + h1{{font-size:22px;font-weight:normal;color:#e8bd30;margin:26px 0 10px;border-bottom:1px solid #252321;padding-bottom:6px}} + h2{{font-size:13px;color:#8a9496;font-weight:normal;margin:0 0 4px}} + .wrap{{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:14px;padding-bottom:10px}} .col{{flex:0 0 auto;width:460px}} + pre{{background:#0d0b0a;border:1px solid #252321;border-radius:8px;padding:14px 16px;font-size:19px;overflow:auto}} + table.leg{{border-collapse:collapse}} table.leg td{{padding:3px 10px;vertical-align:middle}} table.leg th{{cursor:pointer;color:#b4b1a2;text-align:left;padding:3px 10px;user-select:none;font-weight:normal}} table.leg th:hover{{color:#e8bd30}} + .sw{{width:26px;height:16px;border-radius:3px;border:1px solid #00000060}} .nm{{color:#c0c5ca;font-size:12px}} .hx{{color:#969385;font-size:11px}} .cat{{color:#b4b1a2}} .ex{{font-size:18px}} + .g{{margin:4px 0 10px}} .gt{{color:#8a9496;font-size:12px;margin-bottom:4px}} + .ramp{{display:flex;gap:8px;flex-wrap:wrap}} .m{{text-align:center}} .psw{{width:120px;height:30px;border-radius:5px;border:1px solid #00000060}} .lb{{font-size:10px;color:#969385;margin-top:3px}}</style> +<h1>code samples</h1> +<div class="wrap">{cols}</div> +<h1>color → tree-sitter category assignment — click a header to sort</h1> +<table class="leg" id="legtable"><thead><tr><th></th><th onclick="srt(1)">color △</th><th onclick="srt(2)">hex △</th><th onclick="srt(3)">category △</th><th>example</th></tr></thead><tbody>{legend}</tbody></table> +<h1>palette</h1> +{palette}\n<script>let D={{}};function srt(c){{const t=document.querySelector("#legtable tbody");const r=[...t.rows];D[c]=!D[c];r.sort((a,b)=>{{const x=a.cells[c].innerText.trim().toLowerCase(),y=b.cells[c].innerText.trim().toLowerCase();return (x<y?-1:x>y?1:0)*(D[c]?1:-1)}});r.forEach(x=>t.appendChild(x))}}</script>''' +open("/tmp/dupre-canon.html","w").write(html) +print("wrote /tmp/dupre-canon.html") diff --git a/scripts/theme-studio/sterling.json b/scripts/theme-studio/sterling.json new file mode 100644 index 00000000..bab5e641 --- /dev/null +++ b/scripts/theme-studio/sterling.json @@ -0,0 +1,5779 @@ +{ + "name": "sterling", + "palette": [ + [ + "#f0fef0", + "fg" + ], + [ + "#000000", + "bg" + ], + [ + "#151311", + "bg+0" + ], + [ + "#252321", + "bg+1" + ], + [ + "#474544", + "bg+2" + ], + [ + "#58574e", + "gray-2" + ], + [ + "#6c6a60", + "gray-1" + ], + [ + "#969385", + "gray" + ], + [ + "#b4b1a2", + "gray+1" + ], + [ + "#d0cbc0", + "gray+2" + ], + [ + "#8a9496", + "steel" + ], + [ + "#acb0b3", + "steel+1" + ], + [ + "#c0c7ca", + "steel+2" + ], + [ + "#67809c", + "blue" + ], + [ + "#b2c3cc", + "blue+1" + ], + [ + "#d9e2ff", + "blue+2" + ], + [ + "#646d14", + "green-2" + ], + [ + "#869038", + "green-1" + ], + [ + "#a4ac64", + "green" + ], + [ + "#ccc768", + "green+1" + ], + [ + "#3f1c0f", + "red-3" + ], + [ + "#7c2a09", + "red-2" + ], + [ + "#a7502d", + "red-1" + ], + [ + "#d47c59", + "red" + ], + [ + "#edb08f", + "red+1" + ], + [ + "#edbca2", + "red+2" + ], + [ + "#875f00", + "yellow-2" + ], + [ + "#8e784c", + "yellow-1" + ], + [ + "#d7af5f", + "yellow" + ], + [ + "#ffd75f", + "yellow+1" + ], + [ + "#f9ee98", + "yellow+2" + ], + [ + "#ff2a00", + "intense-red" + ] + ], + "assignments": { + "bg": "#000000", + "p": "#f0fef0", + "kw": "#67809c", + "bi": "#d7af5f", + "pp": "#acb0b3", + "fnd": "#d47c59", + "fnc": "", + "dec": "", + "ty": "#a4ac64", + "prop": "", + "con": "#d7af5f", + "num": "#d7af5f", + "str": "#a4ac64", + "esc": "", + "re": "", + "doc": "#969385", + "cm": "#969385", + "cmd": "#969385", + "var": "#b2c3cc", + "op": "", + "punc": "" + }, + "bold": [ + "kw", + "bi", + "pp", + "fnd", + "ty", + "con" + ], + "italic": [ + "pp", + "cm", + "var", + "cmd" + ], + "ui": { + "cursor": { + "fg": null, + "bg": "#f0fef0" + }, + "region": { + "fg": null, + "bg": "#474544" + }, + "hl-line": { + "fg": null, + "bg": "#151311" + }, + "highlight": { + "fg": null, + "bg": "#646d14" + }, + "mode-line": { + "fg": "#000000", + "bg": "#67809c", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "mode-line-inactive": { + "fg": "#67809c", + "bg": "#000000", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "fringe": { + "fg": "#58574e", + "bg": "#151311" + }, + "line-number": { + "fg": "#58574e", + "bg": null + }, + "line-number-current-line": { + "fg": "#d7af5f", + "bg": null + }, + "minibuffer-prompt": { + "fg": "#d7af5f", + "bg": null + }, + "isearch": { + "fg": null, + "bg": null + }, + "lazy-highlight": { + "fg": null, + "bg": "#8e784c", + "underline": true + }, + "isearch-fail": { + "fg": "#f0fef0", + "bg": "#a7502d" + }, + "show-paren-match": { + "fg": "#000000", + "bg": "#a4ac64", + "underline": true + }, + "show-paren-mismatch": { + "fg": "#f0fef0", + "bg": "#a7502d" + }, + "link": { + "fg": "#b2c3cc", + "bg": null, + "underline": true + }, + "error": { + "fg": "#d47c59", + "bg": null, + "bold": true + }, + "warning": { + "fg": "#ffd75f", + "bg": null, + "bold": true + }, + "success": { + "fg": "#a4ac64", + "bg": null, + "bold": true + }, + "vertical-border": { + "fg": "#58574e", + "bg": null + } + }, + "locks": [ + "kw", + "bg", + "p", + "bi", + "pp", + "fnd", + "ty", + "con", + "str", + "var", + "cm", + "doc", + "cmd", + "num", + "ui:mode-line", + "ui:mode-line-inactive", + "ui:link", + "ui:hl-line", + "ui:warning", + "ui:success", + "ui:error", + "ui:line-number-current-line", + "ui:minibuffer-prompt", + "ui:show-paren-mismatch", + "ui:show-paren-match", + "ui:vertical-border", + "ui:line-number", + "ui:fringe", + "ui:region" + ], + "packages": { + "org-mode": { + "org-document-title": { + "fg": null, + "bg": null, + "bold": true, + "height": 1.5, + "source": "default" + }, + "org-document-info": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "org-document-info-keyword": { + "fg": "#8a9496", + "bg": null, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-level-1": { + "fg": "#67809c", + "bg": null, + "bold": true, + "height": 1.3, + "source": "default" + }, + "org-level-2": { + "fg": null, + "bg": null, + "height": 1.2, + "source": "default" + }, + "org-level-3": { + "fg": null, + "bg": null, + "height": 1.15, + "source": "default" + }, + "org-level-4": { + "fg": null, + "bg": null, + "height": 1.1, + "source": "default" + }, + "org-level-5": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-level-6": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-level-7": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-level-8": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "org-headline-todo": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-headline-done": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-todo": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-done": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-priority": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-tag": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-tag-group": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-special-keyword": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-drawer": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-property-value": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "org-checkbox": { + "fg": null, + "bg": null, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-checkbox-statistics-todo": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-checkbox-statistics-done": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-warning": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-link": { + "fg": "#67809c", + "bg": null, + "underline": true, + "source": "default" + }, + "org-footnote": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "org-date": { + "fg": "#8a9496", + "bg": null, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-sexp-date": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "org-date-selected": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-target": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-macro": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-cite": { + "fg": "#67809c", + "bg": null, + "underline": true, + "source": "default" + }, + "org-cite-key": { + "fg": "#67809c", + "bg": null, + "underline": true, + "source": "default" + }, + "org-block": { + "fg": null, + "bg": null, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-block-begin-line": { + "fg": null, + "bg": null, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-block-end-line": { + "fg": null, + "bg": null, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-code": { + "fg": null, + "bg": null, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-verbatim": { + "fg": "#8a9496", + "bg": null, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-inline-src-block": { + "fg": null, + "bg": null, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-quote": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "org-verse": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "org-latex-and-related": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-table": { + "fg": "#8a9496", + "bg": null, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-table-header": { + "fg": null, + "bg": "#58574e", + "bold": true, + "source": "default" + }, + "org-table-row": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-formula": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-column": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-column-title": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-list-dt": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-meta-line": { + "fg": null, + "bg": null, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-ellipsis": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-hide": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-indent": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-archived": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-default": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-dispatcher-highlight": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-agenda-structure": { + "fg": "#67809c", + "bg": null, + "bold": true, + "height": 1.1, + "source": "default" + }, + "org-agenda-structure-secondary": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "org-agenda-structure-filter": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-agenda-date": { + "fg": "#8a9496", + "bg": null, + "height": 1.05, + "source": "default" + }, + "org-agenda-date-today": { + "fg": null, + "bg": null, + "bold": true, + "height": 1.05, + "source": "default" + }, + "org-agenda-date-weekend": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "source": "default" + }, + "org-agenda-date-weekend-today": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-agenda-current-time": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-agenda-done": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-agenda-dimmed-todo-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-agenda-calendar-event": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-agenda-calendar-sexp": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "org-agenda-calendar-daterange": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "org-agenda-diary": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-agenda-clocking": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-agenda-column-dateline": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-agenda-restriction-lock": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-agenda-filter-category": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-agenda-filter-effort": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-agenda-filter-regexp": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-agenda-filter-tags": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-scheduled": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-scheduled-today": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-scheduled-previously": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-upcoming-deadline": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-upcoming-distant-deadline": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-imminent-deadline": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-time-grid": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-clock-overlay": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-mode-line-clock": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "org-mode-line-clock-overrun": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + } + }, + "magit": { + "magit-section-heading": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "magit-section-secondary-heading": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "magit-section-heading-selection": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-section-highlight": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-section-child-count": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-added": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-added-highlight": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-removed": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-removed-highlight": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-context": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-context-highlight": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-file-heading": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "magit-diff-file-heading-highlight": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "magit-diff-file-heading-selection": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-hunk-heading": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "magit-diff-hunk-heading-highlight": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-hunk-heading-selection": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-hunk-region": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-lines-heading": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-lines-boundary": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-base": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-base-highlight": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-our": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-our-highlight": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-their": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-their-highlight": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-conflict-heading": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-conflict-heading-highlight": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-revision-summary": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-revision-summary-highlight": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diff-whitespace-warning": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diffstat-added": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-diffstat-removed": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-branch-current": { + "fg": "#67809c", + "bg": null, + "bold": true, + "box": { + "style": "line", + "width": 1, + "color": null + }, + "source": "default" + }, + "magit-branch-local": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "magit-branch-remote": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-branch-remote-head": { + "fg": null, + "bg": null, + "bold": true, + "box": { + "style": "line", + "width": 1, + "color": null + }, + "source": "default" + }, + "magit-branch-upstream": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-branch-warning": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-head": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "magit-tag": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-hash": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-filename": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "magit-dimmed": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-keyword": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-keyword-squash": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-refname": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-refname-stash": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-refname-wip": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-refname-pullreq": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-log-author": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-log-date": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "magit-log-graph": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-header-line": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "magit-header-line-key": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-header-line-log-select": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-process-ok": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "magit-process-ng": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "magit-mode-line-process": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-mode-line-process-error": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-bisect-good": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-bisect-bad": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-bisect-skip": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-blame-heading": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "magit-blame-highlight": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-blame-hash": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-blame-name": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-blame-date": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "magit-blame-summary": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-blame-dimmed": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-blame-margin": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-cherry-equivalent": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-cherry-unmatched": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-signature-good": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-signature-bad": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "magit-signature-untrusted": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-signature-expired": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-signature-expired-key": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-signature-revoked": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-signature-error": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-reflog-commit": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-reflog-amend": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-reflog-merge": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-reflog-checkout": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "magit-reflog-reset": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-reflog-rebase": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-reflog-cherry-pick": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-reflog-remote": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "magit-reflog-other": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "magit-sequence-pick": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-sequence-stop": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-sequence-part": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-sequence-head": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "magit-sequence-drop": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-sequence-done": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-sequence-onto": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-sequence-exec": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-left-margin": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "elfeed": { + "elfeed-search-date-face": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "elfeed-search-title-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "elfeed-search-unread-title-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "elfeed-search-feed-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "elfeed-search-tag-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "elfeed-search-unread-count-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "elfeed-search-filter-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "elfeed-search-last-update-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "elfeed-log-date-face": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "elfeed-log-error-level-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "elfeed-log-warn-level-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "elfeed-log-info-level-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "elfeed-log-debug-level-face": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "mu4e": { + "mu4e-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "mu4e-context-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "mu4e-modeline-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "mu4e-ok-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "mu4e-warning-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "mu4e-header-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "mu4e-header-key-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "mu4e-header-value-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "mu4e-header-face": { + "fg": "#cdced1", + "bg": null, + "source": "default" + }, + "mu4e-header-highlight-face": { + "fg": null, + "bg": null, + "underline": true, + "source": "default" + }, + "mu4e-header-marks-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "mu4e-unread-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "mu4e-flagged-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "mu4e-replied-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "mu4e-forwarded-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "mu4e-draft-face": { + "fg": "#8a9496", + "bg": null, + "italic": true, + "source": "default" + }, + "mu4e-trashed-face": { + "fg": null, + "bg": null, + "strike": true, + "source": "default" + }, + "mu4e-related-face": { + "fg": "#8a9496", + "bg": null, + "italic": true, + "source": "default" + }, + "mu4e-contact-face": { + "fg": "#cdced1", + "bg": null, + "source": "default" + }, + "mu4e-special-header-value-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "mu4e-url-number-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "mu4e-link-face": { + "fg": "#67809c", + "bg": null, + "underline": true, + "source": "default" + }, + "mu4e-footer-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "mu4e-region-code": { + "fg": null, + "bg": null, + "source": "default" + }, + "mu4e-system-face": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "mu4e-highlight-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "mu4e-compose-separator-face": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "ghostel": { + "ghostel-default": { + "fg": "#cdced1", + "bg": null, + "source": "default" + }, + "ghostel-fake-cursor": { + "fg": "#000000", + "bg": null, + "source": "default" + }, + "ghostel-fake-cursor-box": { + "fg": null, + "bg": null, + "source": "default" + }, + "ghostel-color-black": { + "fg": null, + "bg": null, + "source": "default" + }, + "ghostel-color-red": { + "fg": null, + "bg": null, + "source": "default" + }, + "ghostel-color-green": { + "fg": null, + "bg": null, + "source": "default" + }, + "ghostel-color-yellow": { + "fg": null, + "bg": null, + "source": "default" + }, + "ghostel-color-blue": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "ghostel-color-magenta": { + "fg": null, + "bg": null, + "source": "default" + }, + "ghostel-color-cyan": { + "fg": null, + "bg": null, + "source": "default" + }, + "ghostel-color-white": { + "fg": null, + "bg": null, + "source": "default" + }, + "ghostel-color-bright-black": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "ghostel-color-bright-red": { + "fg": "#de4949", + "bg": null, + "source": "default" + }, + "ghostel-color-bright-green": { + "fg": "#84b068", + "bg": null, + "source": "default" + }, + "ghostel-color-bright-yellow": { + "fg": "#eed376", + "bg": null, + "source": "default" + }, + "ghostel-color-bright-blue": { + "fg": "#7a9abe", + "bg": null, + "source": "default" + }, + "ghostel-color-bright-magenta": { + "fg": "#b07fd0", + "bg": null, + "source": "default" + }, + "ghostel-color-bright-cyan": { + "fg": "#7fc0a8", + "bg": null, + "source": "default" + }, + "ghostel-color-bright-white": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "dashboard": { + "dashboard-banner-logo-title": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "dashboard-text-banner": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "dashboard-heading": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "dashboard-items-face": { + "fg": "#cdced1", + "bg": null, + "source": "default" + }, + "dashboard-navigator": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "dashboard-no-items-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "dashboard-footer-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "dashboard-footer-icon-face": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "lsp-mode": { + "lsp-signature-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "lsp-signature-highlight-function-argument": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "lsp-signature-posframe": { + "fg": null, + "bg": null, + "source": "default" + }, + "lsp-face-highlight-read": { + "fg": null, + "bg": null, + "underline": true, + "source": "default" + }, + "lsp-face-highlight-write": { + "fg": null, + "bg": "#3d2f4a", + "bold": true, + "source": "default" + }, + "lsp-face-highlight-textual": { + "fg": null, + "bg": null, + "source": "default" + }, + "lsp-face-rename": { + "fg": null, + "bg": null, + "bold": true, + "underline": true, + "source": "default" + }, + "lsp-rename-placeholder-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "lsp-inlay-hint-face": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "lsp-inlay-hint-parameter-face": { + "fg": "#8a9496", + "bg": null, + "italic": true, + "source": "default" + }, + "lsp-inlay-hint-type-face": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "lsp-details-face": { + "fg": null, + "bg": null, + "italic": true, + "height": 0.8, + "source": "default" + }, + "lsp-installation-buffer-face": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "lsp-installation-finished-buffer-face": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "git-gutter": { + "git-gutter:added": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "git-gutter:modified": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "git-gutter:deleted": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "git-gutter:unchanged": { + "fg": null, + "bg": null, + "source": "default" + }, + "git-gutter:separator": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "source": "default" + } + }, + "flycheck": { + "flycheck-error": { + "fg": null, + "bg": null, + "underline": true, + "source": "default" + }, + "flycheck-warning": { + "fg": null, + "bg": null, + "underline": true, + "source": "default" + }, + "flycheck-info": { + "fg": "#67809c", + "bg": null, + "underline": true, + "source": "default" + }, + "flycheck-fringe-error": { + "fg": null, + "bg": null, + "source": "default" + }, + "flycheck-fringe-warning": { + "fg": null, + "bg": null, + "source": "default" + }, + "flycheck-fringe-info": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "flycheck-delimited-error": { + "fg": null, + "bg": null, + "source": "default" + }, + "flycheck-error-delimiter": { + "fg": null, + "bg": null, + "source": "default" + }, + "flycheck-error-list-error": { + "fg": null, + "bg": null, + "source": "default" + }, + "flycheck-error-list-warning": { + "fg": null, + "bg": null, + "source": "default" + }, + "flycheck-error-list-info": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "flycheck-error-list-error-message": { + "fg": "#cdced1", + "bg": null, + "source": "default" + }, + "flycheck-error-list-checker-name": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "flycheck-error-list-column-number": { + "fg": null, + "bg": null, + "source": "default" + }, + "flycheck-error-list-line-number": { + "fg": null, + "bg": null, + "source": "default" + }, + "flycheck-error-list-filename": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "flycheck-error-list-id": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "flycheck-error-list-id-with-explainer": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "flycheck-error-list-highlight": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "flycheck-verify-select-checker": { + "fg": null, + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + } + }, + "dired": { + "dired-header": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "dired-directory": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "dired-symlink": { + "fg": null, + "bg": null, + "source": "default" + }, + "dired-broken-symlink": { + "fg": "#de4949", + "bg": null, + "bold": true, + "source": "default" + }, + "dired-special": { + "fg": null, + "bg": null, + "source": "default" + }, + "dired-set-id": { + "fg": null, + "bg": null, + "source": "default" + }, + "dired-perm-write": { + "fg": null, + "bg": null, + "source": "default" + }, + "dired-mark": { + "fg": null, + "bg": null, + "source": "default" + }, + "dired-marked": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "dired-flagged": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "dired-ignored": { + "fg": null, + "bg": null, + "source": "default" + }, + "dired-warning": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + } + }, + "dirvish": { + "dirvish-inactive": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-free-space": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-hl-line": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-hl-line-inactive": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-file-modes": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "dirvish-file-link-number": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-file-user-id": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "dirvish-file-group-id": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "dirvish-file-size": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-file-time": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-file-inode-number": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-file-device-number": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-subtree-guide": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-subtree-state": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "dirvish-collapse-dir-face": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "dirvish-collapse-empty-dir-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-collapse-file-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-emerge-group-title": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "dirvish-media-info-heading": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "dirvish-media-info-property-key": { + "fg": "#8a9496", + "bg": null, + "italic": true, + "source": "default" + }, + "dirvish-narrow-match-face-0": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "dirvish-narrow-match-face-1": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "dirvish-narrow-match-face-2": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "dirvish-narrow-match-face-3": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "dirvish-narrow-split": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-proc-running": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-proc-finished": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-proc-failed": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-git-commit-message-face": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "dirvish-vc-added-state": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-vc-edited-state": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-vc-removed-state": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-vc-conflict-state": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "dirvish-vc-locked-state": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "dirvish-vc-missing-state": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-vc-needs-merge-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-vc-needs-update-state": { + "fg": null, + "bg": null, + "source": "default" + }, + "dirvish-vc-unregistered-face": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "calibredb": { + "calibredb-search-header-library-name-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "calibredb-search-header-library-path-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "calibredb-search-header-total-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "calibredb-search-header-filter-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "calibredb-search-header-sort-face": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "calibredb-search-header-highlight-face": { + "fg": null, + "bg": null, + "bold": true, + "underline": true, + "source": "default" + }, + "calibredb-id-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "calibredb-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "calibredb-author-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "calibredb-format-face": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "calibredb-size-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "calibredb-tag-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "calibredb-date-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "calibredb-mark-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "calibredb-series-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "calibredb-publisher-face": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "calibredb-pubdate-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "calibredb-language-face": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "calibredb-comment-face": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "calibredb-archive-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "calibredb-favorite-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "calibredb-file-face": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "calibredb-ids-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "calibredb-highlight-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "calibredb-current-page-button-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "height": 1.1, + "source": "default" + }, + "calibredb-mouse-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "calibredb-title-detailed-view-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "calibredb-edit-annotation-header-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + } + }, + "erc": { + "erc-header-line": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "erc-timestamp-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "erc-notice-face": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "source": "default" + }, + "erc-default-face": { + "fg": "#cdced1", + "bg": null, + "source": "default" + }, + "erc-current-nick-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "erc-my-nick-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "erc-my-nick-prefix-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "erc-nick-default-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "erc-nick-prefix-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "erc-button-nick-default-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "erc-nick-msg-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "erc-direct-msg-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "erc-action-face": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "erc-keyword-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "erc-pal-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "erc-fool-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "erc-dangerous-host-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "erc-error-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "erc-input-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "erc-prompt-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "erc-command-indicator-face": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "source": "default" + }, + "erc-information": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "erc-button": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "erc-bold-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "erc-italic-face": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "erc-underline-face": { + "fg": null, + "bg": null, + "underline": true, + "source": "default" + }, + "erc-inverse-face": { + "fg": "#000000", + "bg": null, + "source": "default" + }, + "erc-spoiler-face": { + "fg": "#000000", + "bg": null, + "source": "default" + }, + "erc-fill-wrap-merge-indicator-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "erc-keep-place-indicator-arrow": { + "fg": null, + "bg": null, + "source": "default" + }, + "erc-keep-place-indicator-line": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "org-drill": { + "org-drill-hidden-cloze-face": { + "fg": "#000000", + "bg": "#8a9496", + "source": "default" + }, + "org-drill-visible-cloze-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-drill-visible-cloze-hint-face": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + } + }, + "org-noter": { + "org-noter-notes-exist-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "org-noter-no-notes-exist-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + } + }, + "signel": { + "signel-timestamp-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "signel-my-msg-face": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "signel-other-msg-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "signel-error-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + } + }, + "pearl": { + "pearl-preamble-summary": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "pearl-editable-comment": { + "fg": null, + "bg": null, + "source": "default" + }, + "pearl-readonly-comment": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "pearl-modified-highlight": { + "fg": null, + "bg": null, + "source": "default" + }, + "pearl-modified-local": { + "fg": null, + "bg": null, + "source": "default" + }, + "pearl-modified-unknown": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "slack": { + "slack-room-info-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "slack-room-info-title-room-name-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "slack-room-info-section-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "slack-room-info-section-label-face": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "source": "default" + }, + "slack-room-unread-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "slack-message-output-header": { + "fg": "#67809c", + "bg": null, + "bold": true, + "underline": true, + "source": "default" + }, + "slack-message-output-text": { + "fg": "#cdced1", + "bg": null, + "source": "default" + }, + "slack-message-output-reaction": { + "fg": "#8a9496", + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "slack-message-output-reaction-pressed": { + "fg": null, + "bg": null, + "bold": true, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "slack-message-deleted-face": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "slack-new-message-marker-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "slack-all-thread-buffer-thread-header-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "slack-message-mention-face": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "slack-message-mention-me-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "slack-message-mention-keyword-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "slack-channel-button-face": { + "fg": "#67809c", + "bg": null, + "underline": true, + "source": "default" + }, + "slack-mrkdwn-bold-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "slack-mrkdwn-italic-face": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "slack-mrkdwn-code-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "slack-mrkdwn-code-block-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "slack-mrkdwn-strike-face": { + "fg": null, + "bg": null, + "strike": true, + "source": "default" + }, + "slack-mrkdwn-blockquote-face": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "slack-mrkdwn-list-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "slack-attachment-header": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "slack-attachment-footer": { + "fg": null, + "bg": null, + "source": "default" + }, + "slack-attachment-pad": { + "fg": null, + "bg": null, + "source": "default" + }, + "slack-attachment-field-title": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "source": "default" + }, + "slack-message-attachment-preview-header-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "slack-preview-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "slack-block-highlight-source-overlay-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "slack-message-action-face": { + "fg": "#67809c", + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "slack-message-action-primary-face": { + "fg": null, + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "slack-message-action-danger-face": { + "fg": null, + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "slack-button-block-element-face": { + "fg": null, + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "slack-button-primary-block-element-face": { + "fg": null, + "bg": null, + "bold": true, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "slack-button-danger-block-element-face": { + "fg": null, + "bg": null, + "bold": true, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "slack-select-block-element-face": { + "fg": "#67809c", + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "slack-overflow-block-element-face": { + "fg": "#8a9496", + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "slack-date-picker-block-element-face": { + "fg": "#67809c", + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "slack-dialog-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "slack-dialog-element-label-face": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "source": "default" + }, + "slack-dialog-element-hint-face": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "slack-dialog-element-placeholder-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "slack-dialog-element-error-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "slack-dialog-submit-button-face": { + "fg": null, + "bg": null, + "bold": true, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "slack-dialog-cancel-button-face": { + "fg": null, + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "slack-dialog-select-element-input-face": { + "fg": null, + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "slack-user-active-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "slack-user-dnd-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "slack-user-profile-header-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "slack-user-profile-property-name-face": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "slack-profile-image-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "slack-search-result-message-header-face": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "slack-search-result-message-username-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "slack-modeline-has-unreads-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "slack-modeline-channel-has-unreads-face": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "slack-modeline-thread-has-unreads-face": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "telega": { + "telega-root-heading": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "telega-tracking": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-unread-unmuted-modeline": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "telega-username": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "telega-user-online-status": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-user-non-online-status": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-secret-title": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-contact-birthdays-today": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-muted-count": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-unmuted-count": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "telega-mention-count": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "telega-has-chatbuf-brackets": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "telega-delim-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-shadow": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-link": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "telega-blue": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "telega-red": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-msg-heading": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "telega-msg-user-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "telega-msg-self-title": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "telega-msg-deleted": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "telega-msg-sponsored": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "telega-msg-inline-reply": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "telega-msg-inline-forward": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-msg-inline-other": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-entity-type-bold": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "telega-entity-type-italic": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "telega-entity-type-underline": { + "fg": null, + "bg": null, + "underline": true, + "source": "default" + }, + "telega-entity-type-strikethrough": { + "fg": null, + "bg": null, + "strike": true, + "source": "default" + }, + "telega-entity-type-code": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-entity-type-pre": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-entity-type-blockquote": { + "fg": null, + "bg": null, + "italic": true, + "source": "default" + }, + "telega-entity-type-mention": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "telega-entity-type-hashtag": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "telega-entity-type-cashtag": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-entity-type-botcommand": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-entity-type-texturl": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "telega-entity-type-spoiler": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-reaction": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "telega-reaction-chosen": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "telega-reaction-paid": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-reaction-paid-chosen": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "telega-highlight-text-face": { + "fg": "#000000", + "bg": null, + "source": "default" + }, + "telega-button-highlight": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "telega-chat-prompt": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "telega-chat-prompt-aux": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "telega-chat-input-attachment": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-topic-button": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "telega-filter-active": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "telega-filter-button-active": { + "fg": "#000000", + "bg": null, + "source": "default" + }, + "telega-filter-button-inactive": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "telega-checklist-stats-done": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-checklist-stats-todo": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "telega-box-button": { + "fg": "#67809c", + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "telega-box-button-active": { + "fg": "#000000", + "bg": "#67809c", + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "telega-box-button-default-active": { + "fg": "#000000", + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "telega-box-button-default-passive": { + "fg": "#8a9496", + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "telega-box-button-primary-active": { + "fg": "#000000", + "bg": "#67809c", + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "telega-box-button-primary-passive": { + "fg": "#67809c", + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "telega-box-button-success-active": { + "fg": "#000000", + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "telega-box-button-success-passive": { + "fg": null, + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "telega-box-button-danger-active": { + "fg": "#000000", + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "telega-box-button-danger-passive": { + "fg": null, + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "telega-box-button-ui-active": { + "fg": "#000000", + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "telega-box-button-ui-passive": { + "fg": null, + "bg": null, + "box": { + "style": "released", + "width": 1, + "color": null + }, + "source": "default" + }, + "telega-box-button2-active": { + "fg": "#000000", + "bg": "#67809c", + "source": "default" + }, + "telega-box-button2-passive": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "telega-box-button2-white-foreground": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-describe-item-title": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "source": "default" + }, + "telega-describe-section-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "underline": true, + "source": "default" + }, + "telega-describe-subsection-title": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "telega-enckey-00": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-enckey-01": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-enckey-10": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-enckey-11": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "telega-palette-builtin-blue": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "telega-palette-builtin-green": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-palette-builtin-orange": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-palette-builtin-purple": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-webpage-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "telega-webpage-subtitle": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "telega-webpage-header": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "telega-webpage-subheader": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-webpage-outline": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-webpage-fixed": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-webpage-preformatted": { + "fg": null, + "bg": null, + "source": "default" + }, + "telega-webpage-marked": { + "fg": "#000000", + "bg": null, + "source": "default" + }, + "telega-webpage-strike-through": { + "fg": null, + "bg": null, + "strike": true, + "source": "default" + }, + "telega-webpage-chat-link": { + "fg": "#67809c", + "bg": null, + "source": "default" + }, + "telega-link-preview-sitename": { + "fg": "#8a9496", + "bg": null, + "source": "default" + }, + "telega-link-preview-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + } + }, + "shr": { + "shr-h1": { + "fg": null, + "bg": null, + "bold": true, + "height": 1.4, + "source": "default" + }, + "shr-h2": { + "fg": "#67809c", + "bg": null, + "bold": true, + "height": 1.2, + "source": "default" + }, + "shr-h3": { + "fg": "#67809c", + "bg": null, + "bold": true, + "source": "default" + }, + "shr-h4": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "shr-h5": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "source": "default" + }, + "shr-h6": { + "fg": null, + "bg": null, + "bold": true, + "source": "default" + }, + "shr-text": { + "fg": "#cdced1", + "bg": null, + "source": "default" + }, + "shr-link": { + "fg": "#67809c", + "bg": null, + "underline": true, + "source": "default" + }, + "shr-selected-link": { + "fg": null, + "bg": null, + "bold": true, + "underline": true, + "source": "default" + }, + "shr-code": { + "fg": null, + "bg": null, + "source": "default" + }, + "shr-mark": { + "fg": "#000000", + "bg": null, + "source": "default" + }, + "shr-strike-through": { + "fg": null, + "bg": null, + "strike": true, + "source": "default" + }, + "shr-sup": { + "fg": "#8a9496", + "bg": null, + "height": 0.8, + "source": "default" + }, + "shr-abbreviation": { + "fg": "#8a9496", + "bg": null, + "italic": true, + "underline": true, + "source": "default" + }, + "shr-sliced-image": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "2048-game": { + "twentyfortyeight-face-1024": { + "fg": null, + "bg": null, + "source": "default" + }, + "twentyfortyeight-face-128": { + "fg": null, + "bg": null, + "source": "default" + }, + "twentyfortyeight-face-16": { + "fg": null, + "bg": null, + "source": "default" + }, + "twentyfortyeight-face-2": { + "fg": null, + "bg": null, + "source": "default" + }, + "twentyfortyeight-face-2048": { + "fg": null, + "bg": null, + "source": "default" + }, + "twentyfortyeight-face-256": { + "fg": null, + "bg": null, + "source": "default" + }, + "twentyfortyeight-face-32": { + "fg": null, + "bg": null, + "source": "default" + }, + "twentyfortyeight-face-4": { + "fg": null, + "bg": null, + "source": "default" + }, + "twentyfortyeight-face-512": { + "fg": null, + "bg": null, + "source": "default" + }, + "twentyfortyeight-face-64": { + "fg": null, + "bg": null, + "source": "default" + }, + "twentyfortyeight-face-8": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "alert": { + "alert-high-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "alert-low-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "alert-moderate-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "alert-normal-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "alert-trivial-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "alert-urgent-face": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "all-the-icons": { + "all-the-icons-blue": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-blue-alt": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-cyan": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-cyan-alt": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-dblue": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-dcyan": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-dgreen": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-dmaroon": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-dorange": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-dpink": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-dpurple": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-dred": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-dsilver": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-dyellow": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-green": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-lblue": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-lcyan": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-lgreen": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-lmaroon": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-lorange": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-lpink": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-lpurple": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-lred": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-lsilver": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-lyellow": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-maroon": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-orange": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-pink": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-purple": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-purple-alt": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-red": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-red-alt": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-silver": { + "fg": null, + "bg": null, + "source": "default" + }, + "all-the-icons-yellow": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "company": { + "company-echo": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-echo-common": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-preview": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-preview-common": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-preview-search": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-tooltip": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-tooltip-annotation": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-tooltip-annotation-selection": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-tooltip-common": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-tooltip-common-selection": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-tooltip-deprecated": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-tooltip-mouse": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-tooltip-quick-access": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-tooltip-quick-access-selection": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-tooltip-scrollbar-thumb": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-tooltip-scrollbar-track": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-tooltip-search": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-tooltip-search-selection": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-tooltip-selection": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "company-box": { + "company-box-annotation": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-box-background": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-box-candidate": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-box-numbers": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-box-scrollbar": { + "fg": null, + "bg": null, + "source": "default" + }, + "company-box-selection": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "consult": { + "consult-async-failed": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-async-finished": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-async-running": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-async-split": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-bookmark": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-buffer": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-file": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-grep-context": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-help": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-highlight-mark": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-highlight-match": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-key": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-line-number": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-line-number-prefix": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-line-number-wrapped": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-narrow-indicator": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-preview-insertion": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-preview-line": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-preview-match": { + "fg": null, + "bg": null, + "source": "default" + }, + "consult-separator": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "embark": { + "embark-collect-annotation": { + "fg": null, + "bg": null, + "source": "default" + }, + "embark-collect-candidate": { + "fg": null, + "bg": null, + "source": "default" + }, + "embark-collect-group-separator": { + "fg": null, + "bg": null, + "source": "default" + }, + "embark-collect-group-title": { + "fg": null, + "bg": null, + "source": "default" + }, + "embark-keybinding": { + "fg": null, + "bg": null, + "source": "default" + }, + "embark-keybinding-repeat": { + "fg": null, + "bg": null, + "source": "default" + }, + "embark-keymap": { + "fg": null, + "bg": null, + "source": "default" + }, + "embark-selected": { + "fg": null, + "bg": null, + "source": "default" + }, + "embark-target": { + "fg": null, + "bg": null, + "source": "default" + }, + "embark-verbose-indicator-documentation": { + "fg": null, + "bg": null, + "source": "default" + }, + "embark-verbose-indicator-shadowed": { + "fg": null, + "bg": null, + "source": "default" + }, + "embark-verbose-indicator-title": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "emms": { + "emms-browser-album-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "emms-browser-albumartist-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "emms-browser-artist-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "emms-browser-composer-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "emms-browser-performer-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "emms-browser-track-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "emms-browser-year/genre-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "emms-metaplaylist-mode-current-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "emms-metaplaylist-mode-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "emms-playlist-selected-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "emms-playlist-track-face": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "flyspell-correct": { + "flyspell-correct-highlight-face": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "highlight-indent-guides": { + "highlight-indent-guides-character-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "highlight-indent-guides-even-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "highlight-indent-guides-odd-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "highlight-indent-guides-stack-character-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "highlight-indent-guides-stack-even-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "highlight-indent-guides-stack-odd-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "highlight-indent-guides-top-character-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "highlight-indent-guides-top-even-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "highlight-indent-guides-top-odd-face": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "hl-todo": { + "hl-todo": { + "fg": null, + "bg": null, + "source": "default" + }, + "hl-todo-flymake-type": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "json-mode": { + "json-mode-object-name-face": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "llama": { + "llama-##-macro": { + "fg": null, + "bg": null, + "source": "default" + }, + "llama-deleted-argument": { + "fg": null, + "bg": null, + "source": "default" + }, + "llama-llama-macro": { + "fg": null, + "bg": null, + "source": "default" + }, + "llama-mandatory-argument": { + "fg": null, + "bg": null, + "source": "default" + }, + "llama-optional-argument": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "lv": { + "lv-separator": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "magit-section": { + "magit-left-margin": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-section-child-count": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-section-heading": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-section-heading-selection": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-section-highlight": { + "fg": null, + "bg": null, + "source": "default" + }, + "magit-section-secondary-heading": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "malyon": { + "malyon-face-bold": { + "fg": null, + "bg": null, + "source": "default" + }, + "malyon-face-error": { + "fg": null, + "bg": null, + "source": "default" + }, + "malyon-face-italic": { + "fg": null, + "bg": null, + "source": "default" + }, + "malyon-face-plain": { + "fg": null, + "bg": null, + "source": "default" + }, + "malyon-face-reverse": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "marginalia": { + "marginalia-archive": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-char": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-date": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-documentation": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-file-name": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-file-owner": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-file-priv-dir": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-file-priv-exec": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-file-priv-link": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-file-priv-no": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-file-priv-other": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-file-priv-rare": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-file-priv-read": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-file-priv-write": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-function": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-installed": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-key": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-lighter": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-list": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-mode": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-modified": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-null": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-number": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-off": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-on": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-size": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-string": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-symbol": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-true": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-type": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-value": { + "fg": null, + "bg": null, + "source": "default" + }, + "marginalia-version": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "markdown-mode": { + "markdown-blockquote-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-bold-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-code-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-comment-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-footnote-marker-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-footnote-text-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-gfm-checkbox-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-header-delimiter-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-header-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-header-face-1": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-header-face-2": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-header-face-3": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-header-face-4": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-header-face-5": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-header-face-6": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-header-rule-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-highlight-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-highlighting-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-hr-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-html-attr-name-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-html-attr-value-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-html-entity-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-html-tag-delimiter-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-html-tag-name-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-inline-code-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-italic-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-language-info-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-language-keyword-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-line-break-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-link-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-link-title-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-list-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-markup-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-math-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-metadata-key-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-metadata-value-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-missing-link-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-plain-url-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-pre-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-reference-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-strike-through-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-table-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "markdown-url-face": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "nerd-icons": { + "nerd-icons-blue": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-blue-alt": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-cyan": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-cyan-alt": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-dblue": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-dcyan": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-dgreen": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-dmaroon": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-dorange": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-dpink": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-dpurple": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-dred": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-dsilver": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-dyellow": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-green": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-lblue": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-lcyan": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-lgreen": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-lmaroon": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-lorange": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-lpink": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-lpurple": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-lred": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-lsilver": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-lyellow": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-maroon": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-orange": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-pink": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-purple": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-purple-alt": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-red": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-red-alt": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-silver": { + "fg": null, + "bg": null, + "source": "default" + }, + "nerd-icons-yellow": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "nerd-icons-completion": { + "nerd-icons-completion-dir-face": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "orderless": { + "orderless-match-face-0": { + "fg": null, + "bg": null, + "source": "default" + }, + "orderless-match-face-1": { + "fg": null, + "bg": null, + "source": "default" + }, + "orderless-match-face-2": { + "fg": null, + "bg": null, + "source": "default" + }, + "orderless-match-face-3": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "org-roam": { + "org-roam-dailies-calendar-note": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-roam-dim": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-roam-header-line": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-roam-olp": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-roam-preview-heading": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-roam-preview-heading-highlight": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-roam-preview-heading-selection": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-roam-preview-region": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-roam-title": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "org-superstar": { + "org-superstar-first": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-superstar-header-bullet": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-superstar-item": { + "fg": null, + "bg": null, + "source": "default" + }, + "org-superstar-leading": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "prescient": { + "prescient-primary-highlight": { + "fg": null, + "bg": null, + "source": "default" + }, + "prescient-secondary-highlight": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "rainbow-delimiters": { + "rainbow-delimiters-base-error-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "rainbow-delimiters-base-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "rainbow-delimiters-depth-1-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "rainbow-delimiters-depth-2-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "rainbow-delimiters-depth-3-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "rainbow-delimiters-depth-4-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "rainbow-delimiters-depth-5-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "rainbow-delimiters-depth-6-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "rainbow-delimiters-depth-7-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "rainbow-delimiters-depth-8-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "rainbow-delimiters-depth-9-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "rainbow-delimiters-mismatched-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "rainbow-delimiters-unmatched-face": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "symbol-overlay": { + "symbol-overlay-default-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "symbol-overlay-face-1": { + "fg": null, + "bg": null, + "source": "default" + }, + "symbol-overlay-face-2": { + "fg": null, + "bg": null, + "source": "default" + }, + "symbol-overlay-face-3": { + "fg": null, + "bg": null, + "source": "default" + }, + "symbol-overlay-face-4": { + "fg": null, + "bg": null, + "source": "default" + }, + "symbol-overlay-face-5": { + "fg": null, + "bg": null, + "source": "default" + }, + "symbol-overlay-face-6": { + "fg": null, + "bg": null, + "source": "default" + }, + "symbol-overlay-face-7": { + "fg": null, + "bg": null, + "source": "default" + }, + "symbol-overlay-face-8": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "tmr": { + "tmr-description": { + "fg": null, + "bg": null, + "source": "default" + }, + "tmr-duration": { + "fg": null, + "bg": null, + "source": "default" + }, + "tmr-end-time": { + "fg": null, + "bg": null, + "source": "default" + }, + "tmr-finished": { + "fg": null, + "bg": null, + "source": "default" + }, + "tmr-is-acknowledged": { + "fg": null, + "bg": null, + "source": "default" + }, + "tmr-must-be-acknowledged": { + "fg": null, + "bg": null, + "source": "default" + }, + "tmr-start-time": { + "fg": null, + "bg": null, + "source": "default" + }, + "tmr-tabulated-acknowledgement": { + "fg": null, + "bg": null, + "source": "default" + }, + "tmr-tabulated-description": { + "fg": null, + "bg": null, + "source": "default" + }, + "tmr-tabulated-end-time": { + "fg": null, + "bg": null, + "source": "default" + }, + "tmr-tabulated-remaining-time": { + "fg": null, + "bg": null, + "source": "default" + }, + "tmr-tabulated-start-time": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "transient": { + "transient-active-infix": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-argument": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-delimiter": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-disabled-suffix": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-enabled-suffix": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-heading": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-higher-level": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-inactive-argument": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-inactive-value": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-inapt-argument": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-inapt-suffix": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-key": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-key-exit": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-key-noop": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-key-recurse": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-key-return": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-key-stack": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-key-stay": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-mismatched-key": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-nonstandard-key": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-unreachable": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-unreachable-key": { + "fg": null, + "bg": null, + "source": "default" + }, + "transient-value": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "vertico": { + "vertico-current": { + "fg": null, + "bg": null, + "source": "default" + }, + "vertico-group-separator": { + "fg": null, + "bg": null, + "source": "default" + }, + "vertico-group-title": { + "fg": null, + "bg": null, + "source": "default" + }, + "vertico-multiline": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "web-mode": { + "web-mode-annotation-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-annotation-html-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-annotation-tag-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-annotation-type-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-annotation-value-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-block-attr-name-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-block-attr-value-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-block-comment-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-block-control-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-block-delimiter-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-block-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-block-string-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-bold-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-builtin-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-comment-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-comment-keyword-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-constant-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-css-at-rule-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-css-color-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-css-comment-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-css-function-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-css-priority-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-css-property-name-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-css-pseudo-class-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-css-selector-class-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-css-selector-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-css-selector-tag-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-css-string-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-css-variable-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-current-column-highlight-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-current-element-highlight-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-doctype-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-error-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-filter-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-folded-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-function-call-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-function-name-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-html-attr-custom-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-html-attr-engine-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-html-attr-equal-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-html-attr-name-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-html-attr-value-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-html-entity-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-html-tag-bracket-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-html-tag-custom-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-html-tag-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-html-tag-namespaced-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-html-tag-unclosed-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-inlay-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-interpolate-color1-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-interpolate-color2-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-interpolate-color3-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-interpolate-color4-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-italic-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-javascript-comment-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-javascript-string-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-json-comment-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-json-context-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-json-key-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-json-string-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-jsx-depth-1-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-jsx-depth-2-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-jsx-depth-3-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-jsx-depth-4-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-jsx-depth-5-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-keyword-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-param-name-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-part-comment-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-part-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-part-string-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-preprocessor-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-script-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-sql-keyword-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-string-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-style-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-symbol-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-type-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-underline-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-variable-name-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-warning-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "web-mode-whitespace-face": { + "fg": null, + "bg": null, + "source": "default" + } + }, + "yasnippet": { + "yas--field-debug-face": { + "fg": null, + "bg": null, + "source": "default" + }, + "yas-field-highlight-face": { + "fg": null, + "bg": null, + "source": "default" + } + } + } +}
\ No newline at end of file diff --git a/scripts/theme-studio/styles.css b/scripts/theme-studio/styles.css new file mode 100644 index 00000000..4811cf08 --- /dev/null +++ b/scripts/theme-studio/styles.css @@ -0,0 +1,108 @@ + body{background:#0d0b0a;color:#cdced1;font:15px/1.55 monospace;margin:20px} + h1{font-size:22px;font-weight:normal;color:#e8bd30;margin:26px 0 10px;border-bottom:1px solid #252321;padding-bottom:6px} + h2{font-size:10pt;color:#8a9496;font-weight:normal;margin:0 0 4px} + .wrap{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:14px;padding-bottom:10px} + .col{flex:0 0 auto;width:460px} + pre{background:#0d0b0a;border:1px solid #252321;border-radius:8px;padding:14px 16px;font-size:12pt;overflow:auto;white-space:pre} + table.leg{border-collapse:collapse} table.leg td{padding:4px 12px;vertical-align:middle} + table.leg th{cursor:pointer;color:#b4b1a2;text-align:left;padding:4px 12px;user-select:none;font-weight:normal} + table.leg th:hover{color:#e8bd30} + select.chip{appearance:none;border:1px solid #00000060;border-radius:5px;padding:5px 10px;font:bold 14px monospace;width:160px;cursor:pointer} + .cstep{display:inline-flex;align-items:center;gap:4px} + .cstepbtn{width:22px;height:28px;padding:0;border:1px solid #3a3a3a;border-radius:4px;background:#1f1c19;color:#e8bd30;font:bold 14px monospace;cursor:pointer} + .cstepbtn:disabled{opacity:.28;cursor:default;color:#8f8977} + .cstep.locked .cstepbtn{opacity:.28;cursor:default} + .cdd{display:inline-flex;align-items:center;gap:7px;border:1px solid #00000060;border-radius:5px;padding:5px 10px;font:bold 13px monospace;width:150px;cursor:pointer;box-sizing:border-box;overflow:hidden;white-space:nowrap} + .cddsw{display:inline-block;width:13px;height:13px;border-radius:3px;border:1px solid #0007;flex:none} + .cddpop{position:fixed;z-index:200;background:#161412;border:1px solid #3a3a3a;border-radius:6px;box-shadow:0 12px 34px #000c;max-height:60vh;overflow:auto;padding:4px} + .cddrow{display:flex;align-items:center;gap:9px;padding:4px 9px;cursor:pointer;color:#cdced1;font:12px monospace;border-radius:4px;white-space:nowrap} + .cddrow:hover{background:#252321} + .cddrow.sel{outline:1px solid #e8bd30;outline-offset:-1px} + .cddrow .cddnm{flex:1} + .cddrow .cddhx{opacity:.55;margin-left:10px} + .cstep.locked .cdd{cursor:default;opacity:.85;box-shadow:inset 0 0 0 2px #e8bd3088} + .lockbtn{background:none;border:none;cursor:pointer;font-size:15px;line-height:1;padding:2px 4px;opacity:.5;filter:grayscale(1)} + .lockbtn.on{opacity:1;filter:none} + .boxctl{display:flex;align-items:center;gap:5px} + .boxctl .cdd{width:108px} + .boxctl .cstepbtn{width:18px} + .legctl{margin:0 0 8px;display:flex;gap:8px;align-items:center} + .cat{color:#b4b1a2} .ex{font-size:17px} + .sbtn{width:26px;height:24px;border:1px solid #3a3a3a;border-radius:3px;background:#eaeaea;color:#111;cursor:pointer;font-size:15px;margin-right:2px;padding:0} + .sbtn.on{background:#0d0b0a;color:#cdced1;border-color:#8a9496} + .pals{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;align-items:flex-start} + .fstrip{display:flex;flex-direction:column;gap:6px;padding:5px;border-radius:7px;border:1px solid transparent} + .fstrip.ground{border-color:#252321;background:#161412} + .fhead{min-height:17px;width:128px;display:flex;align-items:center;justify-content:center;gap:3px;color:#b4b1a2;font:9pt monospace;text-align:center} + .fhead .ctitle{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;border:none;color:#b4b1a2;font:9pt monospace;text-align:center;cursor:pointer;padding:0} + .fhead .ctitle:hover{color:#e8bd30} + .fhead .cmove,.fhead .cdel{width:18px;height:17px;background:#161412;border:1px solid #252321;border-radius:3px;color:#8a9496;font:10pt monospace;line-height:13px;padding:0;cursor:pointer} + .fhead .cmove:hover:not(:disabled),.fhead .cdel:hover{color:#e8bd30;border-color:#3a3a3a} + .fhead .cmove:disabled{opacity:.28;cursor:default} + .fhead .cdel{margin-left:5px;color:#b36a5e} + .fhead .cdel:hover{color:#ff9078;border-color:#6d342c;background:#211512} + .fcount{margin-top:3px;font:9pt monospace;color:#8a9496;text-align:center} + .fcount input{width:40px;background:#0d0b0a;border:1px solid #252321;color:#cdced1;border-radius:4px;padding:2px 4px;font:9pt monospace;text-align:center} + .palwarn{display:none;margin-top:8px;font:10pt monospace;color:#cb6b4d} + .palwarn .pwh{font-weight:bold;margin-bottom:2px} + .palwarn .pwl{opacity:.92} + .pchip{width:128px;height:58px;border-radius:6px;border:1px solid #555;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:grab} + .pchip.sel{outline:3px solid #e8bd30;outline-offset:2px} .pchip input.nm{background:transparent;border:none;text-align:center;font:bold 10pt monospace;width:108px;outline:none;cursor:pointer} + .pchip input.nm.editing{cursor:text;text-align:left} + .pchip .hx{font-size:10pt;opacity:.8} .pchip .rm{position:absolute;top:2px;right:5px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:bold;opacity:.7} + .pchip .lock{position:absolute;top:3px;right:5px;font-size:10px;opacity:.6} + .palctl{margin:0 0 12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap} + .palctl input[type=text]{background:#161412;border:1px solid #252321;color:#cdced1;border-radius:4px;padding:5px 8px;font:10pt monospace} + .palctl input[type=text]::placeholder{color:#b4b1a2;opacity:1} + .palctl{position:relative} + .swatch{width:128px;height:58px;border:1px solid #555;border-radius:6px;cursor:pointer;background:#888} + .picker{display:none;position:absolute;top:66px;left:0;z-index:60;background:#161412;border:1px solid #3a3a3a;border-radius:8px;padding:12px;box-shadow:0 10px 30px #000b;width:470px} + .picker .prow{display:flex;gap:10px} + .sv{position:relative;width:400px;height:320px;border-radius:4px;cursor:crosshair} + .svmask{position:absolute;inset:0;pointer-events:none;border-radius:4px} + .pmode{margin:2px 2px 8px;font:10pt monospace;color:#b4b1a2;display:flex;gap:6px;align-items:center} + .pmode button{background:#252321;color:#cdced1;border:1px solid #3a3a3a;border-radius:4px;padding:2px 9px;font:10pt monospace;cursor:pointer} + .pmode button.on{background:#e8bd30;color:#000;border-color:#e8bd30} + .pmodel{margin:8px 2px 4px;font:10pt monospace;color:#b4b1a2;display:flex;gap:6px;align-items:center} + .pmodel button{background:#252321;color:#cdced1;border:1px solid #3a3a3a;border-radius:4px;padding:2px 9px;font:10pt monospace;cursor:pointer} + .pmodel button.on{background:#67809c;color:#000;border-color:#67809c} + .oklchctl{display:none;margin:0 2px 6px;font:10pt monospace;color:#9aa3ad} + .oklchctl.show{display:block} + .oklchctl .ocrow{display:flex;align-items:center;gap:6px;margin:3px 0} + .oklchctl .ocrow label{width:12px;color:#cdced1} + .oklchctl .ocrow input[type=range]{flex:1} + .oklchctl .ocrow input[type=number]{width:62px;background:#252321;color:#cdced1;border:1px solid #3a3a3a;border-radius:3px;font:10pt monospace;padding:1px 3px} + .oklchctl .pclamp{display:none;color:#cb6b4d;margin-top:3px} + .oklchctl .pclamp.show{display:block} + .svcur{position:absolute;width:16px;height:16px;border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0008;pointer-events:none;z-index:3} + .hue{position:relative;width:34px;height:320px;border-radius:4px;cursor:ns-resize;background:linear-gradient(to bottom,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)} + .huecur{position:absolute;left:-2px;right:-2px;height:4px;background:#fff;border:1px solid #0008;transform:translateY(-50%);pointer-events:none} + .pinfo{display:flex;justify-content:space-between;margin:10px 2px 4px;font:12pt monospace;color:#cdced1} + .pinfo2{display:flex;justify-content:space-between;margin:0 2px 9px;font:10pt monospace;color:#9aa3ad} + .pinfo2 span{cursor:default} + .pkchips{display:flex;flex-wrap:wrap;gap:5px} .pkchips .pc{width:28px;height:28px;border-radius:3px;border:1px solid #555;cursor:pointer} + .svsafe{position:absolute;left:0;width:100%;background:rgba(203,107,77,0.30);border-bottom:2px solid #cb6b4d;pointer-events:none;z-index:2} + .palctl button,.filebar button,.fbtn{background:#252321;color:#e8bd30;border:1px solid #3a3a3a;border-radius:4px;padding:6px 12px;font:10pt monospace;cursor:pointer} + #palmsg{font:10pt monospace;opacity:0;transition:opacity .35s;margin-left:6px} + #export{width:100%;height:180px;margin-top:10px;background:#0d0b0a;color:#a4ac64;border:1px solid #252321;border-radius:6px;font:10pt monospace;padding:10px} + .filebar{margin:6px 0 0;display:flex;gap:8px;align-items:center} + #pagetitle{font-size:30px;color:#cdced1;font-weight:normal;border:none;margin:0;padding:0} + .topbar{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;margin:4px 0 18px} + .cols{display:flex;gap:28px;align-items:flex-start} .cols.stretch{align-items:stretch} + .pane{min-width:0} .pane.grow{flex:1} .pane.saveload{flex:0 0 auto;margin-left:auto} + .pane h1{margin-top:0} + .filebar.end{justify-content:flex-end} .langbar{margin-bottom:10px;display:flex;gap:8px;align-items:center} + .pkgbar{margin:0 0 10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap} + .pkgbar button{background:#252321;color:#e8bd30;border:1px solid #3a3a3a;border-radius:4px;padding:6px 12px;font:10pt monospace;cursor:pointer} + .hstep{background:#161412;border:1px solid #252321;color:#cdced1;border-radius:4px;padding:3px 4px;font:10pt monospace;width:56px} + #pkgbody td{padding:3px 8px} + #codepre{width:100%;box-sizing:border-box} + .mock{border:1px solid #252321;border-radius:8px;overflow:hidden;font:12pt/1.7 monospace;display:flex;flex-direction:column} + .mock .mbuf{flex:1} .mock .ln{display:flex;align-items:stretch;white-space:pre} + .mock .fr{width:14px;flex:0 0 auto;border-right:1px solid #ffffff14} .mock .num{width:36px;flex:0 0 auto;text-align:right;padding-right:10px} + .mock .cd{flex:1;padding-left:8px} .mock .bar,.mock .echo{padding:4px 10px;white-space:pre} + #codepre [data-k],.mock [data-k],.mock [data-face]{cursor:pointer} + @keyframes flashcell{0%,55%{background:#e8bd3066}100%{background:transparent}} + tr.flash td{animation:flashcell 1.1s ease-out} + @keyframes flashtok{0%,55%{background:#e8bd30aa;color:#000}100%{background:transparent}} + .flashtok{animation:flashtok 1.1s ease-out;border-radius:2px} diff --git a/scripts/theme-studio/test-app-core.mjs b/scripts/theme-studio/test-app-core.mjs new file mode 100644 index 00000000..ded3da94 --- /dev/null +++ b/scripts/theme-studio/test-app-core.mjs @@ -0,0 +1,332 @@ +// Unit tests for the pure app logic (app-core.js): the package-face model and +// the dropdown option list. These are the functions Stage 7 made importable. +// Run: node --test scripts/theme-studio/ + +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { readFileSync } from 'node:fs'; +import { fileURLToPath } from 'node:url'; +import { + nameToHex, normalizePkgFace, buildPkgmap, packagesForExport, mergePackagesInto, effResolve, optList, paletteOptionList, spanNeighborHex, slugify, + clearPalettePlan, deletePaletteColumnPlan, groundColumnMembersFromPalette, areAllLocked, lockToggleLabel, toggleLockSet, +} from './app-core.js'; + +const here = fileURLToPath(new URL('.', import.meta.url)); +const PAL = [['#67809c', 'blue'], ['#e8bd30', 'gold']]; + +test('nameToHex: Normal — resolves a palette name to its hex', () => { + assert.equal(nameToHex('blue', PAL), '#67809c'); + assert.equal(nameToHex('gold', PAL), '#e8bd30'); +}); + +test('nameToHex: Normal — a raw #hex passes through unchanged', () => { + assert.equal(nameToHex('#abcdef', PAL), '#abcdef'); +}); + +test('nameToHex: Boundary/Error — null, empty, and unknown names give null', () => { + assert.equal(nameToHex(null, PAL), null); + assert.equal(nameToHex('', PAL), null); + assert.equal(nameToHex(undefined, PAL), null); + assert.equal(nameToHex('chartreuse', PAL), null); +}); + +test('optList: Normal — default entry then the whole palette', () => { + assert.deepEqual(optList('#67809c', PAL), [['', '— default —'], ...PAL]); +}); + +test('optList: Boundary — empty cur is "have", so no (gone) entry', () => { + assert.deepEqual(optList('', PAL), [['', '— default —'], ...PAL]); +}); + +test('optList: Error — a cur not in the palette is surfaced as (gone) first', () => { + const list = optList('#123456', PAL); + assert.deepEqual(list[0], ['', '— default —']); + assert.deepEqual(list[1], ['#123456', '(gone) #123456']); + assert.deepEqual(list.slice(2), PAL); +}); + +test('paletteOptionList: Normal — color choices follow visual column ordering', () => { + const pal = [ + ['#67809c', 'blue'], + ['#0d0b0a', 'bg'], + ['#808080', 'gray'], + ['#c0402a', 'red'], + ['#f0fef0', 'fg'], + ]; + const list = paletteOptionList('#67809c', pal, { bg: '#0d0b0a', fg: '#f0fef0' }); + assert.deepEqual(list.slice(0, 3), [['', '— default —'], ['#0d0b0a', 'bg'], ['#f0fef0', 'fg']]); + assert.ok(list.findIndex(([, name]) => name === 'blue') < list.findIndex(([, name]) => name === 'gray'), 'palette column order is preserved'); + assert.ok(list.findIndex(([, name]) => name === 'gray') < list.findIndex(([, name]) => name === 'red'), 'later columns stay later'); +}); + +test('paletteOptionList: Normal — colors within each column are lightest to darkest', () => { + const pal = [ + ['#111111', 'bg', 'ground'], + ['#eeeeee', 'fg', 'ground'], + ['#444444', 'gray-dark', 'gray'], + ['#cccccc', 'gray-light', 'gray'], + ['#888888', 'gray-mid', 'gray'], + ['#330000', 'red-dark', 'red'], + ['#dd8888', 'red-light', 'red'], + ]; + const list = paletteOptionList('', pal, { bg: '#111111', fg: '#eeeeee' }); + assert.deepEqual(list.slice(0, 3).map(([, name]) => name), ['— default —', 'bg', 'fg']); + assert.deepEqual( + list.filter(([, name]) => name.startsWith('gray')).map(([, name]) => name), + ['gray-light', 'gray-mid', 'gray-dark'], + ); + assert.ok(list.findIndex(([, name]) => name === 'gray-dark') < list.findIndex(([, name]) => name === 'red-light'), 'column order is still left-to-right'); + assert.deepEqual( + list.filter(([, name]) => name.startsWith('red')).map(([, name]) => name), + ['red-light', 'red-dark'], + ); +}); + +test('paletteOptionList: Boundary — assignment-only ground colors are selectable', () => { + const list = paletteOptionList('', [['#67809c', 'blue']], { bg: '#0d0b0a', fg: '#f0fef0' }); + assert.ok(list.some(([hex, name]) => hex === '#0d0b0a' && name === 'bg')); + assert.ok(list.some(([hex, name]) => hex === '#f0fef0' && name === 'fg')); +}); + +test('paletteOptionList: Boundary — bg-like imported colors remain selectable outside ground', () => { + const pal = [['#0d0b0a', 'bg2'], ['#0d0b0a', 'bg', 'ground'], ['#f0fef0', 'fg', 'ground']]; + const list = paletteOptionList('', pal, { bg: '#0d0b0a', fg: '#f0fef0' }); + assert.deepEqual(list.slice(0, 4), [['', '— default —'], ['#0d0b0a', 'bg'], ['#f0fef0', 'fg'], ['#0d0b0a', 'bg2']]); +}); + +test('paletteOptionList: Error — a cur outside palette and ground is surfaced as gone', () => { + const list = paletteOptionList('#123456', PAL, { bg: '#0d0b0a', fg: '#f0fef0' }); + assert.deepEqual(list[0], ['', '— default —']); + assert.deepEqual(list[1], ['#123456', '(gone) #123456']); +}); + +test('spanNeighborHex: Normal — steps lighter and darker within the current column', () => { + const pal = [ + ['#222222', 'gray-dark', 'gray'], + ['#888888', 'gray-mid', 'gray'], + ['#dddddd', 'gray-light', 'gray'], + ['#330000', 'red-dark', 'red'], + ]; + const ground = { bg: '#000000', fg: '#ffffff' }; + assert.equal(spanNeighborHex('#888888', pal, ground, 1), '#dddddd'); + assert.equal(spanNeighborHex('#888888', pal, ground, -1), '#222222'); + assert.equal(spanNeighborHex('#dddddd', pal, ground, 1), null); + assert.equal(spanNeighborHex('#222222', pal, ground, -1), null); +}); + +test('spanNeighborHex: Normal — ground steps by lightness too', () => { + const pal = [ + ['#ffffff', 'bg', 'ground'], + ['#777777', 'ground+1', 'ground'], + ['#000000', 'fg', 'ground'], + ]; + const ground = { bg: '#ffffff', fg: '#000000' }; + assert.equal(spanNeighborHex('#777777', pal, ground, 1), '#ffffff'); + assert.equal(spanNeighborHex('#777777', pal, ground, -1), '#000000'); +}); + +test('spanNeighborHex: Boundary — default and gone colors cannot step', () => { + assert.equal(spanNeighborHex('', PAL, { bg: '#000000', fg: '#ffffff' }, 1), null); + assert.equal(spanNeighborHex('#123456', PAL, { bg: '#000000', fg: '#ffffff' }, 1), null); +}); + +test('clearPalettePlan: Normal — removes non-ground colors and records recoverable names', () => { + const plan = clearPalettePlan([ + ['#0d0b0a', 'bg', 'ground'], + ['#f0fef0', 'fg', 'ground'], + ['#67809c', 'blue', 'blue'], + ['#92acc2', 'blue+1', 'blue'], + ], { bg: '#0d0b0a', fg: '#f0fef0' }); + assert.deepEqual(plan.palette, [['#0d0b0a', 'bg', 'ground'], ['#f0fef0', 'fg', 'ground']]); + assert.deepEqual(plan.removed, [{ hex: '#67809c', name: 'blue' }, { hex: '#92acc2', name: 'blue+1' }]); +}); + +test('clearPalettePlan: Boundary — synthesizes missing bg and fg endpoints', () => { + const plan = clearPalettePlan([['#67809c', 'blue', 'blue']], { bg: '#000000', fg: '#ffffff' }); + assert.deepEqual(plan.palette, [['#000000', 'bg', 'ground'], ['#ffffff', 'fg', 'ground']]); + assert.deepEqual(plan.removed, [{ hex: '#67809c', name: 'blue' }]); +}); + +test('clearPalettePlan: Boundary — same-hex imported colors are not ground endpoints', () => { + const plan = clearPalettePlan([ + ['#0d0b0a', 'bg2', 'bg2'], + ['#0d0b0a', 'bg', 'ground'], + ['#f0fef0', 'fg', 'ground'], + ], { bg: '#0d0b0a', fg: '#f0fef0' }); + assert.deepEqual(plan.palette, [['#0d0b0a', 'bg', 'ground'], ['#f0fef0', 'fg', 'ground']]); + assert.deepEqual(plan.removed, [{ hex: '#0d0b0a', name: 'bg2' }]); +}); + +test('deletePaletteColumnPlan: Normal — removes one stable column and keeps ground plus neighbors', () => { + const plan = deletePaletteColumnPlan([ + ['#0d0b0a', 'bg', 'ground'], + ['#f0fef0', 'fg', 'ground'], + ['#c0402a', 'red', 'red'], + ['#3a6ea5', 'blue', 'blue'], + ['#92acc2', 'blue+1', 'blue'], + ['#808080', 'gray', 'gray'], + ], { bg: '#0d0b0a', fg: '#f0fef0' }, 'blue'); + assert.deepEqual(plan.palette.map(p => p[1]), ['bg', 'fg', 'red', 'gray']); + assert.deepEqual(plan.removed, [{ hex: '#3a6ea5', name: 'blue' }, { hex: '#92acc2', name: 'blue+1' }]); +}); + +test('deletePaletteColumnPlan: Boundary — never deletes ground entries', () => { + const plan = deletePaletteColumnPlan([ + ['#0d0b0a', 'bg', 'ground'], + ['#555555', 'ground+1', 'ground'], + ['#f0fef0', 'fg', 'ground'], + ], { bg: '#0d0b0a', fg: '#f0fef0' }, 'ground'); + assert.deepEqual(plan.palette.map(p => p[1]), ['bg', 'ground+1', 'fg']); + assert.deepEqual(plan.removed, []); +}); + +test('groundColumnMembersFromPalette: Normal — sorts bg, ground+N steps, then fg', () => { + const members = groundColumnMembersFromPalette([ + ['#ffffff', 'bg', 'ground'], + ['#333333', 'ground+2', 'ground'], + ['#bbbbbb', 'ground+1', 'ground'], + ['#000000', 'fg', 'ground'], + ], { bg: '#ffffff', fg: '#000000' }); + assert.deepEqual(members.map(m => m.name), ['bg', 'ground+1', 'ground+2', 'fg']); +}); + +test('lock helpers: Normal — label and toggle operate on the full key set', () => { + const keys = ['a', 'b', 'c']; + assert.equal(areAllLocked(keys, new Set(['a', 'b'])), false); + assert.equal(lockToggleLabel(keys, new Set(['a', 'b'])), 'lock all'); + const locked = toggleLockSet(keys, new Set(['a'])); + assert.deepEqual([...locked].sort(), keys); + assert.equal(lockToggleLabel(keys, locked), 'unlock all'); + assert.deepEqual([...toggleLockSet(keys, locked)].sort(), []); +}); + +test('buildPkgmap: Normal — seeds faces, resolving names and applying defaults', () => { + const apps = { 'org-mode': { faces: [ + ['org-todo', 'todo', { fg: 'blue', bold: true }], + ['org-done', 'done', { inherit: 'org-todo' }], + ] } }; + const m = buildPkgmap(apps, PAL); + assert.equal(m['org-mode']['org-todo'].fg, '#67809c'); + assert.equal(m['org-mode']['org-todo'].bold, true); + assert.equal(m['org-mode']['org-todo'].source, 'default'); + assert.equal(m['org-mode']['org-todo'].height, 1); + assert.equal(m['org-mode']['org-done'].inherit, 'org-todo'); + assert.equal(m['org-mode']['org-done'].fg, null); +}); + +test('normalizePkgFace: Normal — fills every package face field', () => { + assert.deepEqual(normalizePkgFace({ fg: 'blue', bold: true, inherit: 'base' }, 'default', PAL), { + fg: '#67809c', bg: null, bold: true, italic: false, underline: false, + strike: false, inherit: 'base', height: 1, box: null, source: 'default', + }); +}); + +test('buildPkgmap: Boundary — a face with no default dict still seeds blank', () => { + const m = buildPkgmap({ a: { faces: [['f', 'f']] } }, PAL); + assert.deepEqual(m.a.f, { + fg: null, bg: null, bold: false, italic: false, underline: false, + strike: false, inherit: null, height: 1, box: null, source: 'default', + }); +}); + +test('effResolve: Normal — a face with a value returns it', () => { + const m = { a: { f: { fg: '#67809c', inherit: null } } }; + assert.equal(effResolve(m, 'a', 'f', 'fg'), '#67809c'); +}); + +test('effResolve: Normal — follows the inherit chain when unset', () => { + const m = { a: { + base: { bg: '#0d0b0a', inherit: null }, + mid: { bg: null, inherit: 'base' }, + leaf: { bg: null, inherit: 'mid' }, + } }; + assert.equal(effResolve(m, 'a', 'leaf', 'bg'), '#0d0b0a'); +}); + +test('effResolve: Boundary — unset with no inherit, or a missing face, gives null', () => { + const m = { a: { f: { fg: null, inherit: null } } }; + assert.equal(effResolve(m, 'a', 'f', 'fg'), null); + assert.equal(effResolve(m, 'a', 'nope', 'fg'), null); +}); + +test('effResolve: Error — an inherit cycle terminates at null, no overflow', () => { + const m = { a: { x: { fg: null, inherit: 'y' }, y: { fg: null, inherit: 'x' } } }; + assert.equal(effResolve(m, 'a', 'x', 'fg'), null); +}); + +test('packagesForExport: Normal — exports sourced faces, omits height 1', () => { + const m = { a: { f: { + fg: '#67809c', bg: null, bold: true, italic: false, underline: false, + strike: false, inherit: null, height: 1, source: 'user', + } } }; + const out = packagesForExport(m); + assert.equal(out.a.f.fg, '#67809c'); + assert.equal(out.a.f.source, 'user'); + assert.ok(!('height' in out.a.f), 'height 1 is omitted'); +}); + +test('packagesForExport: Boundary — keeps a non-default height', () => { + const m = { a: { f: { fg: null, bg: null, source: 'user', height: 1.2 } } }; + assert.equal(packagesForExport(m).a.f.height, 1.2); +}); + +test('packagesForExport: Error — faces with an unknown source are skipped', () => { + const m = { a: { f: { fg: '#67809c', source: 'system' } } }; + assert.deepEqual(packagesForExport(m), {}); +}); + +test('mergePackagesInto: Normal — fills missing fields with defaults', () => { + const m = {}; + mergePackagesInto(m, { a: { f: { fg: '#112233' } } }); + assert.deepEqual(m.a.f, { + fg: '#112233', bg: null, bold: false, italic: false, underline: false, + strike: false, inherit: null, height: 1, box: null, source: 'user', + }); +}); + +test('mergePackagesInto: Boundary — undefined pkgs is a no-op', () => { + const m = { a: { f: { fg: '#000000' } } }; + mergePackagesInto(m, undefined); + assert.deepEqual(m, { a: { f: { fg: '#000000' } } }); +}); + +test('slugify: Normal — spaces and punctuation collapse to single dashes', () => { + assert.equal(slugify('My Cool Theme'), 'My-Cool-Theme'); + assert.equal(slugify('dupre revised'), 'dupre-revised'); + assert.equal(slugify('keeps.dots_and-dashes'), 'keeps.dots_and-dashes'); +}); + +test('slugify: Boundary — leading/trailing junk is trimmed', () => { + assert.equal(slugify(' spaced '), 'spaced'); + assert.equal(slugify('!!!edges!!!'), 'edges'); + assert.equal(slugify(''), 'theme'); // empty falls back +}); + +test('slugify: Error — an all-disallowed name falls back to "theme"', () => { + assert.equal(slugify('!!!'), 'theme'); + assert.equal(slugify(' '), 'theme'); +}); + +// Guards the one-source-of-truth contract, same as the colormath integrity test: +// the page must carry app-core.js's body (sans exports) verbatim. Requires +// `python3 generate.py` to have run first. +const stripExports = (s) => + s.split('\n').filter((l) => !(l.startsWith('export') || l.startsWith('import'))).join('\n').replace(/\s+$/, ''); + +test('inline-integrity: theme-studio.html contains the app-core.js body verbatim', () => { + const body = stripExports(readFileSync(here + 'app-core.js', 'utf8')); + const html = readFileSync(here + 'theme-studio.html', 'utf8'); + assert.ok(html.includes(body), 'generated page is missing the app-core.js body verbatim'); +}); + +test('inline-integrity: theme-studio.html contains palette-actions.js verbatim', () => { + const body = stripExports(readFileSync(here + 'palette-actions.js', 'utf8')); + const html = readFileSync(here + 'theme-studio.html', 'utf8'); + assert.ok(html.includes(body), 'generated page is missing palette-actions.js verbatim'); +}); + +test('inline-integrity: theme-studio.html contains browser-gates.js verbatim', () => { + const body = stripExports(readFileSync(here + 'browser-gates.js', 'utf8')); + const html = readFileSync(here + 'theme-studio.html', 'utf8'); + assert.ok(html.includes(body), 'generated page is missing browser-gates.js verbatim'); +}); diff --git a/scripts/theme-studio/test-app-util.mjs b/scripts/theme-studio/test-app-util.mjs new file mode 100644 index 00000000..2cb08e0e --- /dev/null +++ b/scripts/theme-studio/test-app-util.mjs @@ -0,0 +1,70 @@ +// Unit tests for the pure color/UI-boundary helpers (app-util.js). +// Run: node --test scripts/theme-studio/ + +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { readFileSync } from 'node:fs'; +import { fileURLToPath } from 'node:url'; +import { normHex, ratingColor, textOn } from './app-util.js'; + +const here = fileURLToPath(new URL('.', import.meta.url)); + +test('normHex: Normal — adds the #, lowercases, accepts an existing #', () => { + assert.equal(normHex('67809C'), '#67809c'); + assert.equal(normHex('#E8BD30'), '#e8bd30'); + assert.equal(normHex('#67809c'), '#67809c'); +}); + +test('normHex: Boundary — trims surrounding whitespace; empty is null', () => { + assert.equal(normHex(' 67809c '), '#67809c'); + assert.equal(normHex(''), null); + assert.equal(normHex(' '), null); + assert.equal(normHex('abc'), null); // 3-digit shorthand is not accepted +}); + +test('normHex: Error — bad characters and wrong length give null', () => { + assert.equal(normHex('#gggggg'), null); + assert.equal(normHex('#12345'), null); // 5 digits + assert.equal(normHex('#1234567'), null); // 7 digits + assert.equal(normHex('red'), null); +}); + +test('ratingColor: Normal — AAA green, AA grey, fail red', () => { + assert.equal(ratingColor(10), '#5d9b86'); + assert.equal(ratingColor(5), '#a9b2bb'); + assert.equal(ratingColor(2), '#cb6b4d'); +}); + +test('ratingColor: Boundary — the AAA (7) and AA (4.5) thresholds are inclusive', () => { + assert.equal(ratingColor(7), '#5d9b86'); + assert.equal(ratingColor(6.99), '#a9b2bb'); + assert.equal(ratingColor(4.5), '#a9b2bb'); + assert.equal(ratingColor(4.49), '#cb6b4d'); +}); + +test('ratingColor: Error — zero and negative ratios are the fail color', () => { + assert.equal(ratingColor(0), '#cb6b4d'); + assert.equal(ratingColor(-1), '#cb6b4d'); +}); + +test('textOn: Normal — white text on black, black text on white', () => { + assert.equal(textOn('#000000'), '#fff'); + assert.equal(textOn('#ffffff'), '#000'); +}); + +test('textOn: Boundary — straddles the ~0.179 luminance crossover', () => { + assert.equal(textOn('#707070'), '#fff'); // just below the crossover + assert.equal(textOn('#777777'), '#000'); // just above the crossover +}); + +// Inline-integrity: the page must carry app-util.js's body (sans import/export) +// verbatim — the same strip generate.py applies. Requires `python3 generate.py`. +const stripModule = (s) => + s.split('\n').filter((l) => !(l.startsWith('export') || l.startsWith('import'))) + .join('\n').replace(/\s+$/, ''); + +test('inline-integrity: theme-studio.html contains the app-util.js body verbatim', () => { + const body = stripModule(readFileSync(here + 'app-util.js', 'utf8')); + const html = readFileSync(here + 'theme-studio.html', 'utf8'); + assert.ok(html.includes(body), 'generated page is missing the app-util.js body verbatim'); +}); diff --git a/scripts/theme-studio/test-colormath.mjs b/scripts/theme-studio/test-colormath.mjs new file mode 100644 index 00000000..992d35bc --- /dev/null +++ b/scripts/theme-studio/test-colormath.mjs @@ -0,0 +1,272 @@ +// Unit tests for the pure color-math core (colormath.js). +// Run: node --test scripts/theme-studio/ +// Run with coverage: node --test --experimental-test-coverage scripts/theme-studio/ +// +// Fixtures are from the perceptual-color-metrics spec: OKLab via Ottosson's +// reference, APCA via APCA-W3 0.1.9, deltaE via OKLab Euclidean distance. + +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { readFileSync } from 'node:fs'; +import { fileURLToPath } from 'node:url'; +import { + srgb2oklab, oklab2oklch, oklch2oklab, oklch2hex, apca, deltaE, + hex2rgb, rl, contrast, rating, hsv2rgb, rgb2hsv, rgb2hex, + oklab2lrgb, inGamut, lrgb2hex, planeCell, paletteWarnings, + reliefColors, +} from './colormath.js'; + +const close = (a, b, eps = 0.005) => Math.abs(a - b) <= eps; +const here = fileURLToPath(new URL('.', import.meta.url)); +// Same export-strip generate.py applies before inlining (drop `export` lines, rstrip). +const stripExports = (s) => + s.split('\n').filter((l) => !l.startsWith('export')).join('\n').replace(/\s+$/, ''); + +test('srgb2oklab achromatic anchors', () => { + const w = srgb2oklab('#ffffff'); + assert.ok(close(w.L, 1.0), `white L ${w.L}`); + assert.ok(close(w.a, 0) && close(w.b, 0), `white a/b ${w.a},${w.b}`); + const k = srgb2oklab('#000000'); + assert.ok(close(k.L, 0), `black L ${k.L}`); +}); + +test('OKLCH chromatic fixtures (red, dupre-blue)', () => { + const red = oklab2oklch(srgb2oklab('#ff0000')); + assert.ok(close(red.L, 0.628) && close(red.C, 0.258) && close(red.H, 29.2, 1), + `red ${JSON.stringify(red)}`); + const blue = oklab2oklch(srgb2oklab('#67809c')); + assert.ok(close(blue.L, 0.591) && close(blue.C, 0.052) && close(blue.H, 251.6, 1), + `dupre-blue ${JSON.stringify(blue)}`); +}); + +test('round-trip srgb -> oklch -> hex preserves the color', () => { + for (const h of ['#67809c', '#e8bd30', '#9b5fd0', '#5d9b86', '#cb6b4d']) { + const lab = srgb2oklab(h); + const c = oklab2oklch(lab); + const back = srgb2oklab(oklch2hex(c.L, c.C, c.H).hex); + assert.ok(close(lab.L, back.L) && close(lab.a, back.a) && close(lab.b, back.b), + `roundtrip ${h}`); + } +}); + +test('APCA both polarities (pinned black/white fixtures)', () => { + assert.ok(close(apca('#000000', '#ffffff'), 106.0, 0.5), + `dark-on-light ${apca('#000000', '#ffffff')}`); + assert.ok(close(apca('#ffffff', '#000000'), -107.9, 0.5), + `light-on-dark ${apca('#ffffff', '#000000')}`); + // Chromatic fixture: catches rounded-coefficient drift that black/white can't. + // Sign is positive (dark-ish text on a light bg). + assert.ok(apca('#67809c', '#ffffff') > 0, 'chromatic apca sign'); +}); + +test('deltaE-OK identity and ordering against the 0.02 threshold', () => { + assert.equal(deltaE('#67809c', '#67809c'), 0); + assert.ok(deltaE('#000000', '#ffffff') > 0); + const near = deltaE('#67809c', '#69829e'); // barely-different blue + const far = deltaE('#67809c', '#e8bd30'); // blue vs gold + assert.ok(near < 0.02, `near ${near}`); + assert.ok(far > 0.1, `far ${far}`); +}); + +test('gamut clamp preserves L/H, reduces C, flags clamped', () => { + const oog = oklch2hex(0.6, 0.5, 30); // very high chroma -> out of sRGB + assert.equal(oog.clamped, true); + const got = oklab2oklch(srgb2oklab(oog.hex)); + assert.ok(close(got.L, 0.6, 0.02), `L preserved ${got.L}`); + assert.ok(close(got.H, 30, 2), `H preserved ${got.H}`); + assert.ok(got.C < 0.5, `C reduced ${got.C}`); + const ing = oklch2hex(0.591, 0.052, 251.6); // in gamut + assert.equal(ing.clamped, false); +}); + +test('hex2rgb parses channels', () => { + assert.deepEqual(hex2rgb('#000000'), [0, 0, 0]); + assert.deepEqual(hex2rgb('#ffffff'), [255, 255, 255]); + assert.deepEqual(hex2rgb('#67809c'), [0x67, 0x80, 0x9c]); +}); + +test('WCAG relative luminance anchors', () => { + assert.ok(close(rl('#ffffff'), 1.0, 1e-9), `white ${rl('#ffffff')}`); + assert.ok(close(rl('#000000'), 0.0, 1e-9), `black ${rl('#000000')}`); + assert.ok(rl('#ff0000') < rl('#00ff00'), 'green brighter than red'); // 0.2126 vs 0.7152 +}); + +test('WCAG contrast: symmetry, identity, and known extremes', () => { + assert.ok(close(contrast('#000000', '#ffffff'), 21, 1e-6), 'black/white = 21:1'); + assert.equal(contrast('#67809c', '#67809c'), 1); // identical colors + assert.ok(close(contrast('#0d0b0a', '#67809c'), contrast('#67809c', '#0d0b0a'), 1e-12), + 'order-independent'); + // dupre keyword-blue on ground, a real palette pair (sanity, not a hand-typed number). + assert.ok(contrast('#67809c', '#0d0b0a') > 4.5, 'dupre blue clears AA on ground'); +}); + +test('rating bands at the AA/AAA boundaries', () => { + assert.equal(rating(7.0), 'AAA'); + assert.equal(rating(6.99), 'AA'); + assert.equal(rating(4.5), 'AA'); + assert.equal(rating(4.49), 'FAIL'); + assert.equal(rating(0), 'FAIL'); +}); + +test('hsv2rgb primaries and achromatic edges', () => { + assert.deepEqual(hsv2rgb(0, 1, 1), [255, 0, 0]); + assert.deepEqual(hsv2rgb(120, 1, 1), [0, 255, 0]); + assert.deepEqual(hsv2rgb(240, 1, 1), [0, 0, 255]); + assert.deepEqual(hsv2rgb(0, 0, 1), [255, 255, 255]); // s=0 -> grey (white) + assert.deepEqual(hsv2rgb(0, 0, 0), [0, 0, 0]); // v=0 -> black + assert.deepEqual(hsv2rgb(360, 1, 1), [255, 0, 0]); // hue wraps +}); + +test('rgb2hsv inverts hsv2rgb (saturation/value), hue for chromatic inputs', () => { + assert.deepEqual(rgb2hsv(255, 0, 0), [0, 1, 1]); + assert.deepEqual(rgb2hsv(0, 0, 0), [0, 0, 0]); // black: h and s undefined -> 0 + const [h, s, v] = rgb2hsv(0, 255, 0); + assert.ok(close(h, 120, 1e-9) && s === 1 && v === 1, `green hsv ${h},${s},${v}`); +}); + +test('hsv <-> rgb round-trip property over random colors', () => { + let seed = 1234567; // deterministic LCG: no Math.random, repeatable failures + const rnd = () => (seed = (seed * 1103515245 + 12345) & 0x7fffffff) / 0x7fffffff; + for (let i = 0; i < 500; i++) { + const rgb = [Math.floor(rnd() * 256), Math.floor(rnd() * 256), Math.floor(rnd() * 256)]; + const [h, s, v] = rgb2hsv(...rgb); + assert.deepEqual(hsv2rgb(h, s, v), rgb, `round-trip ${rgb}`); + } +}); + +test('rgb2hex formats and clamps out-of-range channels', () => { + assert.equal(rgb2hex(0, 0, 0), '#000000'); + assert.equal(rgb2hex(255, 255, 255), '#ffffff'); + assert.equal(rgb2hex(0x67, 0x80, 0x9c), '#67809c'); + assert.equal(rgb2hex(-5, 300, 128), '#00ff80'); // clamps below 0 and above 255 +}); + +test('oklab2lrgb / lrgb2hex round-trip through known sRGB colors', () => { + for (const h of ['#000000', '#ffffff', '#67809c', '#e8bd30']) { + const lab = srgb2oklab(h); + assert.equal(lrgb2hex(oklab2lrgb(lab.L, lab.a, lab.b)), h, `round-trip ${h}`); + } +}); + +test('inGamut flags reachable vs unreachable OKLCH (forward-only gamut test)', () => { + // dupre-blue is a real sRGB color -> in gamut. + const ok = oklch2oklab(0.591, 0.052, 251.6); + assert.equal(inGamut(oklab2lrgb(ok.L, ok.a, ok.b)), true, 'reachable'); + // very high chroma at mid lightness -> outside sRGB. + const bad = oklch2oklab(0.7, 0.4, 140); + assert.equal(inGamut(oklab2lrgb(bad.L, bad.a, bad.b)), false, 'unreachable'); + // the in-gamut verdict must agree with oklch2hex's clamped flag (the plane and + // the commit path share one gamut boundary). + assert.equal(inGamut(oklab2lrgb(ok.L, ok.a, ok.b)), !oklch2hex(0.591, 0.052, 251.6).clamped); + assert.equal(inGamut(oklab2lrgb(bad.L, bad.a, bad.b)), !oklch2hex(0.7, 0.4, 140).clamped); +}); + +test('planeCell: reachable cell returns its exact hex, agrees with oklch2hex', () => { + // Normal: a low-chroma blue is reachable; the hex matches the commit path. + const cell = planeCell(0.591, 0.052, 251.6); + assert.equal(cell.inGamut, true); + assert.equal(cell.hex, oklch2hex(0.591, 0.052, 251.6).hex); +}); + +test('planeCell: C=0 is the achromatic grey for its lightness', () => { + // Boundary: zero chroma -> a neutral grey, always in gamut, hue irrelevant. + const a = planeCell(0.5, 0, 0), b = planeCell(0.5, 0, 251.6); + assert.equal(a.inGamut, true); + assert.equal(a.hex, b.hex, 'hue must not matter at C=0'); + assert.equal(a.hex[1], a.hex[3]); // r==g==b nibble: grey +}); + +test('planeCell: out-of-gamut chroma is flagged, no hex', () => { + // Error/boundary: chroma past sRGB at this L/H. + const cell = planeCell(0.7, 0.4, 140); + assert.equal(cell.inGamut, false); + assert.equal(cell.hex, null); + assert.equal(cell.inGamut, !oklch2hex(0.7, 0.4, 140).clamped); // shares the boundary +}); + +test('paletteWarnings: a near-identical pair warns, named, with its ΔE', () => { + const { warnings, overflow, nearest } = paletteWarnings( + [['#0d0b0a', 'ground'], ['#cdced1', 'fg'], ['#67809c', 'blue'], ['#69829e', 'blue2']]); + assert.equal(warnings.length, 1); + assert.equal(overflow, 0); + const w = warnings[0]; + assert.deepEqual([w.aName, w.bName], ['blue', 'blue2']); + assert.ok(w.dE > 0 && w.dE < 0.02, `dE ${w.dE}`); + assert.equal(nearest.length, 4); + assert.ok(nearest[2] < 0.02 && nearest[3] < 0.02, 'blue/blue2 are each other’s nearest'); +}); + +test('paletteWarnings: a well-spread palette warns about nothing', () => { + const { warnings, overflow } = paletteWarnings( + [['#0d0b0a', 'ground'], ['#cdced1', 'fg'], ['#67809c', 'blue'], ['#e8bd30', 'gold'], ['#cb6b4d', 'terra']]); + assert.equal(warnings.length, 0); + assert.equal(overflow, 0); +}); + +test('paletteWarnings: boundary cases — empty, single, identical', () => { + assert.deepEqual(paletteWarnings([]), { warnings: [], overflow: 0, nearest: [] }); + const one = paletteWarnings([['#67809c', 'blue']]); + assert.deepEqual(one.warnings, []); + assert.deepEqual(one.nearest, [Infinity]); // no neighbor + const dup = paletteWarnings([['#67809c', 'a'], ['#67809c', 'b']]); + assert.equal(dup.warnings.length, 1); + assert.equal(dup.warnings[0].dE, 0); // identical colors -> ΔE 0 +}); + +test('paletteWarnings: closest-first ordering and cap with overflow', () => { + // Seven near-identical colors -> C(7,2)=21 sub-threshold pairs. + const pal = [['#0d0b0a', 'ground'], ['#cdced1', 'fg']]; + for (let k = 0; k < 7; k++) pal.push(['#' + (0x67 + k).toString(16).padStart(2, '0') + '809c', 'c' + k]); + const { warnings, overflow } = paletteWarnings(pal, 0.02, 5); + assert.equal(warnings.length, 5, 'capped at 5'); + assert.equal(overflow, 16, '21 pairs - 5 shown'); + for (let i = 1; i < warnings.length; i++) + assert.ok(warnings[i].dE >= warnings[i - 1].dE, 'ascending by ΔE'); +}); + +test('paletteWarnings: threshold is inclusive-exclusive at the boundary', () => { + // A custom threshold lets a pair fall just inside or just outside. + const pal = [['#67809c', 'a'], ['#69829e', 'b']]; // dE ~0.0067 + assert.equal(paletteWarnings(pal, 0.0067).warnings.length, 0, 'd < threshold is strict'); + assert.equal(paletteWarnings(pal, 0.007).warnings.length, 1, 'just above the pair distance'); +}); + +// Fixtures hand-computed from Emacs 30's xterm.c x_alloc_lighter_color +// (factor 1.2 / delta 0x8000 highlight, 0.6 / 0x4000 shadow, dark boost +// below brightness 48000/65535, same-color fallback adds delta). +test('reliefColors: dark mode-line bg gets the dark boost (Normal)', () => { + const { hl, sh } = reliefColors('#30343c'); + assert.equal(hl, '#71767f'); + assert.equal(sh, '#0f1116'); +}); + +test('reliefColors: grey75 brightness is above the boost limit (Normal)', () => { + const { hl, sh } = reliefColors('#bfbfbf'); + assert.equal(hl, '#e5e5e5'); // 1.2x only, no additive boost + assert.equal(sh, '#737373'); // 0.6x only +}); + +test('reliefColors: pure black hits the same-color fallback for the shadow (Boundary)', () => { + const { hl, sh } = reliefColors('#000000'); + assert.equal(hl, '#4d4d4d'); // boost lifts the highlight off black + assert.equal(sh, '#404040'); // 0.6x + boost still black -> fallback adds delta +}); + +test('reliefColors: pure white highlight saturates, shadow scales (Boundary)', () => { + const { hl, sh } = reliefColors('#ffffff'); + assert.equal(hl, '#ffffff'); // clamped, fallback also clamps to white + assert.equal(sh, '#999999'); +}); + +test('reliefColors: malformed hex returns null pair (Error)', () => { + assert.deepEqual(reliefColors('nonsense'), { hl: null, sh: null }); +}); + +// Guards the one-source-of-truth contract: the page must carry colormath.js's +// body (sans exports) verbatim, so the inlined copy and the tested module cannot +// drift. Requires `python3 generate.py` to have run first. +test('inline-integrity: theme-studio.html contains the colormath.js body verbatim', () => { + const body = stripExports(readFileSync(here + 'colormath.js', 'utf8')); + const html = readFileSync(here + 'theme-studio.html', 'utf8'); + assert.ok(html.includes(body), 'generated page is missing the colormath.js body verbatim'); +}); diff --git a/scripts/theme-studio/test-columns.mjs b/scripts/theme-studio/test-columns.mjs new file mode 100644 index 00000000..13986036 --- /dev/null +++ b/scripts/theme-studio/test-columns.mjs @@ -0,0 +1,198 @@ +// Unit tests for the color-column model (app-core.js): grouping a flat palette +// into stable structural columns, regenerating a column's ramp, ranking members +// by lightness, and planning assignment re-point across a regenerate. Pure, no +// DOM. Run: node --test scripts/theme-studio/ + +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { columnsFromPalette, regenColumn, groundRoleOfEntry, rankByLightness, stepRepointPlan, sortColumns } from './app-core.js'; + +const columnOf = (columns, name) => columns.find(f => f.members.some(m => m.name === name)); + +// --- columnsFromPalette ---------------------------------------------------- + +test('columnsFromPalette: Normal - generated names group by column stem', () => { + const pal = [['#223344', 'blue-1'], ['#67809c', 'blue'], ['#b2c3cc', 'blue+1']]; + const { ground, columns } = columnsFromPalette(pal, { bg: '#000000', fg: '#ffffff' }); + assert.equal(ground.length, 2, 'ground strip carries bg and fg'); + assert.equal(columns.length, 1); + assert.deepEqual(columns[0].members.map(m => m.name), ['blue-1', 'blue', 'blue+1']); +}); + +test('columnsFromPalette: Normal - different stems stay in different columns even with similar colors', () => { + const pal = [['#67809c', 'blue'], ['#6a829e', 'steel']]; + const { columns } = columnsFromPalette(pal, { bg: '#000000', fg: '#ffffff' }); + assert.equal(columns.length, 2); + assert.notEqual(columnOf(columns, 'blue'), columnOf(columns, 'steel')); +}); + +test('columnsFromPalette: Boundary - a stable third-field column id survives rename', () => { + const pal = [['#223344', 'blue-1', 'blue'], ['#67809c', 'renamed-base', 'blue'], ['#b2c3cc', 'wild-card', 'blue']]; + const { columns } = columnsFromPalette(pal, { bg: '#000000', fg: '#ffffff' }); + assert.equal(columns.length, 1); + assert.equal(columns[0].column, 'blue'); + assert.deepEqual(columns[0].members.map(m => m.name), ['blue-1', 'renamed-base', 'wild-card']); +}); + +test('columnsFromPalette: Boundary - legacy two-field entries fall back to name stem', () => { + const pal = [['#875f00', 'yellow-1'], ['#d7af5f', 'yellow'], ['#646d14', 'green-1'], ['#a4ac64', 'green']]; + const { columns } = columnsFromPalette(pal, { bg: '#000000', fg: '#ffffff' }); + assert.equal(columns.length, 2); + assert.ok(columnOf(columns, 'yellow')); + assert.ok(columnOf(columns, 'green')); +}); + +test('columnsFromPalette: Boundary - legacy color-N entries become separate base columns', () => { + const pal = [['#111111', 'color-22'], ['#222222', 'color-23'], ['#333333', 'color-129']]; + const { columns } = columnsFromPalette(pal, { bg: '#000000', fg: '#ffffff' }); + assert.deepEqual(columns.map(f => f.column), ['color-22', 'color-23', 'color-129']); + assert.deepEqual(columns.map(f => f.members.map(m => m.name)), [['color-22'], ['color-23'], ['color-129']]); +}); + +test('columnsFromPalette: Boundary - explicit color-N column ids are preserved', () => { + const pal = [['#111111', 'color-22', 'captured'], ['#222222', 'color-23', 'captured']]; + const { columns } = columnsFromPalette(pal, { bg: '#000000', fg: '#ffffff' }); + assert.equal(columns.length, 1); + assert.equal(columns[0].column, 'captured'); + assert.deepEqual(columns[0].members.map(m => m.name), ['color-22', 'color-23']); +}); + +test('columnsFromPalette: Boundary - external numeric color names group by text stem', () => { + const pal = [['#0000ee', 'blue1'], ['#0000cd', 'blue2'], ['#bebebe', 'grey80'], ['#c0c0c0', 'grey81'], ['#cd69c9', 'orchid3']]; + const { columns } = columnsFromPalette(pal, { bg: '#000000', fg: '#ffffff' }); + assert.deepEqual(columns.map(f => f.column), ['blue', 'grey', 'orchid']); + assert.deepEqual(columnOf(columns, 'blue1').members.map(m => m.name), ['blue1', 'blue2']); + assert.deepEqual(columnOf(columns, 'grey80').members.map(m => m.name), ['grey80', 'grey81']); +}); + +test('columnsFromPalette: Normal - palette order controls column order', () => { + const pal = [['#67809c', 'blue'], ['#e8bd30', 'gold'], ['#5d9b86', 'green']]; + const { columns } = columnsFromPalette(pal, { bg: '#000000', fg: '#ffffff' }); + assert.deepEqual(columns.map(f => f.members[0].name), ['blue', 'gold', 'green']); +}); + +test('columnsFromPalette: Boundary - ground hex absent from the palette still forms the strip', () => { + const pal = [['#67809c', 'blue']]; + const { ground } = columnsFromPalette(pal, { bg: '#0d0b0a', fg: '#f0fef0' }); + assert.equal(ground.length, 2); + assert.ok(ground.some(g => g.hex.toLowerCase() === '#0d0b0a' && g.role === 'bg')); + assert.ok(ground.some(g => g.role === 'fg')); +}); + +test('columnsFromPalette: Boundary - ground entries and ground+N steps stay out of normal columns', () => { + const pal = [['#0d0b0a', 'bg', 'ground'], ['#444444', 'ground+1', 'ground'], ['#67809c', 'blue']]; + const { ground, columns } = columnsFromPalette(pal, { bg: '#0d0b0a', fg: '#f0fef0' }); + assert.ok(ground.some(g => g.hex.toLowerCase() === '#0d0b0a')); + assert.ok(!columns.some(f => f.members.some(m => m.name === 'bg' || m.name === 'ground+1'))); +}); + +test('columnsFromPalette: Boundary - imported bg-like names are not ground just because their hex matches bg', () => { + const pal = [['#0d0b0a', 'bg2'], ['#0d0b0a', 'bg-alt'], ['#0d0b0a', 'bg', 'ground'], ['#f0fef0', 'fg', 'ground']]; + const { ground, columns } = columnsFromPalette(pal, { bg: '#0d0b0a', fg: '#f0fef0' }); + assert.deepEqual(ground.map(g => [g.role, g.name]), [['bg', 'bg'], ['fg', 'fg']]); + assert.ok(columnOf(columns, 'bg2'), 'bg2 remains in a normal imported color column'); + assert.ok(columnOf(columns, 'bg-alt'), 'bg-alt remains in a normal imported color column'); + assert.deepEqual(columns.map(f => f.column), ['bg2', 'bg-alt']); +}); + +test('columnsFromPalette: Boundary - bg and fg prefixed legacy names are independent bases, not generated steps', () => { + const pal = [['#101010', 'bg-1'], ['#202020', 'bg-2'], ['#eeeeee', 'fg-1'], ['#dddddd', 'fg-alt']]; + const { columns } = columnsFromPalette(pal, { bg: '#000000', fg: '#ffffff' }); + assert.deepEqual(columns.map(f => f.column), ['bg-1', 'bg-2', 'fg-1', 'fg-alt']); + assert.deepEqual(columns.map(f => f.members.map(m => m.name)), [['bg-1'], ['bg-2'], ['fg-1'], ['fg-alt']]); +}); + +test('groundRoleOfEntry: Boundary - exact ground roles only, not bg-prefix names', () => { + const ground = { bg: '#0d0b0a', fg: '#f0fef0' }; + assert.equal(groundRoleOfEntry(['#0d0b0a', 'bg'], ground), 'bg'); + assert.equal(groundRoleOfEntry(['#0d0b0a', 'ground'], ground), 'bg'); + assert.equal(groundRoleOfEntry(['#0d0b0a', 'bg2'], ground), null); + assert.equal(groundRoleOfEntry(['#0d0b0a', 'bg-alt'], ground), null); + assert.equal(groundRoleOfEntry(['#444444', 'ground+1'], ground), 'step'); + assert.equal(groundRoleOfEntry(['#555555', 'ground-1'], ground), 'step'); +}); + +// --- regenColumn ------------------------------------------------------------ + +test('regenColumn: Normal - n steps each side plus the base, ordered by offset', () => { + const r = regenColumn('#67809c', 2); + assert.equal(r.members.length, 5); + assert.deepEqual(r.members.map(m => m.offset), [-2, -1, 0, 1, 2]); + assert.equal(r.members.find(m => m.offset === 0).hex, '#67809c'); +}); + +test('regenColumn: Boundary - n=0 is the base alone', () => { + const r = regenColumn('#67809c', 0); + assert.deepEqual(r.members, [{ hex: '#67809c', offset: 0, clamped: false }]); +}); + +test('regenColumn: Boundary - span count is capped at eight per side', () => { + const r = regenColumn('#67809c', 10); + assert.equal(r.members.length, 17); + assert.deepEqual(r.members.map(m => m.offset), [-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8]); +}); + +test('regenColumn: Error - a malformed base returns a structured bad-hex', () => { + assert.deepEqual(regenColumn('nope', 2), { members: [], error: 'bad-hex' }); +}); + +test('regenColumn: Boundary - generated pure white and black endpoint steps are skipped', () => { + assert.ok(!regenColumn('#fefefe', 8).members.some(m => m.offset !== 0 && m.hex === '#ffffff')); + assert.ok(!regenColumn('#010101', 8).members.some(m => m.offset !== 0 && m.hex === '#000000')); +}); + +test('regenColumn: Normal - changing span count redistributes steps between endpoint and base', () => { + const one = regenColumn('#67809c', 1).members.find(m => m.offset === 1).hex; + const two = regenColumn('#67809c', 2).members.find(m => m.offset === 1).hex; + assert.notEqual(one, two); +}); + +// --- rankByLightness -------------------------------------------------------- + +test('rankByLightness: Normal - offsets are signed distance from the base by lightness', () => { + const members = regenColumn('#67809c', 2).members.map(m => m.hex); + const ranked = rankByLightness(members, '#67809c'); + const base = ranked.find(m => m.hex === '#67809c'); + assert.equal(base.offset, 0); + const sorted = [...ranked].sort((a, b) => a.offset - b.offset); + assert.deepEqual(sorted.map(m => m.offset), [-2, -1, 0, 1, 2]); +}); + +test('rankByLightness: Boundary - a base not among the members ranks by nearest lightness', () => { + const members = ['#222222', '#888888', '#dddddd']; + const ranked = rankByLightness(members, '#8a8a8a'); + const mid = ranked.find(m => m.hex === '#888888'); + assert.equal(mid.offset, 0, 'nearest-lightness member is the base rank'); +}); + +// --- stepRepointPlan -------------------------------------------------------- + +test('stepRepointPlan: Normal - surviving offsets map old->new, changed hex only', () => { + const oldR = [{ hex: '#111111', offset: -1 }, { hex: '#222222', offset: 0 }, { hex: '#333333', offset: 1 }]; + const neu = [{ hex: '#111111', offset: -1 }, { hex: '#aaaaaa', offset: 0 }, { hex: '#444444', offset: 1 }]; + const { map, removed } = stepRepointPlan(oldR, neu); + assert.deepEqual(removed, []); + assert.deepEqual(map, [['#222222', '#aaaaaa'], ['#333333', '#444444']]); +}); + +test('stepRepointPlan: Boundary - an offset with no new counterpart is removed, not repointed', () => { + const oldR = [{ hex: '#000033', offset: -3 }, { hex: '#222222', offset: 0 }]; + const neu = [{ hex: '#222222', offset: 0 }]; + const { map, removed } = stepRepointPlan(oldR, neu); + assert.deepEqual(map, []); + assert.deepEqual(removed, ['#000033']); +}); + +// --- sortColumns ----------------------------------------------------------- + +const column = (label, members) => ({ base: members[0], column: label, members: members.map((h, i) => ({ hex: h, name: label + i })) }); + +test('sortColumns: Normal - preserves first-seen column order', () => { + const columns = [column('blue', ['#67809c']), column('gold', ['#e8bd30']), column('green', ['#5d9b86'])]; + assert.deepEqual(sortColumns(columns).map(f => f.column), ['blue', 'gold', 'green']); +}); + +test('sortColumns: Normal - preserves member order inside a column', () => { + const members = ['#dddddd', '#222222', '#888888']; + assert.deepEqual(sortColumns([column('gray', members)])[0].members.map(m => m.hex), members); +}); diff --git a/scripts/theme-studio/test-contrast.mjs b/scripts/theme-studio/test-contrast.mjs new file mode 100644 index 00000000..9baf5bcc --- /dev/null +++ b/scripts/theme-studio/test-contrast.mjs @@ -0,0 +1,111 @@ +// Unit tests for the background-contrast safety core (app-core.js): fgSetFor, +// floor, and lMax. Phase 3 of the palette-ramps spec. A background overlay sits +// behind many foregrounds at once, so its real constraint is the worst-case +// (minimum) contrast over that foreground set, and the lightest background that +// keeps the floor above the target. Pure, no DOM. Run: node --test scripts/theme-studio/ + +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { fgSetFor, floor, lMax, COVERED_FACES } from './app-core.js'; +import { contrast, oklch2hex } from './colormath.js'; + +const DEFAULT_FG = '#f0fef0'; +const stateWith = (syntaxAssignments) => ({ covered: COVERED_FACES, syntaxAssignments, defaultFg: DEFAULT_FG }); + +// --- fgSetFor --------------------------------------------------------------- + +test('fgSetFor: Normal — covered face gets default fg plus the distinct syntax colors', () => { + const r = fgSetFor('region', stateWith([ + { role: 'keyword', hex: '#67809c' }, + { role: 'string', hex: '#a3b18a' }, + ])); + assert.equal(r.reason, undefined); + assert.equal(r.set.length, 3); // default + 2 syntax + const hexes = r.set.map(e => e.hex); + assert.ok(hexes.includes('#f0fef0') && hexes.includes('#67809c') && hexes.includes('#a3b18a')); + assert.equal(r.set.find(e => e.hex === '#67809c').label, 'keyword'); + assert.equal(r.set.find(e => e.hex === '#f0fef0').label, 'default'); +}); + +test('fgSetFor: Boundary — a syntax hex equal to the default collapses, role label wins', () => { + const r = fgSetFor('region', { covered: COVERED_FACES, syntaxAssignments: [{ role: 'keyword', hex: '#f0fef0' }], defaultFg: '#f0fef0' }); + assert.equal(r.set.length, 1); + assert.equal(r.set[0].label, 'keyword'); // role preferred over 'default' +}); + +test('fgSetFor: Boundary — null/blank syntax hexes are dropped', () => { + const r = fgSetFor('isearch', stateWith([{ role: 'a', hex: null }, { role: 'b', hex: '#112233' }])); + assert.equal(r.set.length, 2); // default + the one real hex + assert.ok(r.set.some(e => e.hex === '#112233')); +}); + +test('fgSetFor: Error — a face outside the covered set is out-of-scope', () => { + const r = fgSetFor('mode-line', stateWith([{ role: 'keyword', hex: '#67809c' }])); + assert.deepEqual(r, { set: [], reason: 'out-of-scope' }); +}); + +test('fgSetFor: Error — a covered face with no syntax assignments is empty', () => { + const r = fgSetFor('hl-line', stateWith([])); + assert.deepEqual(r, { set: [], reason: 'empty' }); +}); + +test('fgSetFor: Normal — every covered face is in scope', () => { + for (const f of COVERED_FACES) { + const r = fgSetFor(f, stateWith([{ role: 'kw', hex: '#67809c' }])); + assert.equal(r.reason, undefined, `${f} should be covered`); + } +}); + +// --- floor ------------------------------------------------------------------ + +test('floor: Normal — the keyword-blue worst case sets the floor and is named', () => { + // sterling's keyword blue is the darkest foreground; against a lifted highlight + // background it is the limiting color while the light default still clears. + const fgSet = [{ hex: '#f0fef0', label: 'default' }, { hex: '#67809c', label: 'keyword' }]; + const bg = '#202830'; + const r = floor(bg, fgSet); + assert.equal(r.limitingHex, '#67809c'); + assert.equal(r.limitingLabel, 'keyword'); + assert.ok(Math.abs(r.ratio - contrast('#67809c', bg)) < 1e-9); + assert.ok(r.ratio < contrast('#f0fef0', bg), 'the floor is below the default-fg contrast'); +}); + +test('floor: Boundary — a single-entry set makes that entry the limit', () => { + const r = floor('#000000', [{ hex: '#67809c', label: 'keyword' }]); + assert.equal(r.limitingHex, '#67809c'); + assert.ok(Math.abs(r.ratio - contrast('#67809c', '#000000')) < 1e-9); +}); + +test('floor: Error — an empty set returns nulls, not a bogus ratio', () => { + assert.deepEqual(floor('#000000', []), { ratio: null, limitingHex: null, limitingLabel: null }); +}); + +// --- lMax ------------------------------------------------------------------- + +const F = (L, chroma, hue, fgSet) => floor(oklch2hex(L, chroma, hue).hex, fgSet).ratio; + +test('lMax: Normal — finds the lightest safe background; the floor brackets the target', () => { + const fgSet = [{ hex: '#f0fef0', label: 'default' }, { hex: '#67809c', label: 'keyword' }]; + const r = lMax(0, 0, fgSet, 4.5); + assert.equal(r.status, 'ok'); + assert.ok(r.L > 0 && r.L < 1); + assert.ok(F(r.L, 0, 0, fgSet) >= 4.5 - 0.05, 'floor at L_max clears the target'); + assert.ok(F(Math.min(1, r.L + 0.05), 0, 0, fgSet) < 4.5, 'just above L_max the floor fails'); +}); + +test('lMax: Boundary — no L satisfies the target when a foreground is too dark', () => { + const r = lMax(0, 0, [{ hex: '#1a1a1a', label: 'dim' }], 4.5); + assert.equal(r.status, 'none'); // even pure-black background can't lift #1a1a1a to AA +}); + +test('lMax: Boundary — an empty foreground set is vacuously safe everywhere', () => { + const r = lMax(0, 0, [], 4.5); + assert.deepEqual(r, { L: 1, status: 'all' }); +}); + +test('lMax: Boundary — requesting an unreachable chroma at the ceiling reports clamp', () => { + const fgSet = [{ hex: '#f0fef0', label: 'default' }, { hex: '#67809c', label: 'keyword' }]; + const r = lMax(250, 0.3, fgSet, 4.5); // 0.3 chroma is out of gamut at the dark ceiling + assert.equal(r.status, 'clamp'); + assert.ok(r.L > 0 && r.L < 1); +}); diff --git a/scripts/theme-studio/test-ramp.mjs b/scripts/theme-studio/test-ramp.mjs new file mode 100644 index 00000000..0c447ff4 --- /dev/null +++ b/scripts/theme-studio/test-ramp.mjs @@ -0,0 +1,105 @@ +// Unit tests for the ramp generator (app-core.js `ramp`). Phase 1 of the +// palette-ramps spec: one base color -> a harmonized tonal ramp by stepping +// OKLCH lightness on a held hue, easing chroma toward the extremes, and +// gamut-clamping each step. Pure, no DOM. Run: node --test scripts/theme-studio/ + +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { ramp } from './app-core.js'; +import { srgb2oklab, oklab2oklch, rl } from './colormath.js'; + +const HEXRE = /^#[0-9a-f]{6}$/; +const baseLCH = (hex) => oklab2oklch(srgb2oklab(hex)); + +test('ramp: Normal — default opts give 2n steps, darkest-to-lightest, base excluded', () => { + const r = ramp('#67809c'); // mid blue + assert.deepEqual(r.adjusted, []); + assert.equal(r.steps.length, 4); // n=2 -> -2,-1,+1,+2 + assert.deepEqual(r.steps.map(s => s.offset), [-2, -1, 1, 2]); + for (const s of r.steps) assert.match(s.hex, HEXRE, `${s.hex} is a 6-digit hex`); + // Lightness rises monotonically across the ordered steps. + const ls = r.steps.map(s => rl(s.hex)); + for (let i = 1; i < ls.length; i++) assert.ok(ls[i] > ls[i - 1], 'each step lighter than the last'); + // Base sits between -1 and +1 in lightness. + const baseL = rl('#67809c'); + assert.ok(rl(r.steps[1].hex) < baseL && baseL < rl(r.steps[2].hex), 'base brackets the inner steps'); +}); + +test('ramp: Normal — holds the hue across in-gamut steps', () => { + const base = '#67809c'; + const H0 = baseLCH(base).H; + // chromaEase 0 keeps chroma up so the recovered hue is well-defined (near-gray + // steps have an ill-defined hue that 8-bit quantization can swing). + const r = ramp(base, { chromaEase: 0 }); + for (const s of r.steps) { + if (s.clamped) continue; // a clamped step may drift hue; only assert on clean ones + const dH = Math.abs(baseLCH(s.hex).H - H0); + assert.ok(Math.min(dH, 360 - dH) < 3.0, `step ${s.offset} holds hue (${dH.toFixed(2)} deg off)`); + } +}); + +test('ramp: Normal — chroma eases toward the extremes (outer step less chromatic than inner)', () => { + const base = '#67809c'; + const r = ramp(base, { n: 2, chromaEase: 0.8 }); + const inner = baseLCH(r.steps[1].hex).C; // offset -1 + const outer = baseLCH(r.steps[0].hex).C; // offset -2 + assert.ok(outer < inner, 'the farther step carries less chroma'); +}); + +test('ramp: Normal — chromaEase 0 holds chroma flat', () => { + const base = '#67809c'; + const C0 = baseLCH(base).C; + const r = ramp(base, { n: 1, stepL: 0.06, chromaEase: 0 }); + for (const s of r.steps) { + if (s.clamped) continue; + assert.ok(Math.abs(baseLCH(s.hex).C - C0) < 0.01, 'chroma held within tolerance'); + } +}); + +test('ramp: Boundary — near-white base clamps the lighter steps at L=1', () => { + const r = ramp('#f6f6f6', { n: 2, stepL: 0.08 }); + assert.equal(r.steps.length, 4); + const lightest = r.steps[r.steps.length - 1]; + assert.match(lightest.hex, HEXRE); + assert.ok(rl(lightest.hex) > 0.9, 'lightest step is near white'); +}); + +test('ramp: Boundary — near-black base clamps the darker steps at L=0', () => { + const r = ramp('#0b0b0b', { n: 2, stepL: 0.08 }); + assert.equal(r.steps.length, 4); + const darkest = r.steps[0]; + assert.match(darkest.hex, HEXRE); + assert.ok(rl(darkest.hex) < 0.05, 'darkest step is near black'); +}); + +test('ramp: Boundary — n clamps to [1,4] and reports the adjustment', () => { + const lo = ramp('#67809c', { n: 0 }); + assert.equal(lo.steps.length, 2); // clamped to n=1 + assert.ok(lo.adjusted.includes('n')); + const hi = ramp('#67809c', { n: 9 }); + assert.equal(hi.steps.length, 8); // clamped to n=4 + assert.ok(hi.adjusted.includes('n')); + const frac = ramp('#67809c', { n: 2.7 }); + assert.equal(frac.steps.length, 6); // rounded to 3, in range, still flagged as adjusted + assert.ok(frac.adjusted.includes('n')); +}); + +test('ramp: Boundary — stepL and chromaEase clamp to range and report', () => { + const r = ramp('#67809c', { stepL: 0.5, chromaEase: 2 }); + assert.ok(r.adjusted.includes('stepL')); + assert.ok(r.adjusted.includes('chromaEase')); + assert.equal(r.steps.length, 4); +}); + +test('ramp: Error — malformed hex returns a structured bad-hex, not a throw', () => { + for (const bad of ['nope', '#xyz', '#12', '12345g', null, undefined, '']) { + const r = ramp(bad); + assert.deepEqual(r, { steps: [], error: 'bad-hex' }, `${String(bad)} -> bad-hex`); + } +}); + +test('ramp: Boundary — a six-digit hex without the leading # is accepted', () => { + const r = ramp('67809c'); + assert.equal(r.steps.length, 4); + assert.ok(!r.error); +}); diff --git a/scripts/theme-studio/test_generate.py b/scripts/theme-studio/test_generate.py new file mode 100644 index 00000000..a4a5f2bf --- /dev/null +++ b/scripts/theme-studio/test_generate.py @@ -0,0 +1,379 @@ +"""Tests for the theme-studio page generator (generate.py). + +The generator's risky logic is the export-strip and the placeholder substitution +that inline colormath.js and the sample/palette data into the page. A bug there +ships a broken theme-studio.html that the JS unit tests can't see. These tests +exercise the strip in isolation and assert the assembled page has every +placeholder filled and carries the colormath body verbatim. + +Run: python3 -m unittest test_generate (from scripts/theme-studio/) +""" +import os +import unittest +from collections import Counter, defaultdict + +import generate # importable without side effects: the file write is __main__-guarded +from app_inventory import face_rows +from default_faces import DefaultFaces, changed_summary +from face_specs import package_face_spec, ui_face_spec + + +class StripExports(unittest.TestCase): + def test_removes_the_export_line_keeps_the_body(self): + src = "function f(){return 1;}\nexport { f };" + self.assertEqual(generate.strip_exports(src), "function f(){return 1;}") + + def test_preserves_multiline_body_and_rstrips_trailing_blanks(self): + src = "const a=1;\nconst b=2;\nexport { a, b };\n\n" + self.assertEqual(generate.strip_exports(src), "const a=1;\nconst b=2;") + + def test_no_export_line_returns_body_rstripped(self): + self.assertEqual(generate.strip_exports("let x=1;\n"), "let x=1;") + + def test_removes_every_export_line_not_just_the_last(self): + src = "export const a=1;\ncode();\nexport { a };" + self.assertEqual(generate.strip_exports(src), "code();") + + def test_removes_import_lines_too(self): + # A pure module may import a peer for its own tests; the import must be + # stripped on inline (the peer is already in the page). + src = "import { rl } from './colormath.js';\nfunction f(){return rl();}" + self.assertEqual(generate.strip_exports(src), "function f(){return rl();}") + + def test_matches_the_js_side_strip_so_integrity_holds(self): + # test-colormath.mjs strips with the same rule: drop lines starting with + # 'export', then trim trailing whitespace. Keep the two in lockstep. + src = "x();\nexport { x };\n" + js_equivalent = "\n".join( + l for l in src.split("\n") if not l.startswith("export") + ).rstrip() + self.assertEqual(generate.strip_exports(src), js_equivalent) + + +class ColormathInlining(unittest.TestCase): + def setUp(self): + self.cm_src = open(os.path.join(generate.HERE, "colormath.js")).read() + + def test_colormath_export_is_a_single_line(self): + # The strip is line-based, so a multi-line `export { ... }` would leave the + # continuation lines behind as a dangling block (a real bug this caught). + export_lines = [l for l in self.cm_src.splitlines() if l.startswith("export")] + self.assertEqual(len(export_lines), 1, "colormath.js must have one export line") + + def test_stripped_body_has_no_export_line_and_ends_cleanly(self): + # "export" can still appear inside a comment; what must be gone is any line + # that *starts* with export (and the dangling continuation lines a + # multi-line export would leave). + body = generate.strip_exports(self.cm_src) + for line in body.splitlines(): + self.assertFalse(line.startswith("export"), f"export line survived: {line!r}") + self.assertTrue(body.endswith("}"), "body should end at the last function") + + +class AssembledPage(unittest.TestCase): + PLACEHOLDERS = [ + "STYLES_CSS", "APP_JS", "APP_CORE_J", "APP_UTIL_J", + "PALETTE_ACTIONS_J", "BROWSER_GATES_J", + "COLORMATH_J", "SAMPLES_J", "PALETTE_J", "CATS_J", + "UIFACES_J", "UIMAP_J", "APPS_J", "BOLD_J", "MAP_J", + ] + + def test_every_placeholder_is_substituted(self): + for token in self.PLACEHOLDERS: + self.assertNotIn(token, generate.HTML, f"{token} left unsubstituted") + + def test_page_carries_the_colormath_body_verbatim(self): + # Python-side inline-integrity: the same guarantee the JS test asserts, but + # checked at the point the page is built rather than after a round-trip. + self.assertIn(generate.COLORMATH_BODY, generate.HTML) + + def test_page_carries_the_app_core_body_verbatim(self): + # app-core.js inlines verbatim (no data placeholders), so the inlined copy + # and the unit-tested module cannot drift. + self.assertIn(generate.APP_CORE_BODY, generate.HTML) + + def test_page_carries_the_app_util_body_verbatim(self): + # app-util.js inlines verbatim after its import line is stripped. + self.assertIn(generate.APP_UTIL_BODY, generate.HTML) + + def test_page_carries_palette_actions_verbatim(self): + self.assertIn(generate.PALETTE_ACTIONS_BODY, generate.HTML) + + def test_page_carries_browser_gates_verbatim(self): + self.assertIn(generate.BROWSER_GATES_BODY, generate.HTML) + + def test_app_util_inlined_body_has_no_import_line(self): + # The `import rl` line must be gone, or the page <script> is invalid. + for line in generate.APP_UTIL_BODY.splitlines(): + self.assertFalse(line.startswith("import"), f"import survived: {line!r}") + + def test_page_carries_the_stylesheet_verbatim(self): + # styles.css has no placeholders, so it inlines verbatim: the inlined copy + # and the source file cannot drift. + self.assertIn(generate.STYLES, generate.HTML) + + def test_page_carries_the_app_script_faithfully(self): + # app.js does carry placeholders, so the page holds it as fill_data renders + # it (APP_FILLED), not the raw file. This guards the splice: the script + # reaches the page intact, with its data placeholders correctly filled. + self.assertIn(generate.APP_FILLED, generate.HTML) + + def test_page_is_a_single_script_document(self): + self.assertEqual(generate.HTML.count("<script>"), 1) + self.assertEqual(generate.HTML.count("</script>"), 1) + + +class LanguageSamples(unittest.TestCase): + def _tokens(self, lang): + return [tok for line in generate.SAMPLES[lang] for tok in line] + + def test_rust_and_zig_are_available_in_the_language_selector(self): + self.assertIn("Rust", generate.SAMPLES) + self.assertIn("Zig", generate.SAMPLES) + + def test_rust_sample_exercises_language_specific_categories(self): + tokens = self._tokens("Rust") + cats = {k for k, _ in tokens} + text = "".join(t for _, t in tokens) + for cat in ("dec", "ty", "bi", "kw", "op", "var"): + self.assertIn(cat, cats) + self.assertIn("'a", text) + self.assertIn("trait", text) + self.assertIn("vec!", text) + + def test_zig_sample_exercises_language_specific_categories(self): + tokens = self._tokens("Zig") + cats = {k for k, _ in tokens} + text = "".join(t for _, t in tokens) + for cat in ("bi", "kw", "ty", "con", "op", "prop"): + self.assertIn(cat, cats) + self.assertIn("comptime", text) + self.assertIn("@import", text) + self.assertIn("error.MissingColor", text) + + +class FacesHelper(unittest.TestCase): + def test_strips_prefix_and_derives_label_and_merges_seed(self): + # Normal: the prefix comes off the label, and the per-face seed is attached. + rows = face_rows(["org-todo", "org-done"], "org-", {"org-todo": {"fg": "gold"}}) + self.assertEqual(rows, [ + ["org-todo", "todo", {"fg": "gold"}], + ["org-done", "done", {}], + ]) + + def test_label_drops_face_suffix_and_spaces_remaining_dashes(self): + # Boundary: "-face" is removed and the rest of the dashes become spaces. + rows = face_rows(["lsp-rename-placeholder-face"], "lsp-", {}) + self.assertEqual(rows[0][1], "rename placeholder") + + def test_name_without_the_prefix_is_left_intact(self): + # Boundary: a name that doesn't start with the prefix keeps its full text + # (only "-face" removal and dash-spacing apply). + rows = face_rows(["shr-text"], "org-", {}) + self.assertEqual(rows[0], ["shr-text", "shr text", {}]) + + def test_empty_names_gives_empty_list(self): + # Error/Boundary: nothing in, nothing out. + self.assertEqual(face_rows([], "org-", {"org-todo": {"fg": "gold"}}), []) + + +class FaceSpecDefaults(unittest.TestCase): + def test_ui_face_spec_fills_style_fields(self): + self.assertEqual(ui_face_spec({"bg": "#ffffff", "bold": True}), { + "fg": None, + "bg": "#ffffff", + "bold": True, + "italic": False, + "underline": False, + "strike": False, + }) + + def test_package_face_spec_fills_structure_fields(self): + self.assertEqual(package_face_spec({"inherit": "base", "height": 1.2}), { + "fg": None, + "bg": None, + "bold": False, + "italic": False, + "underline": False, + "strike": False, + "inherit": "base", + "height": 1.2, + "box": None, + }) + + def test_generated_color_names_are_base_columns_when_legacy(self): + self.assertEqual(generate.column_id("color-22"), "color-22") + self.assertEqual(generate.column_id("color-129"), "color-129") + self.assertEqual(generate.column_id("blue-1"), "blue") + self.assertEqual(generate.column_id("blue+1"), "blue") + self.assertEqual(generate.column_id("blue1"), "blue") + self.assertEqual(generate.column_id("grey80"), "grey") + self.assertEqual(generate.column_id("orchid3"), "orchid") + + +class DefaultFaceAdapter(unittest.TestCase): + def setUp(self): + self.defaults = DefaultFaces({ + "faces": { + "sample": { + "chosenGuiLight": { + "foreground": "gray20", + "foregroundHex": "#333333", + "background": "white", + "backgroundHex": "#ffffff", + "weight": "bold", + "slant": "italic", + "underline": True, + "inherit": "parent", + "box": [":line-width", ["cons", 2, 2], ":style", "released-button"], + }, + "effectiveGuiLight": {"foreground": "black", "foregroundHex": "#000000"}, + }, + "boxed": { + "chosenGuiLight": { + "box": [":line-width", -3, ":color", "gray20"], + }, + "effectiveGuiLight": {}, + }, + } + }) + + def test_seed_uses_own_face_attributes_and_converts_boxes(self): + self.assertEqual(self.defaults.seed("sample", effective=False), { + "fg": "#333333", + "bg": "#ffffff", + "bold": True, + "italic": True, + "underline": True, + "inherit": "parent", + "box": {"style": "released", "width": 2, "color": None}, + }) + + def test_color_reads_effective_hex_by_default(self): + self.assertEqual(self.defaults.color("sample"), "#000000") + + def test_line_box_keeps_width_and_resolves_named_color(self): + self.assertEqual(self.defaults.seed("boxed")["box"], { + "style": "line", + "width": 3, + "color": "#333333", + }) + + def test_label_uses_captured_color_name_when_present(self): + self.assertEqual(self.defaults.label("#333333", "fallback"), "gray20") + + def test_missing_snapshot_is_safe(self): + defaults = DefaultFaces(None) + self.assertFalse(defaults.available) + self.assertEqual(defaults.face("missing"), {}) + self.assertEqual(defaults.seed("missing"), {}) + self.assertEqual(defaults.label("#000000", "fallback"), "fallback") + + def test_summary_reports_default_drift_fields(self): + defaults = DefaultFaces({ + "meta": {"emacs-version": "30.2", "package-unresolved-face-count": 2}, + "ui-faces": ["sample"], + "package-inventory": {"pkg": ["pkg-face"]}, + "faces": { + "default": { + "effectiveGuiLight": { + "foregroundHex": "#000000", + "backgroundHex": "#ffffff", + }, + "chosenGuiLight": {}, + }, + "sample": { + "chosenGuiLight": {"backgroundHex": "#ffffff"}, + "effectiveGuiLight": {}, + }, + "pkg-face": { + "chosenGuiLight": {"inherit": "base-face"}, + "effectiveGuiLight": {}, + }, + }, + }) + self.assertEqual(defaults.summary(), { + "emacsVersion": "30.2", + "default": {"foreground": "#000000", "background": "#ffffff"}, + "faceCount": 3, + "packageFaceCount": 1, + "packageUnresolvedFaceCount": 2, + "uiOwnSeeds": {"sample": {"bg": "#ffffff"}}, + "packageInherits": {"pkg-face": "base-face"}, + }) + + def test_changed_summary_reports_only_changed_top_level_keys(self): + self.assertEqual(changed_summary({"a": 1, "b": 2}, {"a": 1, "b": 3, "c": 4}), { + "b": {"before": 2, "after": 3}, + "c": {"before": None, "after": 4}, + }) + + +class PackageFaceCoverage(unittest.TestCase): + ALLOWED_DUPLICATES = { + "magit-left-margin": ["magit", "magit-section"], + "magit-section-child-count": ["magit", "magit-section"], + "magit-section-heading": ["magit", "magit-section"], + "magit-section-heading-selection": ["magit", "magit-section"], + "magit-section-highlight": ["magit", "magit-section"], + "magit-section-secondary-heading": ["magit", "magit-section"], + } + + def app_faces(self): + rows = [] + for app, data in generate.APPS.items(): + for face, _label, _seed in data["faces"]: + rows.append((face, app)) + return rows + + def inventory_faces(self): + inventory = generate.DEFAULTS.data.get("package-inventory", {}) + return {face for faces in inventory.values() for face in faces} + + def test_every_inventory_face_has_a_theme_studio_row(self): + app_face_names = {face for face, _app in self.app_faces()} + self.assertEqual(sorted(self.inventory_faces() - app_face_names), []) + + def test_duplicate_rows_are_intentional(self): + counts = Counter(face for face, _app in self.app_faces()) + actual = defaultdict(list) + for face, app in self.app_faces(): + if counts[face] > 1: + actual[face].append(app) + self.assertEqual(dict(sorted(actual.items())), self.ALLOWED_DUPLICATES) + + +class GeneratedDefaults(unittest.TestCase): + def package_seed(self, app, face): + for row_face, _label, seed in generate.APPS[app]["faces"]: + if row_face == face: + return seed + self.fail(f"{app}/{face} is not in generated APPS") + + def test_ground_defaults_match_emacs_q_light_default(self): + self.assertEqual(generate.MAP["bg"], "#ffffff") + self.assertEqual(generate.MAP["p"], "#000000") + self.assertEqual(generate.PALETTE[:2], [["#ffffff", "bg", "ground"], ["#000000", "fg", "ground"]]) + + def test_ui_defaults_preserve_own_overlay_and_modeline_specs(self): + self.assertEqual(generate.UIMAP["lazy-highlight"]["bg"], "#afeeee") + self.assertIsNone(generate.UIMAP["lazy-highlight"]["fg"]) + self.assertEqual(generate.UIMAP["mode-line"]["box"], {"style": "released", "width": 1, "color": None}) + self.assertEqual(generate.UIMAP["mode-line-inactive"]["inherit"], "mode-line") + self.assertEqual(generate.UIMAP["mode-line-inactive"]["box"], {"style": "line", "width": 1, "color": "#bfbfbf"}) + + def test_representative_package_inherits_are_selected(self): + self.assertEqual(self.package_seed("elfeed", "elfeed-search-filter-face")["inherit"], "mode-line-buffer-id") + self.assertEqual(self.package_seed("ghostel", "ghostel-default")["inherit"], "default") + + def test_syntax_defaults_capture_font_lock_styles(self): + self.assertEqual(generate.MAP["kw"], "#d3d3d3") + self.assertTrue(generate.BOLD["kw"]) + self.assertFalse(generate.ITALIC_MAP["kw"]) + self.assertEqual(generate.MAP["str"], "#696969") + self.assertFalse(generate.BOLD["str"]) + self.assertTrue(generate.ITALIC_MAP["str"]) + + +if __name__ == "__main__": + unittest.main() diff --git a/scripts/theme-studio/theme-coloring-guide.org b/scripts/theme-studio/theme-coloring-guide.org new file mode 100644 index 00000000..170ad708 --- /dev/null +++ b/scripts/theme-studio/theme-coloring-guide.org @@ -0,0 +1,473 @@ +#+TITLE: Usual Color Theme Rules +#+AUTHOR: Craig Jennings +#+DATE: 2026-06-08 +#+STARTUP: showall + +* How to use this guide + +This guide has one idea under it: color by the role a thing plays for the +reader, spend attention deliberately, and draw everything from one disciplined +palette. Everything else is that idea applied. + +It runs general to specific: + +1. *Principles*: the seven laws that generate the rest. +2. *Roles and the seed table*: the reader-roles the principles color, and the + single table that says how each role is treated. This is the executable core. +3. *The tiers*: syntax, UI faces, and package faces are the same roles applied + to three sets of Emacs faces. Each tier's rules derive from the principles, + not apart from them. +4. *Cross-tier practice*: weight, contrast, accessibility, and the checks that + apply everywhere. + +If you only read one thing, read the principles and the seed table. The tiers +are worked examples. + +* Principles + +1. *Color by reader-role, not by source category.* A color means "these things + play the same role while reading." The parser's category is irrelevant; the + reader's intent is everything. The theme should make control flow, + definitions, literals, comments, and errors easy to scan without making every + token compete for attention. + +2. *One disciplined palette; relatedness lives inside a hue family.* Prefer six + to eight stable accents over one color per category, and reuse each for the + same role everywhere. Related roles share a hue and separate by lightness, + chroma, or weight rather than taking unrelated colors. The six to eight are + hue families, not swatches: each family carries one to three shades (a keyword + and its quieter builtin, a string and its muted docstring), so the palette + holds roughly fifteen to twenty swatches across few hues. The Shade budget + section counts them. + +3. *Spend salience deliberately.* Chroma, brightness, and bold all say "look + here"; muted and low-chroma say "supporting structure." Reserve the loudest + treatment for the few things that matter, and make the anchor (a definition, + the active element) louder than the echo (a use, the idle element). + +4. *Two channels: foreground is identity, background is state.* Foreground + carries what a thing is (its role). A background tint carries transient state: + selection, current line, search match, diff hunk. Do not recolor a + foreground to show state. Tint behind the text so the token keeps its + meaning while highlighted. A transient match chip may invert; persistent state + must only tint. + +5. *Tier the contrast, and judge it honestly.* Comfortable contrast for content, + low contrast for idle structure, high contrast for alerts. Avoid pure black or + white grounds. They cause halation (light text on a dark ground blooms at the + glyph edges and smears the letterforms, worst for astigmatic eyes) and general + eye strain. Low contrast does not mean low distinguishability. If contrast is + soft, keep enough lightness/chroma separation between roles. Pick and judge + colors in a perceptual space, OKLCH or CIELAB, not HSL. (OKLCH is the + cylindrical lightness/chroma/hue form of the OKLab perceptual color space, + [[https://bottosson.github.io/posts/oklab/][Ottosson 2020]]; CIELAB is the CIE 1976 Lab color space; HSL is + hue/saturation/lightness, whose "lightness" is not perceptual.) Judge on the + real display in the real room, because contrast and chroma are relative to the + ground and the ambient light. + +6. *Encode redundantly; never rely on color alone.* Anything that matters (errors, + diffs, matches, done-states) pairs its color with weight, underline, + or shape, so it survives color blindness and a poor display. Around 8% of men + have red-green color-vision deficiency; keep the palette distinguishable + without the color, and never let red-versus-green be the only signal. + +7. *Honor convention for the signal layer.* Red means error or deletion, green + means success or addition, amber means warning or modified, blue means + information or a link. Keep these consistent and, where you can, out of the + syntax accent pool, so a signal never reads as just another keyword. + +* Roles and the seed table + +The principles color a fixed set of reader-roles. Most are familiar from code, +but three of them (heading ramp, transient state, and signal) appear once you +look past syntax to UI and document faces. Every face in every tier classifies +into one of these roles; seeding a tier is classifying its faces and applying the +table. + +| Role | Palette family | Weight / shape | Channel | +|-----------------------------------------------------+-------------------------------------+-------------------+---------------------| +| Base / identity (default text, variables) | foreground | normal | fg | +| Structure (punctuation, operators, delimiters) | muted foreground | normal | fg | +| Control (keywords, preprocessor) | primary cool accent | bold, sparingly | fg | +| Builtins | control hue, lower chroma/lightness | normal | fg | +| Names: definitions | warm anchor accent | bold | fg | +| Names: uses / calls | same hue, quieter | normal | fg | +| Types / metadata / decorators | secondary accent | normal | fg | +| Strings / docstrings | green family | docstrings italic | fg | +| Escapes / regexps | brighter / teal green | normal | fg | +| Numbers / constants | warm literal accent | normal | fg | +| Comments | low-contrast lane | italic | fg | +| Heading ramp | one hue, lightness descending | level 1 strongest | fg | +| Transient state (region, current line, match, hunk) | quiet tint | none | bg | +| Signal: error / deletion | red | + weight/shape | fg, or bg for hunks | +| Signal: success / addition | green | none | fg / bg | +| Signal: warning / modified | amber | none | fg / bg | +| Signal: info / link | blue | underline | fg | + +This table is the guide made executable. The three tiers below are it, projected +onto three face inventories. + +** Shade budget + +The sharing rules fix how many shades each hue family needs and what each is for. +This is the swatch count a palette has to provide, and what =dupre= is built to: + +- *Neutrals (~5):* background, dim background, default foreground, muted + foreground (punctuation and operators), comment. +- *Cool accent, blue (2):* keyword, and builtin (the same hue at lower + chroma/lightness). +- *Warm anchor, gold (2):* definition (the strong anchor), and call (quieter, + same hue). +- *Secondary accent, violet (1):* types and decorators. +- *Green family (3):* string, docstring (muted), escape (brighter). +- *Teal (1):* regexp. +- *Warm literal, terracotta (1):* numbers and constants. +- *Signal (4):* error red, warning amber, success green, info/link blue, kept + out of the syntax accents where the palette can afford it (principle 7). +- *Heading ramp:* one hue across three or four lightness steps; document tiers + reuse an accent rather than spend a new hue. + +That is roughly fifteen swatches across seven or eight hues: few colors, each +doing related work by shade. The exact hex values live in the seeding-engine +spec; this section fixes the counts and the uses. + +* Syntax tier + +The syntax tier colors font-lock / tree-sitter categories. These are the roles +in the table, grouped the way a reader meets them. + +** Usual grouping + +Use these as starting groups: + +- *Base text:* foreground/default text, variable/use. +- *Structure:* punctuation, operators, comment delimiters. +- *Control / language syntax:* keywords, preprocessor forms, builtins. +- *Names / definitions:* function definitions, function calls, properties/fields. +- *Types / metadata:* types/classes, decorators, sometimes constants. +- *Literals:* strings, docstrings, regexps, escapes, numbers. +- *Comments:* comments and comment delimiters. + +** Sharing rules + +- Variables should usually look like normal text. If every variable is colored, + the buffer gets noisy quickly. +- Definitions should stand out more than uses. A function definition can be + brighter or bold while a function call stays in the same hue family but + quieter. +- Function calls and definitions can share hue. Use weight or brightness to mark + the definition as the stronger anchor. +- Types/classes and decorators often share a color because both describe shape, + annotation, or metadata rather than ordinary runtime values. +- Strings, docstrings, regexps, and escapes should be related but not identical. + Example: strings green, docstrings muted green, escapes brighter green, regexps + teal. +- Comments get their own low-contrast lane. Comment delimiters can be dimmer + than comment text. +- Punctuation and operators should be quiet. Usually use a muted foreground, + not a strong accent. +- Constants and numbers can share a warm literal color. If the palette is small, + constants can also share with types. +- Preprocessor forms can share with keywords unless they need to feel more + infrastructural; then make them slightly muted. +- Builtins should sit between keywords and normal identifiers: they should be + more noticeable than a user variable, but less commanding than syntax/control + keywords. In practice, use the keyword hue at lower chroma/lightness, or use + foreground with a subtle accent. + +** What "builtins between keywords and identifiers" means + +Keywords are language structure: =if=, =defun=, =class=, =return=, =let=. +They guide control flow and code shape, so they can carry a strong syntax color. + +Normal identifiers are user-authored names: local variables, arguments, ordinary +bindings. They are everywhere, so they should usually stay close to the default +foreground. + +Builtins are language-provided identifiers: =print=, =len=, =map=, +=Array.from=, =Promise=, =self=, =this=, standard macros, or core functions. +They are not syntax, but they are more meaningful than a random local variable. +"Between" means: + +- If keywords are blue and variables are foreground, builtins might be muted + blue-grey. +- If keywords are bold, builtins usually are not bold. +- If variables are plain foreground, builtins can be foreground plus a slight + hue shift. +- Builtins should be recognizable when scanning, but they should not dominate a + line the way control-flow keywords do. + +** Suggested compact mapping + +This is the canonical syntax mapping. It is what the bundled =dupre= theme should +seed to (note: dupre historically diverged, builtins on blue rather than +blue-grey and function definitions on silver rather than gold, and is being +reseeded to match this mapping). + +- *Foreground:* default text, variables. +- *Muted foreground:* punctuation, operators, comment delimiters. +- *Comment:* comments, disabled text. +- *Blue:* keywords, preprocessor. +- *Blue-grey:* builtins. +- *Gold:* function definitions and calls, with definitions stronger. +- *Violet:* types, classes, decorators. +- *Green:* strings, docstrings. +- *Teal / brighter green:* escapes, regexps. +- *Terracotta / warm accent:* numbers, constants, special literals. + +* UI faces tier + +UI faces carry almost no identity: they are the state, structure, and signal +layers of the table. So principles 4 (channels), 3 (active louder than idle), 7 +(convention), 5 (tiering), and 6 (redundancy) do nearly all the work, and they +draw their colors from the same palette (principle 2), never new ones. + +- *State is a background tint* (principle 4): =region=, =hl-line=, =highlight=, + =show-paren-match= tint behind syntax-colored text and set no foreground. + =isearch= may invert to a chip because a match marker is transient; persistent + state never does. +- *Active louder than idle* (principle 3): =mode-line= brighter than + =mode-line-inactive=; =line-number-current-line= accented against a dim + =line-number=; =isearch= (current match) louder than =lazy-highlight= (other + matches). Make the active and inactive mode-line clearly different: it is the + highest-traffic element and the cue for which window has focus. +- *Signals by convention* (principle 7): =error= red, =warning= amber, =success= + green, =isearch-fail= and =show-paren-mismatch= red. These are the semantic + layer, drawn from the palette's warm/cool accents. +- *Chrome recedes* (principle 5): =fringe= near the background, + =vertical-border= barely there, idle line numbers dim. Interactive and alert + faces get real contrast; structural chrome does not compete. +- *Redundant encoding* (principle 6): =link= is blue and underlined; + =show-paren-mismatch= uses a background plus shape, not color alone. + +The current dupre UI map already follows this, which is the point: it is a +seedable default, not a per-face tuning job. + +* Package faces tier: org-mode + +A package has many faces but few roles. org-mode (~88 faces) collapses into about +six, each driven by a principle. The long tail of other packages seeds to the +default foreground until any one earns the same treatment; org is worth doing +because it is a daily buffer. + +- *Heading ramp*: =org-level-1= through =org-level-8=. The textbook case for + principles 2 and 3: one hue family, level 1 the strongest (bright or bold), + each deeper level quieter. A lightness ramp in a single hue. Highest-value seed + in org, since headings dominate the view. +- *Markup that recedes*: =org-meta-line=, =org-drawer=, =org-special-keyword=, + =org-property-value=, =org-block-begin-line= / =org-block-end-line=, + =org-ellipsis=, =org-tag=, =org-date=, =org-document-info-keyword=. These are + org's punctuation and comments: the muted lane (principle 3 recede). +- *Code-like content reuses the syntax palette*: =org-block=, =org-code=, + =org-verbatim=, =org-inline-src-block=. Principle 1 at its clearest: a source + block is code, so it looks like code (the literal lane, the same accents as the + syntax tier). +- *State by convention*: =org-todo= and imminent deadlines read warm/red + (attention); =org-upcoming-deadline= amber; =org-scheduled= and =org-done= + recede to muted/cool, with =org-done= taking strikethrough or dim-italic so it + is not color-alone (principles 7, 3, 6). The agenda's deadline/scheduled/done + faces map straight onto the signal colors. +- *Links*: =org-link= is the link role: the same blue plus underline as the UI + link (principles 2, 6, 7). +- *Emphasis and quotes*: =org-quote=, =org-verse=, and doc-like text take + italic, the documentation lane (weight and slant below), kept readable. + +* Weight and slant + +- Use bold sparingly. Good targets: keywords, function definitions, TODO/error + states, important headings, or active/current UI elements. +- Avoid bolding every function call. It makes code visually lumpy and reduces + the value of bold for definitions and warnings. +- Italic works well for comments, docstrings, documentation-like text, and + sometimes parameters or decorators. Use it only if your chosen font has a + readable italic. +- Avoid italic for core control-flow keywords unless the theme is deliberately + stylized. Italic keywords can look decorative rather than structural. +- Keep bold and high chroma separate most of the time. A token that is both + bright and bold will dominate the buffer. + +* Contrast, chroma, and palette discipline + +- Keep default foreground/background comfortable first. Everything else depends + on the ground. +- Use high contrast for ordinary text and important UI states; use lower contrast + for comments, delimiters, and inactive UI. +- Avoid making comments so dim that they disappear. Comments are secondary, not + garbage. +- Use chroma to express semantic salience. More chroma means "look here"; lower + chroma means "supporting structure." +- Keep related roles in the same hue family and separate them by lightness, + chroma, or weight. +- Reserve the brightest accent for one or two roles. Common choices: function + definitions, strings, or keywords. +- Avoid assigning adjacent categories highly saturated unrelated hues. It makes + code look like a diagnostic heatmap. +- Use warm/cool balance deliberately. Warm colors advance visually; cool colors + recede. Put warm colors on rare, meaningful tokens if you want them noticed. +- Reuse hues across language families. A function definition should feel like a + function definition in Lisp, Python, JavaScript, and shell. + +* Signal colors and convention + +Principle 7 leans on conventions a reader already holds, and those conventions +are well-grounded. Not in what colors make us feel: the affective color-emotion +research is weak (brightness and saturation carry most of the effect, not hue), +culturally variable, and aimed at mood and branding rather than glyphs on a +ground. The grounding is in learned signal standards and in how the eye is +drawn. Red-stop and green-go trace to railway and traffic signaling and are +codified in the safety-color standards (ISO 3864, ANSI Z535); the pull of a +saturated color in a quiet field is pre-attentive (Treisman and Gelade 1980; +Ware, /Information Visualization/). + +| Signal | Conventional meaning | Where it shows | Basis | +|------------+-------------------------------+---------------------------------------------------+------------------------------------| +| Red | error, deletion, danger, stop | error, diff-removed, isearch-fail, paren-mismatch | traffic/rail stop; ISO 3864 danger | +| Amber | warning, caution, modified | warning, modified version-control state | ISO 3864 caution | +| Green | success, addition, ok, go | success, diff-added | traffic go; ISO 3864 safe | +| Blue | information, link, navigable | link, info messages | web-link convention; cool recedes | +| Muted grey | disabled, inactive, secondary | comments, inactive mode-line, dimmed text | low salience by design | + +Keep these consistent across the syntax, UI, and package tiers, and out of the +syntax accent pool where the palette can afford it, so a signal never reads as +just another token. This is a convention table, not an emotion table: it records +what a color has come to mean by use, which is what a reader actually decodes. + +* Accessibility and color vision + +- Run the palette through a color-blindness simulator before trusting it. Check + deuteranopia and protanopia (the common green-weak and red-weak deficiencies), + not just the urgent states. +- Blue and yellow stay distinct for nearly everyone; red and green are the risky + pair. When two roles must be told apart at a glance, prefer a blue/yellow or a + light/dark separation over a red/green one. +- For anything that must not be missed (diffs, errors, search hits, region), + pair the color with weight, underline, or shape, so the meaning survives + without it (principle 6). + +* Practical checks + +- Open real code in at least three languages before judging the palette. +- Squint at a buffer (or blur it): definitions, control flow, literals, and + comments should form distinct layers. If they don't, the palette is too flat or + too noisy. +- Check long files, not just curated snippets. Noise shows up in dense code. +- Check inactive windows, search highlights, region, diff, completions, and + diagnostics; syntax colors are only one part of a usable theme. +- If everything feels important, reduce chroma, remove bold, or merge colors. +- If nothing is scannable, increase separation between the main groups before + adding more hues. + +* Emacs specifics + +The rules above are general. In Emacs they land on concrete faces and a few +platform realities. + +** Theme the foundation faces first, inherit the rest + +- Map the syntax roles onto Emacs's canonical font-lock faces: + =font-lock-keyword-face=, =font-lock-function-name-face=, + =font-lock-variable-name-face=, =font-lock-type-face=, + =font-lock-constant-face=, =font-lock-builtin-face=, =font-lock-string-face=, + =font-lock-doc-face=, =font-lock-comment-face=, + =font-lock-comment-delimiter-face=, =font-lock-preprocessor-face=, and + =font-lock-warning-face=. +- Style those base faces well and let package faces inherit them. Most packages + declare faces that already =:inherit= a sensible base, so a good foundation + themes the long tail for free. Theme the base; do not chase every package. + +** Tree-sitter gives the finer faces this guide wants + +- Emacs 29's tree-sitter font-lock added the distinctions this guide asks for as + real faces. =font-lock-function-call-face= versus =font-lock-function-name-face= + is exactly "definitions stronger than calls"; there are also + =font-lock-variable-use-face=, =font-lock-property-use-face=, + =font-lock-property-name-face=, =font-lock-operator-face=, + =font-lock-bracket-face=, =font-lock-delimiter-face=, =font-lock-number-face=, + =font-lock-escape-face=, and =font-lock-regexp-face=. +- This is where "escapes brighter than strings, regexps teal" and "definitions + bolder than calls" become directly expressible. Note =treesit-font-lock-level= + controls how many of these levels actually fontify (default 3); some faces only + apply at higher levels. + +** Never leave the interface faces at their defaults + +- A usable theme is more than syntax. Always style =region=, =hl-line=, + =highlight=, =isearch= / =lazy-highlight= / =isearch-fail=, + =show-paren-match= / =show-paren-mismatch=, =cursor=, =mode-line= / + =mode-line-inactive=, =fringe=, =vertical-border=, =line-number= / + =line-number-current-line=, =minibuffer-prompt=, =link=, and =error= / + =warning= / =success=. + +** Handle terminal Emacs + +- The GUI is truecolor; =emacs -nw= may have only 256, 16, or 8 colors. Either + write display-class specs (a =((class color) (min-colors 256) ...)= clause with + a =(t ...)= fallback) or decide the theme is GUI-first and say so. +- Either way, define the 16 ANSI colors (ANSI is the terminal's standard set) + coherently with the palette: terminals, =ansi-color= in shells, and + compilation buffers all draw from them. + +** Build-and-audit tooling + +- =describe-face= (or =C-u C-x ==) at point tells you which face you are actually + looking at. It is the fastest way to find what to change. +- =M-x list-faces-display= shows every face in one buffer for a whole-theme audit. +- Test the daily buffers, not just code samples: org, magit (its diffs exercise + the semantic colors hard), dired, the completion popup (corfu / vertico / + company), and flymake/flycheck diagnostics. + +* Using this with theme-studio + +This guide is the design philosophy behind the theme-studio in this directory. +The tool is where the rules get applied, by eye and increasingly by metric. + +- *Worked example:* the bundled =dupre= theme is built from a palette of these + role-colors (blue, gold, regal/violet, sage/green, terracotta, plus neutral + silvers). Its role-to-color bindings live in =dupre.json= under =assignments=; + read it next to the seed table and the compact mapping above. (dupre is being + reseeded to match the compact mapping exactly; see the Syntax tier note.) +- *Checking contrast and palette discipline:* the tool's readouts verify by + number what this guide states as principle. Today that is the AA/AAA contrast + mask (the 4.5:1 and 7:1 tiers from WCAG, the Web Content Accessibility + Guidelines, [[https://www.w3.org/TR/WCAG21/][w3.org/TR/WCAG21]]). The planned OKLCH, APCA (Accessible Perceptual + Contrast Algorithm, [[https://github.com/Myndex/apca-w3][Myndex]]), and pairwise ΔE (perceptual color-difference) + diagnostics make "use chroma to express salience" and "low contrast does not + mean low distinguishability" checkable instead of eyeballed. See + [[file:../../docs/design/theme-studio-perceptual-color-metrics-spec.org][docs/design/theme-studio-perceptual-color-metrics-spec.org]]. +- *Seeding:* the seed table is the contract the tool seeds from: syntax, UI, and + org tiers each start from guide-correct defaults, leaving you to retune hues + rather than build a theme from blank. +- *Shipping a palette:* =build-theme.el= converts a =theme.json= exported from + the tool into a loadable Emacs deftheme, so a palette designed under these + rules becomes a real theme. + +* Sources and further reading + +Contrast, color space, and accessibility: + +- WCAG 2.1, especially SC 1.4.3 Contrast (Minimum) and SC 1.4.1 Use of Color: + [[https://www.w3.org/TR/WCAG21/][w3.org/TR/WCAG21]]. The baseline contrast model and the canonical "never rely + on color alone" rule. +- WCAG 3.0 Working Draft: [[https://www.w3.org/TR/wcag-3.0/][w3.org/TR/wcag-3.0]]. Still a draft and years from + final; its contrast method is undetermined, so treat it as direction, not law. +- APCA (Accessible Perceptual Contrast Algorithm), Myndex: + [[https://github.com/Myndex/apca-w3][github.com/Myndex/apca-w3]] and [[https://apcacontrast.com/][apcacontrast.com]]. The polarity-aware perceptual + contrast model, more trustworthy than WCAG 2 in the low-contrast band. +- Björn Ottosson, "A perceptual color space for image processing" (OKLab, 2020): + [[https://bottosson.github.io/posts/oklab/][bottosson.github.io/posts/oklab]]. Why OKLCH, with the conversion math. +- Sharma, Wu & Dalal, "The CIEDE2000 Color-Difference Formula" (2005). The + perceptual color-difference standard that ΔE-OK approximates more cheaply. + +Emacs faces and theming: + +- Elisp manual: [[info:elisp#Faces][(elisp) Faces]], [[info:elisp#Faces for Font Lock][(elisp) Faces for Font Lock]], and + [[info:elisp#Display Feature Testing][(elisp) Display Feature Testing]] (the display-class / =min-colors= specs for + terminal fallback). +- Emacs manual: [[info:emacs#Standard Faces][(emacs) Standard Faces]] and [[info:emacs#Custom Themes][(emacs) Custom Themes]]. +- Tree-sitter font-lock faces and =treesit-font-lock-level= (Emacs 29+): the + Elisp manual's font-lock sections, and =M-x describe-variable treesit-font-lock-level=. +- Protesilaos Stavrou, Modus Themes: [[https://protesilaos.com/emacs/modus-themes][protesilaos.com/emacs/modus-themes]]. A + rigorously accessible Emacs theme with documented contrast rationale, and the + high-contrast counterpoint to the low-contrast school this guide leans toward. +- base16, Chris Kempson: [[https://github.com/chriskempson/base16][github.com/chriskempson/base16]]. A 16-color scheme + convention, useful for the terminal/ANSI palette mapping above. diff --git a/scripts/theme-studio/theme-studio.html b/scripts/theme-studio/theme-studio.html new file mode 100644 index 00000000..909f39b0 --- /dev/null +++ b/scripts/theme-studio/theme-studio.html @@ -0,0 +1,2346 @@ +<!doctype html><meta charset=utf-8><title>theme-studio</title> +<style> + body{background:#0d0b0a;color:#cdced1;font:15px/1.55 monospace;margin:20px} + h1{font-size:22px;font-weight:normal;color:#e8bd30;margin:26px 0 10px;border-bottom:1px solid #252321;padding-bottom:6px} + h2{font-size:10pt;color:#8a9496;font-weight:normal;margin:0 0 4px} + .wrap{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:14px;padding-bottom:10px} + .col{flex:0 0 auto;width:460px} + pre{background:#0d0b0a;border:1px solid #252321;border-radius:8px;padding:14px 16px;font-size:12pt;overflow:auto;white-space:pre} + table.leg{border-collapse:collapse} table.leg td{padding:4px 12px;vertical-align:middle} + table.leg th{cursor:pointer;color:#b4b1a2;text-align:left;padding:4px 12px;user-select:none;font-weight:normal} + table.leg th:hover{color:#e8bd30} + select.chip{appearance:none;border:1px solid #00000060;border-radius:5px;padding:5px 10px;font:bold 14px monospace;width:160px;cursor:pointer} + .cstep{display:inline-flex;align-items:center;gap:4px} + .cstepbtn{width:22px;height:28px;padding:0;border:1px solid #3a3a3a;border-radius:4px;background:#1f1c19;color:#e8bd30;font:bold 14px monospace;cursor:pointer} + .cstepbtn:disabled{opacity:.28;cursor:default;color:#8f8977} + .cstep.locked .cstepbtn{opacity:.28;cursor:default} + .cdd{display:inline-flex;align-items:center;gap:7px;border:1px solid #00000060;border-radius:5px;padding:5px 10px;font:bold 13px monospace;width:150px;cursor:pointer;box-sizing:border-box;overflow:hidden;white-space:nowrap} + .cddsw{display:inline-block;width:13px;height:13px;border-radius:3px;border:1px solid #0007;flex:none} + .cddpop{position:fixed;z-index:200;background:#161412;border:1px solid #3a3a3a;border-radius:6px;box-shadow:0 12px 34px #000c;max-height:60vh;overflow:auto;padding:4px} + .cddrow{display:flex;align-items:center;gap:9px;padding:4px 9px;cursor:pointer;color:#cdced1;font:12px monospace;border-radius:4px;white-space:nowrap} + .cddrow:hover{background:#252321} + .cddrow.sel{outline:1px solid #e8bd30;outline-offset:-1px} + .cddrow .cddnm{flex:1} + .cddrow .cddhx{opacity:.55;margin-left:10px} + .cstep.locked .cdd{cursor:default;opacity:.85;box-shadow:inset 0 0 0 2px #e8bd3088} + .lockbtn{background:none;border:none;cursor:pointer;font-size:15px;line-height:1;padding:2px 4px;opacity:.5;filter:grayscale(1)} + .lockbtn.on{opacity:1;filter:none} + .boxctl{display:flex;align-items:center;gap:5px} + .boxctl .cdd{width:108px} + .boxctl .cstepbtn{width:18px} + .legctl{margin:0 0 8px;display:flex;gap:8px;align-items:center} + .cat{color:#b4b1a2} .ex{font-size:17px} + .sbtn{width:26px;height:24px;border:1px solid #3a3a3a;border-radius:3px;background:#eaeaea;color:#111;cursor:pointer;font-size:15px;margin-right:2px;padding:0} + .sbtn.on{background:#0d0b0a;color:#cdced1;border-color:#8a9496} + .pals{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;align-items:flex-start} + .fstrip{display:flex;flex-direction:column;gap:6px;padding:5px;border-radius:7px;border:1px solid transparent} + .fstrip.ground{border-color:#252321;background:#161412} + .fhead{min-height:17px;width:128px;display:flex;align-items:center;justify-content:center;gap:3px;color:#b4b1a2;font:9pt monospace;text-align:center} + .fhead .ctitle{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;border:none;color:#b4b1a2;font:9pt monospace;text-align:center;cursor:pointer;padding:0} + .fhead .ctitle:hover{color:#e8bd30} + .fhead .cmove,.fhead .cdel{width:18px;height:17px;background:#161412;border:1px solid #252321;border-radius:3px;color:#8a9496;font:10pt monospace;line-height:13px;padding:0;cursor:pointer} + .fhead .cmove:hover:not(:disabled),.fhead .cdel:hover{color:#e8bd30;border-color:#3a3a3a} + .fhead .cmove:disabled{opacity:.28;cursor:default} + .fhead .cdel{margin-left:5px;color:#b36a5e} + .fhead .cdel:hover{color:#ff9078;border-color:#6d342c;background:#211512} + .fcount{margin-top:3px;font:9pt monospace;color:#8a9496;text-align:center} + .fcount input{width:40px;background:#0d0b0a;border:1px solid #252321;color:#cdced1;border-radius:4px;padding:2px 4px;font:9pt monospace;text-align:center} + .palwarn{display:none;margin-top:8px;font:10pt monospace;color:#cb6b4d} + .palwarn .pwh{font-weight:bold;margin-bottom:2px} + .palwarn .pwl{opacity:.92} + .pchip{width:128px;height:58px;border-radius:6px;border:1px solid #555;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:grab} + .pchip.sel{outline:3px solid #e8bd30;outline-offset:2px} .pchip input.nm{background:transparent;border:none;text-align:center;font:bold 10pt monospace;width:108px;outline:none;cursor:pointer} + .pchip input.nm.editing{cursor:text;text-align:left} + .pchip .hx{font-size:10pt;opacity:.8} .pchip .rm{position:absolute;top:2px;right:5px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:bold;opacity:.7} + .pchip .lock{position:absolute;top:3px;right:5px;font-size:10px;opacity:.6} + .palctl{margin:0 0 12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap} + .palctl input[type=text]{background:#161412;border:1px solid #252321;color:#cdced1;border-radius:4px;padding:5px 8px;font:10pt monospace} + .palctl input[type=text]::placeholder{color:#b4b1a2;opacity:1} + .palctl{position:relative} + .swatch{width:128px;height:58px;border:1px solid #555;border-radius:6px;cursor:pointer;background:#888} + .picker{display:none;position:absolute;top:66px;left:0;z-index:60;background:#161412;border:1px solid #3a3a3a;border-radius:8px;padding:12px;box-shadow:0 10px 30px #000b;width:470px} + .picker .prow{display:flex;gap:10px} + .sv{position:relative;width:400px;height:320px;border-radius:4px;cursor:crosshair} + .svmask{position:absolute;inset:0;pointer-events:none;border-radius:4px} + .pmode{margin:2px 2px 8px;font:10pt monospace;color:#b4b1a2;display:flex;gap:6px;align-items:center} + .pmode button{background:#252321;color:#cdced1;border:1px solid #3a3a3a;border-radius:4px;padding:2px 9px;font:10pt monospace;cursor:pointer} + .pmode button.on{background:#e8bd30;color:#000;border-color:#e8bd30} + .pmodel{margin:8px 2px 4px;font:10pt monospace;color:#b4b1a2;display:flex;gap:6px;align-items:center} + .pmodel button{background:#252321;color:#cdced1;border:1px solid #3a3a3a;border-radius:4px;padding:2px 9px;font:10pt monospace;cursor:pointer} + .pmodel button.on{background:#67809c;color:#000;border-color:#67809c} + .oklchctl{display:none;margin:0 2px 6px;font:10pt monospace;color:#9aa3ad} + .oklchctl.show{display:block} + .oklchctl .ocrow{display:flex;align-items:center;gap:6px;margin:3px 0} + .oklchctl .ocrow label{width:12px;color:#cdced1} + .oklchctl .ocrow input[type=range]{flex:1} + .oklchctl .ocrow input[type=number]{width:62px;background:#252321;color:#cdced1;border:1px solid #3a3a3a;border-radius:3px;font:10pt monospace;padding:1px 3px} + .oklchctl .pclamp{display:none;color:#cb6b4d;margin-top:3px} + .oklchctl .pclamp.show{display:block} + .svcur{position:absolute;width:16px;height:16px;border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0008;pointer-events:none;z-index:3} + .hue{position:relative;width:34px;height:320px;border-radius:4px;cursor:ns-resize;background:linear-gradient(to bottom,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)} + .huecur{position:absolute;left:-2px;right:-2px;height:4px;background:#fff;border:1px solid #0008;transform:translateY(-50%);pointer-events:none} + .pinfo{display:flex;justify-content:space-between;margin:10px 2px 4px;font:12pt monospace;color:#cdced1} + .pinfo2{display:flex;justify-content:space-between;margin:0 2px 9px;font:10pt monospace;color:#9aa3ad} + .pinfo2 span{cursor:default} + .pkchips{display:flex;flex-wrap:wrap;gap:5px} .pkchips .pc{width:28px;height:28px;border-radius:3px;border:1px solid #555;cursor:pointer} + .svsafe{position:absolute;left:0;width:100%;background:rgba(203,107,77,0.30);border-bottom:2px solid #cb6b4d;pointer-events:none;z-index:2} + .palctl button,.filebar button,.fbtn{background:#252321;color:#e8bd30;border:1px solid #3a3a3a;border-radius:4px;padding:6px 12px;font:10pt monospace;cursor:pointer} + #palmsg{font:10pt monospace;opacity:0;transition:opacity .35s;margin-left:6px} + #export{width:100%;height:180px;margin-top:10px;background:#0d0b0a;color:#a4ac64;border:1px solid #252321;border-radius:6px;font:10pt monospace;padding:10px} + .filebar{margin:6px 0 0;display:flex;gap:8px;align-items:center} + #pagetitle{font-size:30px;color:#cdced1;font-weight:normal;border:none;margin:0;padding:0} + .topbar{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;margin:4px 0 18px} + .cols{display:flex;gap:28px;align-items:flex-start} .cols.stretch{align-items:stretch} + .pane{min-width:0} .pane.grow{flex:1} .pane.saveload{flex:0 0 auto;margin-left:auto} + .pane h1{margin-top:0} + .filebar.end{justify-content:flex-end} .langbar{margin-bottom:10px;display:flex;gap:8px;align-items:center} + .pkgbar{margin:0 0 10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap} + .pkgbar button{background:#252321;color:#e8bd30;border:1px solid #3a3a3a;border-radius:4px;padding:6px 12px;font:10pt monospace;cursor:pointer} + .hstep{background:#161412;border:1px solid #252321;color:#cdced1;border-radius:4px;padding:3px 4px;font:10pt monospace;width:56px} + #pkgbody td{padding:3px 8px} + #codepre{width:100%;box-sizing:border-box} + .mock{border:1px solid #252321;border-radius:8px;overflow:hidden;font:12pt/1.7 monospace;display:flex;flex-direction:column} + .mock .mbuf{flex:1} .mock .ln{display:flex;align-items:stretch;white-space:pre} + .mock .fr{width:14px;flex:0 0 auto;border-right:1px solid #ffffff14} .mock .num{width:36px;flex:0 0 auto;text-align:right;padding-right:10px} + .mock .cd{flex:1;padding-left:8px} .mock .bar,.mock .echo{padding:4px 10px;white-space:pre} + #codepre [data-k],.mock [data-k],.mock [data-face]{cursor:pointer} + @keyframes flashcell{0%,55%{background:#e8bd3066}100%{background:transparent}} + tr.flash td{animation:flashcell 1.1s ease-out} + @keyframes flashtok{0%,55%{background:#e8bd30aa;color:#000}100%{background:transparent}} + .flashtok{animation:flashtok 1.1s ease-out;border-radius:2px} +</style> +<div class="topbar"> + <h1 id="pagetitle">Untitled: theme</h1> + <div class="saveload"> + <div class="filebar end"> + <label style="color:#b4b1a2">theme name</label><input type="text" id="themename" value="" placeholder="untitled" oninput="updateTitle()" style="background:#161412;border:1px solid #252321;color:#cdced1;border-radius:4px;padding:5px 8px;font:10pt monospace;width:200px"> + <button onclick="exportTheme()">⬇ export</button> + <button class="fbtn" onclick="importTheme()">⬆ import</button><input type="file" id="fileinput" accept=".json" onchange="importFile(event)" style="display:none"> + <button id="jsonbtn" onclick="toggleJSON()">show</button> + </div> + <textarea id="export" style="display:none" readonly></textarea> + </div> +</div> + <section class="pane grow"> + <h1>palette</h1> + <div class="palctl"> + <div id="swatch" class="swatch" title="open color picker"></div> + <input type="text" id="newhexstr" placeholder="#rrggbb" value="#67809c" oninput="syncHex()" onkeydown="if(event.key==='Enter')applyEdit()" style="width:110px"> + <input type="text" id="newname" placeholder="name" onkeydown="if(event.key==='Enter')applyEdit()"> + <button onclick="addColor()">+ add color</button> + <button onclick="updateColor()">↻ update selected</button> + <button onclick="clearPalette()" title="remove every palette color except the bg and fg tiles">clear palette</button> + <span id="palmsg"></span> + <div id="picker" class="picker"> + <div class="prow"> + <div id="sv" class="sv"><canvas id="svmask" class="svmask"></canvas><div id="svsafe" class="svsafe" style="display:none"></div><div id="svcur" class="svcur"></div></div> + <div id="hue" class="hue"><div id="huecur" class="huecur"></div></div> + </div> + <div class="pmodel">edit <button data-pm="hsv" class="on">HSV</button><button data-pm="oklch">OKLCH</button></div> + <div class="pmodel" title="in OKLCH mode, shade the lightness too light to keep this overlay face readable over its foreground set">safe for <select id="safefor" onchange="setSafeFace(this.value)"><option value="">none</option></select></div> + <div class="oklchctl" id="oklchctl"> + <div class="ocrow"><label title="perceptual lightness">L</label><input type="range" id="okL" min="0" max="1" step="0.001"><input type="number" id="okLn" min="0" max="1" step="0.001"></div> + <div class="ocrow"><label title="chroma (colorfulness)">C</label><input type="range" id="okC" min="0" max="0.4" step="0.001"><input type="number" id="okCn" min="0" max="0.4" step="0.001"></div> + <div class="ocrow"><label title="hue angle, degrees">H</label><input type="range" id="okH" min="0" max="360" step="1"><input type="number" id="okHn" min="0" max="360" step="1"></div> + <div class="pclamp" id="pkclamp"></div> + </div> + <div class="pinfo"><span id="pkhex">#67809c</span><span id="pkcon"></span></div> + <div class="pinfo2"><span id="pkoklch" title="OKLCH perceptual coordinates: lightness L (0..1), chroma C, hue H in degrees"></span><span id="pkapca"></span></div> + <div class="pmode">limit <button data-m="any" class="on">any</button><button data-m="aa">AA+</button><button data-m="aaa">AAA</button></div> + <div id="pkchips" class="pkchips"></div> + </div> + </div> + <div class="pals" id="pals"></div> + <div class="palwarn" id="palwarn"></div> + </section> +<h1>code/color assignments</h1> +<div class="cols"> + <section class="pane"> + <div class="legctl"><button id="syntaxlocktoggle" class="fbtn" onclick="toggleAllLocks('syntax')" title="lock or unlock every syntax row">lock all</button><button class="fbtn" onclick="resetUnlocked()" title="reset to captured defaults, preserving locked rows">↻ reset</button><button class="fbtn" onclick="clearUnlocked()" title="erase, preserving locked rows">erase</button></div> + <table class="leg" id="legtable"><thead><tr><th onclick="srtTable('legbody',0)">elements △</th><th title="lock a decided element↔color association"></th><th onclick="srtTable('legbody',2)">color △</th><th>style</th><th title="WCAG contrast of this color on the background">contrast</th><th>example</th></tr></thead><tbody id="legbody"></tbody></table> + </section> + <section class="pane grow"> + <div class="langbar"><label style="color:#b4b1a2">language</label><select id="langsel" class="chip" style="width:auto;font:bold 10pt monospace" onchange="renderCode()"></select></div> + <pre id="codepre"></pre> + </section> +</div> +<h1>ui faces</h1> +<div class="cols stretch"> + <section class="pane"> + <div class="legctl"><button id="uilocktoggle" class="fbtn" onclick="toggleAllLocks('ui')" title="lock or unlock every UI face row">lock all</button><button class="fbtn" onclick="resetUnlockedUI()" title="reset to captured defaults, preserving locked rows">↻ reset</button><button class="fbtn" onclick="clearUnlockedUI()" title="erase, preserving locked rows">erase</button></div> + <table class="leg" id="uitable"><thead><tr><th onclick="srtTable('uibody',0)">face △</th><th title="lock a decided face"></th><th onclick="srtTable('uibody',2)">foreground △</th><th onclick="srtTable('uibody',3)">background △</th><th>style</th><th onclick="srtTable('uibody',5)" title="WCAG contrast: this face's foreground on its background (or the ground)">contrast △</th><th>preview</th><th title="face :box (border)">box</th></tr></thead><tbody id="uibody"></tbody></table> + </section> + <section class="pane grow" style="display:flex;flex-direction:column"> + <div class="langbar"><label style="color:#b4b1a2">live buffer preview</label></div> + <div id="mockframe" class="mock"></div> + </section> +</div> +<h1>package faces</h1> +<div class="pkgbar"> + <label style="color:#b4b1a2">application</label><select id="appsel" class="chip" style="width:auto;font:bold 10pt monospace"></select> + <label style="color:#b4b1a2">filter</label><input id="pkgfilter" type="text" placeholder="face name" oninput="buildPkgTable()" style="background:#161412;border:1px solid #252321;color:#cdced1;border-radius:4px;padding:5px 8px;font:10pt monospace;width:160px"> + <button onclick="resetApp()" title="reset to captured defaults, preserving locked rows">↻ reset</button> + <button id="pkglocktoggle" class="fbtn" onclick="toggleAllLocks('pkg')" title="lock or unlock every face row in the current package">lock all</button> + <button class="fbtn" onclick="clearUnlockedPkg()" title="erase, preserving locked rows">erase</button> +</div> +<div class="cols stretch"> + <section class="pane"> + <table class="leg" id="pkgtable"><thead><tr><th onclick="srtTable('pkgbody',0)">face △</th><th title="lock a decided face"></th><th onclick="srtTable('pkgbody',2)">fg △</th><th onclick="srtTable('pkgbody',3)">bg △</th><th>style</th><th onclick="srtTable('pkgbody',5)">contrast △</th><th onclick="srtTable('pkgbody',6)">inherit △</th><th onclick="srtTable('pkgbody',7)">size △</th><th title="face :box (border)">box</th><th></th></tr></thead><tbody id="pkgbody"></tbody></table> + </section> + <section class="pane grow" style="display:flex;flex-direction:column"> + <div class="langbar"><label id="pkgprevlabel" style="color:#b4b1a2">preview</label></div> + <div id="pkgpreview" class="mock" style="overflow:auto"></div> + </section> +</div> +<script> +const SAMPLES={"Elisp": [[["cmd", ";;"], ["cm", " cache.el"]], [["punc", "("], ["kw", "require"], ["p", " "], ["con", "'cl-lib"], ["punc", ")"]], [], [["punc", "("], ["kw", "defvar"], ["p", " "], ["var", "cache--tbl"], ["p", " "], ["punc", "("], ["fnc", "make-hash-table"], ["p", " "], ["con", ":test"], ["p", " "], ["con", "'equal"], ["punc", "))"]], [["p", " "], ["doc", "\"Memo table.\")"]], [], [["punc", "("], ["kw", "defun"], ["p", " "], ["fnd", "cache-get"], ["p", " "], ["punc", "("], ["var", "key"], ["punc", ")"]], [["p", " "], ["doc", "\"Return cached value for KEY.\""]], [["p", " "], ["punc", "("], ["kw", "or"], ["p", " "], ["punc", "("], ["bi", "gethash"], ["p", " "], ["var", "key"], ["p", " "], ["var", "cache--tbl"], ["punc", ")"]], [["p", " "], ["punc", "("], ["kw", "let"], ["p", " "], ["punc", "(("], ["var", "v"], ["p", " "], ["punc", "("], ["fnc", "compute"], ["p", " "], ["var", "key"], ["p", " "], ["num", "42"], ["punc", "))) "]], [["p", " "], ["punc", "("], ["fnc", "puthash"], ["p", " "], ["var", "key"], ["p", " "], ["var", "v"], ["p", " "], ["var", "cache--tbl"], ["punc", ") "], ["var", "v"], ["punc", "))))"]], [], [["punc", "("], ["kw", "defun"], ["p", " "], ["fnd", "cache-clear"], ["p", " "], ["punc", "()"]], [["p", " "], ["doc", "\"Empty the memo table.\""]], [["p", " "], ["punc", "("], ["kw", "interactive"], ["punc", ")"]], [["p", " "], ["punc", "("], ["fnc", "clrhash"], ["p", " "], ["var", "cache--tbl"], ["punc", ")"]], [["p", " "], ["punc", "("], ["fnc", "message"], ["p", " "], ["str", "\"cleared"], ["esc", "\\n"], ["str", "\""], ["punc", "))"]], [], [["punc", "("], ["kw", "defun"], ["p", " "], ["fnd", "cache-keys"], ["p", " "], ["punc", "()"]], [["p", " "], ["doc", "\"Return all keys.\""]], [["p", " "], ["punc", "("], ["kw", "let"], ["p", " "], ["punc", "(("], ["var", "acc"], ["p", " "], ["con", "nil"], ["punc", "))"]], [["p", " "], ["punc", "("], ["fnc", "maphash"], ["p", " "], ["punc", "("], ["kw", "lambda"], ["p", " "], ["punc", "("], ["var", "k"], ["p", " "], ["var", "_v"], ["punc", ")"], ["p", " "], ["punc", "("], ["fnc", "push"], ["p", " "], ["var", "k"], ["p", " "], ["var", "acc"], ["punc", "))"]], [["p", " "], ["var", "cache--tbl"], ["punc", ")"], ["p", " "], ["var", "acc"], ["punc", "))"]], [], [["punc", "("], ["kw", "provide"], ["p", " "], ["con", "'cache"], ["punc", ")"]]], "Go": [[["cmd", "//"], ["cm", " queue.go"]], [["kw", "package"], ["p", " "], ["var", "main"]], [], [["kw", "import"], ["p", " "], ["str", "\"fmt\""]], [], [["kw", "const"], ["p", " "], ["con", "MaxItems"], ["p", " "], ["op", "="], ["p", " "], ["num", "100"]], [], [["kw", "type"], ["p", " "], ["ty", "Order"], ["p", " "], ["kw", "struct"], ["p", " "], ["punc", "{"]], [["p", " "], ["prop", "ID"], ["p", " "], ["ty", "int"]], [["p", " "], ["prop", "Name"], ["p", " "], ["ty", "string"]], [["punc", "}"]], [], [["kw", "func"], ["p", " "], ["punc", "("], ["var", "q"], ["p", " "], ["op", "*"], ["ty", "Queue"], ["punc", ")"], ["p", " "], ["fnd", "Push"], ["punc", "("], ["var", "o"], ["p", " "], ["op", "*"], ["ty", "Order"], ["punc", ")"], ["p", " "], ["ty", "error"], ["p", " "], ["punc", "{"]], [["p", " "], ["cmd", "//"], ["cm", " reject nil"]], [["p", " "], ["kw", "if"], ["p", " "], ["var", "o"], ["p", " "], ["op", "=="], ["p", " "], ["con", "nil"], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "return"], ["p", " "], ["fnc", "fmt.Errorf"], ["punc", "("], ["str", "\"nil"], ["esc", "\\n"], ["str", "\""], ["punc", ")"]], [["p", " "], ["punc", "}"]], [["p", " "], ["var", "q"], ["op", "."], ["prop", "items"], ["p", " "], ["op", "="], ["p", " "], ["bi", "append"], ["punc", "("], ["var", "q"], ["op", "."], ["prop", "items"], ["punc", ","], ["p", " "], ["var", "o"], ["punc", ")"]], [["p", " "], ["kw", "return"], ["p", " "], ["con", "nil"]], [["punc", "}"]], [], [["kw", "func"], ["p", " "], ["fnd", "main"], ["punc", "()"], ["p", " "], ["punc", "{"]], [["p", " "], ["fnc", "fmt.Println"], ["punc", "("], ["op", "&"], ["ty", "Queue"], ["punc", "{}"], ["punc", ")"]], [["punc", "}"]]], "Python": [[["cmd", "#"], ["cm", " theme.py"]], [["kw", "from"], ["p", " "], ["var", "dataclasses"], ["p", " "], ["kw", "import"], ["p", " "], ["var", "dataclass"], ["punc", ","], ["p", " "], ["var", "field"]], [], [["con", "DEFAULT_PORT"], ["op", ":"], ["p", " "], ["ty", "int"], ["p", " "], ["op", "="], ["p", " "], ["num", "8080"]], [["con", "HEX"], ["p", " "], ["op", "="], ["p", " "], ["var", "re"], ["op", "."], ["fnc", "compile"], ["punc", "("], ["re", "r\"#[0-9a-f]{6}\""], ["punc", ")"]], [], [["dec", "@dataclass"]], [["kw", "class"], ["p", " "], ["ty", "Theme"], ["op", ":"]], [["p", " "], ["doc", "\"\"\"A color theme.\"\"\""]], [["p", " "], ["prop", "name"], ["op", ":"], ["p", " "], ["ty", "str"], ["p", " "], ["op", "="], ["p", " "], ["str", "\"dupre\""]], [["p", " "], ["prop", "colors"], ["op", ":"], ["p", " "], ["ty", "dict"], ["p", " "], ["op", "="], ["p", " "], ["fnc", "field"], ["punc", "("], ["prop", "default_factory"], ["op", "="], ["ty", "dict"], ["punc", ")"]], [], [["p", " "], ["kw", "def"], ["p", " "], ["fnd", "resolve"], ["punc", "("], ["var", "self"], ["punc", ","], ["p", " "], ["var", "key"], ["op", ":"], ["p", " "], ["ty", "str"], ["punc", ")"], ["p", " "], ["op", "->"], ["p", " "], ["ty", "str"], ["p", " "], ["op", "|"], ["p", " "], ["con", "None"], ["op", ":"]], [["p", " "], ["cmd", "#"], ["cm", " fallback to none"]], [["p", " "], ["var", "v"], ["p", " "], ["op", "="], ["p", " "], ["var", "self"], ["op", "."], ["prop", "colors"], ["op", "."], ["fnc", "get"], ["punc", "("], ["var", "key"], ["punc", ","], ["p", " "], ["str", "\""], ["esc", "\\t"], ["str", "none\""], ["punc", ")"]], [["p", " "], ["kw", "if"], ["p", " "], ["bi", "len"], ["punc", "("], ["var", "v"], ["punc", ")"], ["p", " "], ["op", "=="], ["p", " "], ["num", "0"], ["op", ":"], ["p", " "], ["kw", "return"], ["p", " "], ["con", "None"]], [["p", " "], ["kw", "return"], ["p", " "], ["var", "v"]], [], [["p", " "], ["dec", "@property"]], [["p", " "], ["kw", "def"], ["p", " "], ["fnd", "size"], ["punc", "("], ["var", "self"], ["punc", ")"], ["p", " "], ["op", "->"], ["p", " "], ["ty", "int"], ["op", ":"]], [["p", " "], ["kw", "return"], ["p", " "], ["bi", "len"], ["punc", "("], ["var", "self"], ["op", "."], ["prop", "colors"], ["punc", ")"]], [], [["var", "theme"], ["p", " "], ["op", "="], ["p", " "], ["ty", "Theme"], ["punc", "("], ["str", "\"dupre\""], ["punc", ")"]], [["fnc", "print"], ["punc", "("], ["var", "theme"], ["op", "."], ["fnc", "resolve"], ["punc", "("], ["str", "\"bg\""], ["punc", "))"]]], "TypeScript": [[["cmd", "//"], ["cm", " orders.ts"]], [["kw", "import"], ["p", " "], ["punc", "{"], ["p", " "], ["ty", "Order"], ["p", " "], ["punc", "}"], ["p", " "], ["kw", "from"], ["p", " "], ["str", "\"./types\""]], [], [["kw", "export"], ["p", " "], ["kw", "interface"], ["p", " "], ["ty", "Queue"], ["p", " "], ["punc", "{"]], [["p", " "], ["prop", "max"], ["op", ":"], ["p", " "], ["ty", "number"], ["punc", ";"]], [["p", " "], ["prop", "items"], ["op", ":"], ["p", " "], ["ty", "Order"], ["punc", "[];"]], [["punc", "}"]], [], [["dec", "@Injectable"], ["punc", "()"]], [["kw", "export"], ["p", " "], ["kw", "class"], ["p", " "], ["ty", "OrderQueue"], ["p", " "], ["kw", "implements"], ["p", " "], ["ty", "Queue"], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "private"], ["p", " "], ["prop", "re"], ["p", " "], ["op", "="], ["p", " "], ["re", "/^#[0-9a-f]{6}$/i"], ["punc", ";"]], [], [["p", " "], ["fnd", "push"], ["punc", "("], ["var", "o"], ["op", ":"], ["p", " "], ["ty", "Order"], ["punc", ")"], ["op", ":"], ["p", " "], ["ty", "boolean"], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "if"], ["p", " "], ["punc", "("], ["var", "o"], ["p", " "], ["op", "==="], ["p", " "], ["con", "null"], ["punc", ")"], ["p", " "], ["kw", "return"], ["p", " "], ["con", "false"], ["punc", ";"]], [["p", " "], ["var", "console"], ["op", "."], ["fnc", "log"], ["punc", "("], ["str", "`id "], ["punc", "${"], ["var", "o"], ["op", "."], ["prop", "id"], ["punc", "}"], ["esc", "\\n"], ["str", "`"], ["punc", ");"]], [["p", " "], ["kw", "return"], ["p", " "], ["con", "true"], ["punc", ";"]], [["p", " "], ["punc", "}"]], [["punc", "}"]], [], [["kw", "const"], ["p", " "], ["con", "LIMIT"], ["op", ":"], ["p", " "], ["ty", "number"], ["p", " "], ["op", "="], ["p", " "], ["num", "50"], ["punc", ";"]], [["kw", "const"], ["p", " "], ["var", "q"], ["p", " "], ["op", "="], ["p", " "], ["kw", "new"], ["p", " "], ["ty", "OrderQueue"], ["punc", "()"], ["punc", ";"]], [["var", "q"], ["op", "."], ["fnd", "push"], ["punc", "("], ["punc", "{"], ["p", " "], ["prop", "id"], ["op", ":"], ["p", " "], ["num", "1"], ["p", " "], ["punc", "}"], ["p", " "], ["kw", "as"], ["p", " "], ["ty", "Order"], ["punc", ")"], ["punc", ";"]], [["var", "console"], ["op", "."], ["fnc", "log"], ["punc", "("], ["var", "q"], ["op", "."], ["prop", "max"], ["punc", ")"], ["punc", ";"]], [["kw", "const"], ["p", " "], ["var", "cap"], ["p", " "], ["op", "="], ["p", " "], ["var", "Math"], ["op", "."], ["bi", "max"], ["punc", "("], ["con", "LIMIT"], ["punc", ","], ["p", " "], ["num", "0"], ["punc", ")"], ["punc", ";"]]], "Java": [[["cmd", "/**"], ["doc", " A color theme. */"]], [["kw", "package"], ["p", " "], ["var", "com"], ["op", "."], ["var", "dupre"], ["punc", ";"]], [["kw", "import"], ["p", " "], ["var", "java"], ["op", "."], ["var", "util"], ["op", "."], ["var", "regex"], ["op", "."], ["ty", "Pattern"], ["punc", ";"]], [], [["dec", "@Deprecated"]], [["kw", "public"], ["p", " "], ["kw", "final"], ["p", " "], ["kw", "class"], ["p", " "], ["ty", "Theme"], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "private"], ["p", " "], ["kw", "static"], ["p", " "], ["kw", "final"], ["p", " "], ["ty", "int"], ["p", " "], ["con", "MAX_PORT"], ["p", " "], ["op", "="], ["p", " "], ["num", "8080"], ["punc", ";"]], [["p", " "], ["kw", "private"], ["p", " "], ["kw", "final"], ["p", " "], ["ty", "String"], ["p", " "], ["prop", "name"], ["p", " "], ["op", "="], ["p", " "], ["str", "\"dupre\""], ["punc", ";"]], [["p", " "], ["kw", "private"], ["p", " "], ["kw", "static"], ["p", " "], ["kw", "final"], ["p", " "], ["ty", "Pattern"], ["p", " "], ["con", "HEX"], ["p", " "], ["op", "="], ["p", " "], ["ty", "Pattern"], ["op", "."], ["fnc", "compile"], ["punc", "("], ["re", "\"#[0-9a-f]{6}\""], ["punc", ")"], ["punc", ";"]], [], [["p", " "], ["dec", "@Override"]], [["p", " "], ["kw", "public"], ["p", " "], ["ty", "String"], ["p", " "], ["fnd", "resolve"], ["punc", "("], ["ty", "String"], ["p", " "], ["var", "key"], ["punc", ")"], ["p", " "], ["punc", "{"]], [["p", " "], ["cmd", "//"], ["cm", " fall back to null"]], [["p", " "], ["kw", "if"], ["p", " "], ["punc", "("], ["var", "key"], ["op", "."], ["fnc", "isEmpty"], ["punc", "()"], ["punc", ")"], ["p", " "], ["kw", "return"], ["p", " "], ["con", "null"], ["punc", ";"]], [["p", " "], ["kw", "return"], ["p", " "], ["var", "key"], ["op", "."], ["fnc", "strip"], ["punc", "("], ["punc", ")"], ["op", "+"], ["str", "\""], ["esc", "\\t"], ["str", "\""], ["punc", ";"]], [["p", " "], ["punc", "}"]], [], [["p", " "], ["kw", "public"], ["p", " "], ["kw", "static"], ["p", " "], ["ty", "void"], ["p", " "], ["fnd", "main"], ["punc", "("], ["ty", "String"], ["punc", "[]"], ["p", " "], ["var", "args"], ["punc", ")"], ["p", " "], ["punc", "{"]], [["p", " "], ["ty", "var"], ["p", " "], ["var", "t"], ["p", " "], ["op", "="], ["p", " "], ["kw", "new"], ["p", " "], ["ty", "Theme"], ["punc", "()"], ["punc", ";"]], [["p", " "], ["ty", "System"], ["op", "."], ["prop", "out"], ["op", "."], ["fnc", "println"], ["punc", "("], ["var", "t"], ["op", "."], ["fnc", "resolve"], ["punc", "("], ["str", "\"bg\""], ["punc", "))"], ["punc", ";"]], [["p", " "], ["punc", "}"]], [["punc", "}"]]], "C": [[["cmd", "/**"], ["doc", " Order queue. */"]], [["pp", "#include"], ["p", " "], ["str", "<stdio.h>"]], [["pp", "#include"], ["p", " "], ["str", "<stdlib.h>"]], [["pp", "#define"], ["p", " "], ["con", "MAX_PORT"], ["p", " "], ["num", "8080"]], [], [["kw", "typedef"], ["p", " "], ["kw", "struct"], ["p", " "], ["punc", "{"]], [["p", " "], ["ty", "int"], ["p", " "], ["prop", "id"], ["punc", ";"]], [["p", " "], ["kw", "const"], ["p", " "], ["ty", "char"], ["p", " "], ["op", "*"], ["prop", "name"], ["punc", ";"]], [["punc", "}"], ["p", " "], ["ty", "Order"], ["punc", ";"]], [], [["cmd", "//"], ["cm", " returns -1 on null input"]], [["ty", "int"], ["p", " "], ["fnd", "push"], ["punc", "("], ["ty", "Order"], ["p", " "], ["op", "*"], ["var", "o"], ["punc", ")"], ["p", " "], ["dec", "__attribute__"], ["punc", "(("], ["dec", "nonnull"], ["punc", "))"], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "if"], ["p", " "], ["punc", "("], ["var", "o"], ["p", " "], ["op", "=="], ["p", " "], ["con", "NULL"], ["punc", ")"], ["p", " "], ["kw", "return"], ["p", " "], ["num", "-1"], ["punc", ";"]], [["p", " "], ["fnc", "printf"], ["punc", "("], ["str", "\"id=%d"], ["esc", "\\n"], ["str", "\""], ["punc", ","], ["p", " "], ["var", "o"], ["op", "->"], ["prop", "id"], ["punc", ");"]], [["p", " "], ["kw", "return"], ["p", " "], ["num", "0"], ["punc", ";"]], [["punc", "}"]], [], [["ty", "int"], ["p", " "], ["fnd", "main"], ["punc", "("], ["ty", "void"], ["punc", ")"], ["p", " "], ["punc", "{"]], [["p", " "], ["ty", "Order"], ["p", " "], ["var", "o"], ["p", " "], ["op", "="], ["p", " "], ["punc", "{"], ["p", " "], ["op", "."], ["prop", "id"], ["p", " "], ["op", "="], ["p", " "], ["num", "1"], ["punc", ","], ["p", " "], ["op", "."], ["prop", "name"], ["p", " "], ["op", "="], ["p", " "], ["str", "\"dupre\""], ["p", " "], ["punc", "}"], ["punc", ";"]], [["p", " "], ["ty", "Order"], ["p", " "], ["op", "*"], ["var", "p2"], ["p", " "], ["op", "="], ["p", " "], ["bi", "malloc"], ["punc", "("], ["bi", "sizeof"], ["punc", "("], ["ty", "Order"], ["punc", "))"], ["punc", ";"]], [["p", " "], ["fnc", "push"], ["punc", "("], ["op", "&"], ["var", "o"], ["punc", ")"], ["punc", ";"]], [["p", " "], ["bi", "free"], ["punc", "("], ["var", "p2"], ["punc", ")"], ["punc", ";"]], [["p", " "], ["kw", "return"], ["p", " "], ["num", "0"], ["punc", ";"]], [["punc", "}"]]], "C++": [[["cmd", "/**"], ["doc", " A color theme. */"]], [["pp", "#include"], ["p", " "], ["str", "<string>"]], [["pp", "#include"], ["p", " "], ["str", "<regex>"]], [["pp", "#pragma"], ["p", " "], ["pp", "once"]], [], [["kw", "namespace"], ["p", " "], ["var", "dupre"], ["p", " "], ["punc", "{"]], [], [["kw", "template"], ["op", "<"], ["kw", "typename"], ["p", " "], ["ty", "T"], ["op", ">"], ["p", " "], ["kw", "class"], ["p", " "], ["ty", "Theme"], ["p", " "], ["punc", "{"]], [["kw", "public"], ["op", ":"]], [["p", " "], ["kw", "static"], ["p", " "], ["kw", "constexpr"], ["p", " "], ["ty", "int"], ["p", " "], ["con", "MAX"], ["p", " "], ["op", "="], ["p", " "], ["num", "0x20"], ["punc", ";"]], [["p", " "], ["ty", "std"], ["op", "::"], ["ty", "string"], ["p", " "], ["prop", "name_"], ["p", " "], ["op", "="], ["p", " "], ["str", "\"dupre\""], ["punc", ";"]], [], [["p", " "], ["dec", "[[nodiscard]]"], ["p", " "], ["ty", "T"], ["p", " "], ["fnd", "resolve"], ["punc", "("], ["kw", "const"], ["p", " "], ["ty", "std"], ["op", "::"], ["ty", "string"], ["op", "&"], ["p", " "], ["var", "key"], ["punc", ")"], ["p", " "], ["kw", "const"], ["p", " "], ["punc", "{"]], [["p", " "], ["cmd", "//"], ["cm", " validate against a hex pattern"]], [["p", " "], ["kw", "static"], ["p", " "], ["ty", "std"], ["op", "::"], ["ty", "regex"], ["p", " "], ["var", "re"], ["punc", "("], ["re", "R\"(#[0-9a-f]{6})\""], ["punc", ")"], ["punc", ";"]], [["p", " "], ["kw", "if"], ["p", " "], ["punc", "("], ["var", "key"], ["op", "."], ["fnc", "empty"], ["punc", "()"], ["punc", ")"], ["p", " "], ["kw", "return"], ["p", " "], ["con", "nullptr"], ["punc", ";"]], [["p", " "], ["kw", "return"], ["p", " "], ["ty", "T"], ["punc", "{"], ["var", "key"], ["punc", "}"], ["punc", ";"]], [["p", " "], ["punc", "}"]], [["punc", "}"], ["punc", ";"]], [], [["ty", "int"], ["p", " "], ["fnd", "main"], ["punc", "()"], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "auto"], ["p", " "], ["var", "t"], ["p", " "], ["op", "="], ["p", " "], ["ty", "Theme"], ["op", "<"], ["ty", "int"], ["op", ">"], ["punc", "{}"], ["punc", ";"]], [["p", " "], ["bi", "static_cast"], ["op", "<"], ["ty", "int"], ["op", ">"], ["punc", "("], ["var", "t"], ["op", "."], ["prop", "name_"], ["op", "."], ["fnc", "size"], ["punc", "())"], ["punc", ";"]], [["p", " "], ["ty", "std"], ["op", "::"], ["fnc", "printf"], ["punc", "("], ["str", "\"%s"], ["esc", "\\n"], ["str", "\""], ["punc", ","], ["p", " "], ["var", "t"], ["op", "."], ["prop", "name_"], ["op", "."], ["fnc", "c_str"], ["punc", "())"], ["punc", ";"]], [["p", " "], ["kw", "return"], ["p", " "], ["num", "0"], ["punc", ";"]], [["punc", "}"]]], "Rust": [[["cmd", "//"], ["cm", " theme.rs"]], [["dec", "#![allow(dead_code)]"]], [["kw", "use"], ["p", " "], ["var", "std"], ["op", "::"], ["var", "fmt"], ["punc", ";"]], [], [["dec", "#[derive"], ["punc", "("], ["dec", "Debug"], ["punc", ","], ["p", " "], ["dec", "Clone"], ["punc", ")]"]], [["kw", "pub"], ["p", " "], ["kw", "trait"], ["p", " "], ["ty", "Theme"], ["op", "<"], ["var", "'a"], ["op", ">"], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "const"], ["p", " "], ["con", "NAME"], ["op", ":"], ["p", " "], ["op", "&"], ["var", "'static"], ["p", " "], ["ty", "str"], ["punc", ";"]], [["p", " "], ["kw", "fn"], ["p", " "], ["fnd", "resolve"], ["punc", "("], ["op", "&"], ["var", "'a"], ["p", " "], ["var", "self"], ["punc", ","], ["p", " "], ["var", "key"], ["op", ":"], ["p", " "], ["op", "&"], ["var", "'a"], ["p", " "], ["ty", "str"], ["punc", ")"], ["p", " "], ["op", "->"], ["p", " "], ["ty", "Option"], ["op", "<"], ["op", "&"], ["var", "'a"], ["p", " "], ["ty", "str"], ["op", ">"], ["punc", ";"]], [["punc", "}"]], [], [["kw", "pub"], ["p", " "], ["kw", "struct"], ["p", " "], ["ty", "Palette"], ["op", "<"], ["var", "'a"], ["op", ">"], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "pub"], ["p", " "], ["prop", "name"], ["op", ":"], ["p", " "], ["op", "&"], ["var", "'a"], ["p", " "], ["ty", "str"], ["punc", ","]], [["p", " "], ["kw", "pub"], ["p", " "], ["prop", "colors"], ["op", ":"], ["p", " "], ["ty", "Vec"], ["op", "<"], ["punc", "("], ["op", "&"], ["var", "'a"], ["p", " "], ["ty", "str"], ["punc", ","], ["p", " "], ["op", "&"], ["var", "'a"], ["p", " "], ["ty", "str"], ["punc", ")"], ["op", ">"], ["punc", ","]], [["punc", "}"]], [], [["kw", "impl"], ["op", "<"], ["var", "'a"], ["op", ">"], ["p", " "], ["ty", "Theme"], ["op", "<"], ["var", "'a"], ["op", ">"], ["p", " "], ["kw", "for"], ["p", " "], ["ty", "Palette"], ["op", "<"], ["var", "'a"], ["op", ">"], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "const"], ["p", " "], ["con", "NAME"], ["op", ":"], ["p", " "], ["op", "&"], ["var", "'static"], ["p", " "], ["ty", "str"], ["p", " "], ["op", "="], ["p", " "], ["str", "\"dupre\""], ["punc", ";"]], [["p", " "], ["kw", "fn"], ["p", " "], ["fnd", "resolve"], ["punc", "("], ["op", "&"], ["var", "'a"], ["p", " "], ["var", "self"], ["punc", ","], ["p", " "], ["var", "key"], ["op", ":"], ["p", " "], ["op", "&"], ["var", "'a"], ["p", " "], ["ty", "str"], ["punc", ")"], ["p", " "], ["op", "->"], ["p", " "], ["ty", "Option"], ["op", "<"], ["op", "&"], ["var", "'a"], ["p", " "], ["ty", "str"], ["op", ">"], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "if"], ["p", " "], ["var", "key"], ["op", "."], ["fnc", "is_empty"], ["punc", "()"], ["p", " "], ["punc", "{"], ["p", " "], ["kw", "return"], ["p", " "], ["con", "None"], ["punc", ";"], ["p", " "], ["punc", "}"]], [["p", " "], ["var", "self"], ["op", "."], ["prop", "colors"], ["op", "."], ["fnc", "iter"], ["punc", "()"], ["op", "."], ["fnc", "find"], ["punc", "("], ["op", "|"], ["punc", "("], ["var", "k"], ["punc", ","], ["p", " "], ["var", "_"], ["punc", ")"], ["op", "|"], ["p", " "], ["op", "*"], ["var", "k"], ["p", " "], ["op", "=="], ["p", " "], ["var", "key"], ["punc", ")"], ["op", "."], ["fnc", "map"], ["punc", "("], ["op", "|"], ["punc", "("], ["var", "_"], ["punc", ","], ["p", " "], ["var", "v"], ["punc", ")"], ["op", "|"], ["p", " "], ["op", "*"], ["var", "v"], ["punc", ")"]], [["p", " "], ["punc", "}"]], [["punc", "}"]], [], [["kw", "fn"], ["p", " "], ["fnd", "main"], ["punc", "()"], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "let"], ["p", " "], ["var", "palette"], ["p", " "], ["op", "="], ["p", " "], ["ty", "Palette"], ["p", " "], ["punc", "{"], ["p", " "], ["prop", "name"], ["op", ":"], ["p", " "], ["str", "\"dupre\""], ["punc", ","], ["p", " "], ["prop", "colors"], ["op", ":"], ["p", " "], ["bi", "vec!"], ["punc", "["], ["punc", "("], ["str", "\"bg\""], ["punc", ","], ["p", " "], ["str", "\"#0d0b0a\""], ["punc", ")"], ["punc", "]"], ["p", " "], ["punc", "}"], ["punc", ";"]], [["p", " "], ["bi", "println!"], ["punc", "("], ["str", "\"{:?}\""], ["punc", ","], ["p", " "], ["var", "palette"], ["op", "."], ["fnc", "resolve"], ["punc", "("], ["str", "\"bg\""], ["punc", "))"], ["punc", ";"]], [["punc", "}"]]], "Zig": [[["cmd", "//"], ["cm", " theme.zig"]], [["kw", "const"], ["p", " "], ["var", "std"], ["p", " "], ["op", "="], ["p", " "], ["bi", "@import"], ["punc", "("], ["str", "\"std\""], ["punc", ")"], ["punc", ";"]], [["kw", "const"], ["p", " "], ["ty", "Allocator"], ["p", " "], ["op", "="], ["p", " "], ["var", "std"], ["op", "."], ["var", "mem"], ["op", "."], ["ty", "Allocator"], ["punc", ";"]], [], [["kw", "pub"], ["p", " "], ["kw", "const"], ["p", " "], ["ty", "Theme"], ["p", " "], ["op", "="], ["p", " "], ["kw", "struct"], ["p", " "], ["punc", "{"]], [["p", " "], ["prop", "name"], ["op", ":"], ["p", " "], ["punc", "["], ["punc", "]"], ["kw", "const"], ["p", " "], ["ty", "u8"], ["punc", ","]], [["p", " "], ["prop", "colors"], ["op", ":"], ["p", " "], ["punc", "["], ["punc", "]"], ["kw", "const"], ["p", " "], ["ty", "Color"], ["punc", ","]], [], [["p", " "], ["kw", "pub"], ["p", " "], ["kw", "fn"], ["p", " "], ["fnd", "init"], ["punc", "("], ["var", "alloc"], ["op", ":"], ["p", " "], ["op", "*"], ["ty", "Allocator"], ["punc", ")"], ["p", " "], ["op", "!"], ["bi", "@This"], ["punc", "()"], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "const"], ["p", " "], ["var", "colors"], ["p", " "], ["op", "="], ["p", " "], ["kw", "try"], ["p", " "], ["var", "alloc"], ["op", "."], ["fnc", "alloc"], ["punc", "("], ["ty", "Color"], ["punc", ","], ["p", " "], ["num", "2"], ["punc", ")"], ["punc", ";"]], [["p", " "], ["var", "colors"], ["punc", "["], ["num", "0"], ["punc", "]"], ["p", " "], ["op", "="], ["p", " "], ["ty", "Color"], ["punc", "{"], ["p", " "], ["prop", ".name"], ["p", " "], ["op", "="], ["p", " "], ["str", "\"bg\""], ["punc", ","], ["p", " "], ["prop", ".hex"], ["p", " "], ["op", "="], ["p", " "], ["str", "\"#0d0b0a\""], ["p", " "], ["punc", "}"], ["punc", ";"]], [["p", " "], ["kw", "return"], ["p", " "], ["bi", "@This"], ["punc", "()"], ["punc", "{"], ["p", " "], ["prop", ".name"], ["p", " "], ["op", "="], ["p", " "], ["str", "\"dupre\""], ["punc", ","], ["p", " "], ["prop", ".colors"], ["p", " "], ["op", "="], ["p", " "], ["var", "colors"], ["p", " "], ["punc", "}"], ["punc", ";"]], [["p", " "], ["punc", "}"]], [["punc", "}"], ["punc", ";"]], [], [["kw", "const"], ["p", " "], ["ty", "Color"], ["p", " "], ["op", "="], ["p", " "], ["kw", "struct"], ["p", " "], ["punc", "{"], ["p", " "], ["prop", "name"], ["op", ":"], ["p", " "], ["punc", "["], ["punc", "]"], ["kw", "const"], ["p", " "], ["ty", "u8"], ["punc", ","], ["p", " "], ["prop", "hex"], ["op", ":"], ["p", " "], ["punc", "["], ["punc", "]"], ["kw", "const"], ["p", " "], ["ty", "u8"], ["p", " "], ["punc", "}"], ["punc", ";"]], [], [["kw", "fn"], ["p", " "], ["fnd", "resolve"], ["punc", "("], ["var", "theme"], ["op", ":"], ["p", " "], ["ty", "Theme"], ["punc", ","], ["p", " "], ["kw", "comptime"], ["p", " "], ["var", "key"], ["op", ":"], ["p", " "], ["punc", "["], ["punc", ":"], ["num", "0"], ["punc", "]"], ["kw", "const"], ["p", " "], ["ty", "u8"], ["punc", ")"], ["p", " "], ["op", "!"], ["punc", "["], ["punc", "]"], ["kw", "const"], ["p", " "], ["ty", "u8"], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "inline"], ["p", " "], ["kw", "for"], ["p", " "], ["punc", "("], ["var", "theme"], ["op", "."], ["prop", "colors"], ["punc", ")"], ["p", " "], ["op", "|"], ["var", "color"], ["op", "|"], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "if"], ["p", " "], ["punc", "("], ["var", "std"], ["op", "."], ["var", "mem"], ["op", "."], ["fnc", "eql"], ["punc", "("], ["ty", "u8"], ["punc", ","], ["p", " "], ["var", "color"], ["op", "."], ["prop", "name"], ["punc", ","], ["p", " "], ["var", "key"], ["punc", ")"], ["punc", ")"], ["p", " "], ["kw", "return"], ["p", " "], ["var", "color"], ["op", "."], ["prop", "hex"], ["punc", ";"]], [["p", " "], ["punc", "}"]], [["p", " "], ["kw", "return"], ["p", " "], ["con", "error.MissingColor"], ["punc", ";"]], [["punc", "}"]], [], [["kw", "test"], ["p", " "], ["str", "\"resolve bg\""], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "var"], ["p", " "], ["var", "arena"], ["p", " "], ["op", "="], ["p", " "], ["var", "std"], ["op", "."], ["var", "heap"], ["op", "."], ["ty", "ArenaAllocator"], ["op", "."], ["fnc", "init"], ["punc", "("], ["var", "std"], ["op", "."], ["var", "testing"], ["op", "."], ["prop", "allocator"], ["punc", ")"], ["punc", ";"]], [["p", " "], ["kw", "defer"], ["p", " "], ["var", "arena"], ["op", "."], ["fnc", "deinit"], ["punc", "()"], ["punc", ";"]], [["p", " "], ["kw", "try"], ["p", " "], ["var", "std"], ["op", "."], ["var", "testing"], ["op", "."], ["fnc", "expectEqualStrings"], ["punc", "("], ["str", "\"#0d0b0a\""], ["punc", ","], ["p", " "], ["kw", "try"], ["p", " "], ["fnc", "resolve"], ["punc", "("], ["kw", "try"], ["p", " "], ["ty", "Theme"], ["op", "."], ["fnc", "init"], ["punc", "("], ["op", "&"], ["var", "arena"], ["op", "."], ["prop", "allocator"], ["punc", ")"], ["punc", ","], ["p", " "], ["str", "\"bg\""], ["punc", "))"], ["punc", ";"]], [["punc", "}"]]], "Shell": [[["cmd", "#!"], ["cm", "/bin/bash"]], [["cmd", "#"], ["cm", " deploy.sh"]], [["bi", "set"], ["p", " "], ["op", "-"], ["var", "euo"], ["p", " "], ["var", "pipefail"]], [], [["var", "PORT"], ["op", "="], ["num", "8080"]], [["var", "NAME"], ["op", "="], ["str", "\"dupre\""]], [], [["fnd", "deploy"], ["punc", "()"], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "local"], ["p", " "], ["var", "target"], ["op", "="], ["str", "\"$1\""]], [["p", " "], ["kw", "if"], ["p", " "], ["punc", "[["], ["p", " "], ["op", "-z"], ["p", " "], ["str", "\"$target\""], ["p", " "], ["punc", "]]"], ["punc", ";"], ["p", " "], ["kw", "then"]], [["p", " "], ["bi", "echo"], ["p", " "], ["str", "\"no target\""]], [["p", " "], ["kw", "return"], ["p", " "], ["num", "1"]], [["p", " "], ["kw", "fi"]], [["p", " "], ["fnc", "rsync"], ["p", " "], ["op", "-az"], ["p", " "], ["str", "\"$NAME\""], ["p", " "], ["str", "\"$target\""]], [["punc", "}"]], [], [["fnd", "main"], ["punc", "()"], ["p", " "], ["punc", "{"]], [["p", " "], ["kw", "for"], ["p", " "], ["var", "host"], ["p", " "], ["kw", "in"], ["p", " "], ["str", "\"$@\""], ["punc", ";"], ["p", " "], ["kw", "do"]], [["p", " "], ["fnc", "deploy"], ["p", " "], ["str", "\"$host\""], ["p", " "], ["op", "||"], ["p", " "], ["bi", "exit"], ["p", " "], ["num", "1"]], [["p", " "], ["kw", "done"]], [["p", " "], ["bi", "echo"], ["p", " "], ["op", "-e"], ["p", " "], ["str", "\"all done"], ["esc", "\\n"], ["str", "\""]], [["punc", "}"]], [], [["fnc", "main"], ["p", " "], ["str", "\"$@\""]]]}, CATS=[["bg", "bg (ground)", "Aa Bb 123"], ["p", "fg", "other / whitespace"], ["kw", "keyword", "class def if return"], ["bi", "builtin", "len echo printf"], ["pp", "preprocessor", "#include #define"], ["fnd", "function \u00b7 def", "resolve push"], ["fnc", "function \u00b7 call", "printf rsync get"], ["dec", "decorator", "@dataclass"], ["ty", "type / class", "int str Order Queue"], ["prop", "property / field", "id name items"], ["con", "constant", "None nil NULL true"], ["num", "number", "8080 100 -1"], ["str", "string", "\"dupre\" \"fmt\""], ["esc", "escape", "\\n \\t"], ["re", "regexp", "/^#[0-9a-f]+/"], ["doc", "docstring", "\"\"\"...\"\"\""], ["cm", "comment", "# reject nil"], ["cmd", "comment delim", "# // ;;"], ["var", "variable / use", "value key self"], ["op", "operator", ": = -> =="], ["punc", "punctuation", "{ } ( ) ;"]], UI_FACES=[["cursor", "cursor", "Aa|"], ["region", "region (selection)", "selected text"], ["hl-line", "hl-line (current line)", "current line"], ["highlight", "highlight", "hover"], ["mode-line", "mode-line", "status active"], ["mode-line-inactive", "mode-line-inactive", "status idle"], ["fringe", "fringe", "| |"], ["line-number", "line-number", " 42"], ["line-number-current-line", "line-number-current-line", "> 42"], ["minibuffer-prompt", "minibuffer-prompt", "M-x "], ["isearch", "isearch (match)", "match"], ["lazy-highlight", "lazy-highlight", "other match"], ["isearch-fail", "isearch-fail", "no match"], ["show-paren-match", "show-paren-match", "( )"], ["show-paren-mismatch", "show-paren-mismatch", ") ("], ["link", "link", "https://"], ["error", "error", "error!"], ["warning", "warning", "warning"], ["success", "success", "ok"], ["vertical-border", "vertical-border", "|"]], APPS={"org-mode": {"label": "org-mode", "preview": "org", "faces": [["org-document-title", "document title", {}], ["org-document-info", "document info", {}], ["org-document-info-keyword", "document info keyword", {}], ["org-level-1", "level 1", {}], ["org-level-2", "level 2", {}], ["org-level-3", "level 3", {}], ["org-level-4", "level 4", {}], ["org-level-5", "level 5", {}], ["org-level-6", "level 6", {}], ["org-level-7", "level 7", {}], ["org-level-8", "level 8", {}], ["org-headline-todo", "headline todo", {}], ["org-headline-done", "headline done", {}], ["org-todo", "todo", {}], ["org-done", "done", {}], ["org-priority", "priority", {}], ["org-tag", "tag", {}], ["org-tag-group", "tag group", {}], ["org-special-keyword", "special keyword", {}], ["org-drawer", "drawer", {}], ["org-property-value", "property value", {}], ["org-checkbox", "checkbox", {}], ["org-checkbox-statistics-todo", "checkbox statistics todo", {}], ["org-checkbox-statistics-done", "checkbox statistics done", {}], ["org-warning", "warning", {}], ["org-link", "link", {}], ["org-footnote", "footnote", {}], ["org-date", "date", {}], ["org-sexp-date", "sexp date", {}], ["org-date-selected", "date selected", {}], ["org-target", "target", {}], ["org-macro", "macro", {}], ["org-cite", "cite", {}], ["org-cite-key", "cite key", {}], ["org-block", "block", {}], ["org-block-begin-line", "block begin line", {}], ["org-block-end-line", "block end line", {}], ["org-code", "code", {}], ["org-verbatim", "verbatim", {}], ["org-inline-src-block", "inline src block", {}], ["org-quote", "quote", {}], ["org-verse", "verse", {}], ["org-latex-and-related", "latex and related", {}], ["org-table", "table", {}], ["org-table-header", "table header", {}], ["org-table-row", "table row", {}], ["org-formula", "formula", {}], ["org-column", "column", {}], ["org-column-title", "column title", {}], ["org-list-dt", "list dt", {}], ["org-meta-line", "meta line", {}], ["org-ellipsis", "ellipsis", {}], ["org-hide", "hide", {}], ["org-indent", "indent", {}], ["org-archived", "archived", {}], ["org-default", "default", {}], ["org-dispatcher-highlight", "dispatcher highlight", {}], ["org-agenda-structure", "agenda structure", {}], ["org-agenda-structure-secondary", "agenda structure secondary", {}], ["org-agenda-structure-filter", "agenda structure filter", {}], ["org-agenda-date", "agenda date", {}], ["org-agenda-date-today", "agenda date today", {}], ["org-agenda-date-weekend", "agenda date weekend", {}], ["org-agenda-date-weekend-today", "agenda date weekend today", {}], ["org-agenda-current-time", "agenda current time", {}], ["org-agenda-done", "agenda done", {}], ["org-agenda-dimmed-todo-face", "agenda dimmed todo", {}], ["org-agenda-calendar-event", "agenda calendar event", {}], ["org-agenda-calendar-sexp", "agenda calendar sexp", {}], ["org-agenda-calendar-daterange", "agenda calendar daterange", {}], ["org-agenda-diary", "agenda diary", {}], ["org-agenda-clocking", "agenda clocking", {}], ["org-agenda-column-dateline", "agenda column dateline", {}], ["org-agenda-restriction-lock", "agenda restriction lock", {}], ["org-agenda-filter-category", "agenda filter category", {}], ["org-agenda-filter-effort", "agenda filter effort", {}], ["org-agenda-filter-regexp", "agenda filter regexp", {}], ["org-agenda-filter-tags", "agenda filter tags", {}], ["org-scheduled", "scheduled", {}], ["org-scheduled-today", "scheduled today", {}], ["org-scheduled-previously", "scheduled previously", {}], ["org-upcoming-deadline", "upcoming deadline", {}], ["org-upcoming-distant-deadline", "upcoming distant deadline", {}], ["org-imminent-deadline", "imminent deadline", {}], ["org-time-grid", "time grid", {}], ["org-clock-overlay", "clock overlay", {}], ["org-mode-line-clock", "mode line clock", {}], ["org-mode-line-clock-overrun", "mode line clock overrun", {}]]}, "magit": {"label": "magit", "preview": "magit", "faces": [["magit-section-heading", "section heading", {}], ["magit-section-secondary-heading", "section secondary heading", {}], ["magit-section-heading-selection", "section heading selection", {}], ["magit-section-highlight", "section highlight", {}], ["magit-section-child-count", "section child count", {}], ["magit-diff-added", "diff added", {}], ["magit-diff-added-highlight", "diff added highlight", {}], ["magit-diff-removed", "diff removed", {}], ["magit-diff-removed-highlight", "diff removed highlight", {}], ["magit-diff-context", "diff context", {}], ["magit-diff-context-highlight", "diff context highlight", {}], ["magit-diff-file-heading", "diff file heading", {}], ["magit-diff-file-heading-highlight", "diff file heading highlight", {}], ["magit-diff-file-heading-selection", "diff file heading selection", {}], ["magit-diff-hunk-heading", "diff hunk heading", {}], ["magit-diff-hunk-heading-highlight", "diff hunk heading highlight", {}], ["magit-diff-hunk-heading-selection", "diff hunk heading selection", {}], ["magit-diff-hunk-region", "diff hunk region", {}], ["magit-diff-lines-heading", "diff lines heading", {}], ["magit-diff-lines-boundary", "diff lines boundary", {}], ["magit-diff-base", "diff base", {}], ["magit-diff-base-highlight", "diff base highlight", {}], ["magit-diff-our", "diff our", {}], ["magit-diff-our-highlight", "diff our highlight", {}], ["magit-diff-their", "diff their", {}], ["magit-diff-their-highlight", "diff their highlight", {}], ["magit-diff-conflict-heading", "diff conflict heading", {}], ["magit-diff-conflict-heading-highlight", "diff conflict heading highlight", {}], ["magit-diff-revision-summary", "diff revision summary", {}], ["magit-diff-revision-summary-highlight", "diff revision summary highlight", {}], ["magit-diff-whitespace-warning", "diff whitespace warning", {}], ["magit-diffstat-added", "diffstat added", {}], ["magit-diffstat-removed", "diffstat removed", {}], ["magit-branch-current", "branch current", {}], ["magit-branch-local", "branch local", {}], ["magit-branch-remote", "branch remote", {}], ["magit-branch-remote-head", "branch remote head", {}], ["magit-branch-upstream", "branch upstream", {}], ["magit-branch-warning", "branch warning", {}], ["magit-head", "head", {}], ["magit-tag", "tag", {}], ["magit-hash", "hash", {}], ["magit-filename", "filename", {}], ["magit-dimmed", "dimmed", {}], ["magit-keyword", "keyword", {}], ["magit-keyword-squash", "keyword squash", {}], ["magit-refname", "refname", {}], ["magit-refname-stash", "refname stash", {}], ["magit-refname-wip", "refname wip", {}], ["magit-refname-pullreq", "refname pullreq", {}], ["magit-log-author", "log author", {}], ["magit-log-date", "log date", {}], ["magit-log-graph", "log graph", {}], ["magit-header-line", "header line", {}], ["magit-header-line-key", "header line key", {}], ["magit-header-line-log-select", "header line log select", {}], ["magit-process-ok", "process ok", {}], ["magit-process-ng", "process ng", {}], ["magit-mode-line-process", "mode line process", {}], ["magit-mode-line-process-error", "mode line process error", {}], ["magit-bisect-good", "bisect good", {}], ["magit-bisect-bad", "bisect bad", {}], ["magit-bisect-skip", "bisect skip", {}], ["magit-blame-heading", "blame heading", {}], ["magit-blame-highlight", "blame highlight", {}], ["magit-blame-hash", "blame hash", {}], ["magit-blame-name", "blame name", {}], ["magit-blame-date", "blame date", {}], ["magit-blame-summary", "blame summary", {}], ["magit-blame-dimmed", "blame dimmed", {}], ["magit-blame-margin", "blame margin", {}], ["magit-cherry-equivalent", "cherry equivalent", {}], ["magit-cherry-unmatched", "cherry unmatched", {}], ["magit-signature-good", "signature good", {}], ["magit-signature-bad", "signature bad", {}], ["magit-signature-untrusted", "signature untrusted", {}], ["magit-signature-expired", "signature expired", {}], ["magit-signature-expired-key", "signature expired key", {}], ["magit-signature-revoked", "signature revoked", {}], ["magit-signature-error", "signature error", {}], ["magit-reflog-commit", "reflog commit", {}], ["magit-reflog-amend", "reflog amend", {}], ["magit-reflog-merge", "reflog merge", {}], ["magit-reflog-checkout", "reflog checkout", {}], ["magit-reflog-reset", "reflog reset", {}], ["magit-reflog-rebase", "reflog rebase", {}], ["magit-reflog-cherry-pick", "reflog cherry pick", {}], ["magit-reflog-remote", "reflog remote", {}], ["magit-reflog-other", "reflog other", {}], ["magit-sequence-pick", "sequence pick", {}], ["magit-sequence-stop", "sequence stop", {}], ["magit-sequence-part", "sequence part", {}], ["magit-sequence-head", "sequence head", {}], ["magit-sequence-drop", "sequence drop", {}], ["magit-sequence-done", "sequence done", {}], ["magit-sequence-onto", "sequence onto", {}], ["magit-sequence-exec", "sequence exec", {}], ["magit-left-margin", "left margin", {}], ["git-commit-comment-action", "git commit comment action", {}], ["git-commit-comment-branch-local", "git commit comment branch local", {}], ["git-commit-comment-branch-remote", "git commit comment branch remote", {}], ["git-commit-comment-detached", "git commit comment detached", {}], ["git-commit-comment-file", "git commit comment file", {}], ["git-commit-comment-heading", "git commit comment heading", {}], ["git-commit-keyword", "git commit keyword", {}], ["git-commit-nonempty-second-line", "git commit nonempty second line", {}], ["git-commit-overlong-summary", "git commit overlong summary", {}], ["git-commit-summary", "git commit summary", {}], ["git-commit-trailer-token", "git commit trailer token", {}], ["git-commit-trailer-value", "git commit trailer value", {}]]}, "elfeed": {"label": "elfeed", "preview": "elfeed", "faces": [["elfeed-search-date-face", "search date", {"fg": "#aaa"}], ["elfeed-search-title-face", "search title", {"fg": "#000"}], ["elfeed-search-unread-title-face", "search unread title", {"bold": true}], ["elfeed-search-feed-face", "search feed", {"fg": "#aa0"}], ["elfeed-search-tag-face", "search tag", {"fg": "#070"}], ["elfeed-search-unread-count-face", "search unread count", {"fg": "#000"}], ["elfeed-search-filter-face", "search filter", {"inherit": "mode-line-buffer-id"}], ["elfeed-search-last-update-face", "search last update", {}], ["elfeed-log-date-face", "log date", {"inherit": "font-lock-type-face"}], ["elfeed-log-error-level-face", "log error level", {"fg": "#ff0000"}], ["elfeed-log-warn-level-face", "log warn level", {"fg": "#daa520"}], ["elfeed-log-info-level-face", "log info level", {"fg": "#00bfff"}], ["elfeed-log-debug-level-face", "log debug level", {"fg": "#ee00ee"}]]}, "mu4e": {"label": "mu4e", "preview": "mu4e", "faces": [["mu4e-title-face", "title", {}], ["mu4e-context-face", "context", {}], ["mu4e-modeline-face", "modeline", {}], ["mu4e-ok-face", "ok", {}], ["mu4e-warning-face", "warning", {}], ["mu4e-header-title-face", "header title", {}], ["mu4e-header-key-face", "header key", {}], ["mu4e-header-value-face", "header value", {}], ["mu4e-header-face", "header", {}], ["mu4e-header-highlight-face", "header highlight", {}], ["mu4e-header-marks-face", "header marks", {}], ["mu4e-unread-face", "unread", {}], ["mu4e-flagged-face", "flagged", {}], ["mu4e-replied-face", "replied", {}], ["mu4e-forwarded-face", "forwarded", {}], ["mu4e-draft-face", "draft", {}], ["mu4e-trashed-face", "trashed", {}], ["mu4e-related-face", "related", {}], ["mu4e-contact-face", "contact", {}], ["mu4e-special-header-value-face", "special header value", {}], ["mu4e-url-number-face", "url number", {}], ["mu4e-link-face", "link", {}], ["mu4e-footer-face", "footer", {}], ["mu4e-region-code", "region code", {}], ["mu4e-system-face", "system", {}], ["mu4e-highlight-face", "highlight", {}], ["mu4e-compose-separator-face", "compose separator", {}]]}, "ghostel": {"label": "ghostel", "preview": "ghostel", "faces": [["ghostel-default", "default", {"inherit": "default"}], ["ghostel-fake-cursor", "fake cursor", {"box": {"style": "line", "width": 1, "color": null}}], ["ghostel-fake-cursor-box", "fake cursor box", {"inherit": "cursor"}], ["ghostel-color-black", "color black", {"inherit": "ansi-color-black"}], ["ghostel-color-red", "color red", {"inherit": "ansi-color-red"}], ["ghostel-color-green", "color green", {"inherit": "ansi-color-green"}], ["ghostel-color-yellow", "color yellow", {"inherit": "ansi-color-yellow"}], ["ghostel-color-blue", "color blue", {"inherit": "ansi-color-blue"}], ["ghostel-color-magenta", "color magenta", {"inherit": "ansi-color-magenta"}], ["ghostel-color-cyan", "color cyan", {"inherit": "ansi-color-cyan"}], ["ghostel-color-white", "color white", {"inherit": "ansi-color-white"}], ["ghostel-color-bright-black", "color bright black", {"inherit": "ansi-color-bright-black"}], ["ghostel-color-bright-red", "color bright red", {"inherit": "ansi-color-bright-red"}], ["ghostel-color-bright-green", "color bright green", {"inherit": "ansi-color-bright-green"}], ["ghostel-color-bright-yellow", "color bright yellow", {"inherit": "ansi-color-bright-yellow"}], ["ghostel-color-bright-blue", "color bright blue", {"inherit": "ansi-color-bright-blue"}], ["ghostel-color-bright-magenta", "color bright magenta", {"inherit": "ansi-color-bright-magenta"}], ["ghostel-color-bright-cyan", "color bright cyan", {"inherit": "ansi-color-bright-cyan"}], ["ghostel-color-bright-white", "color bright white", {"inherit": "ansi-color-bright-white"}]]}, "dashboard": {"label": "dashboard", "preview": "dashboard", "faces": [["dashboard-banner-logo-title", "banner logo title", {"inherit": "default"}], ["dashboard-text-banner", "text banner", {"inherit": "font-lock-keyword-face"}], ["dashboard-heading", "heading", {"inherit": "font-lock-keyword-face"}], ["dashboard-items-face", "items", {"inherit": "widget-button"}], ["dashboard-navigator", "navigator", {"inherit": "font-lock-keyword-face"}], ["dashboard-no-items-face", "no items", {"inherit": "widget-button"}], ["dashboard-footer-face", "footer", {"inherit": "font-lock-doc-face"}], ["dashboard-footer-icon-face", "footer icon", {"inherit": "dashboard-footer-face"}]]}, "lsp-mode": {"label": "lsp-mode", "preview": "lsp", "faces": [["lsp-signature-face", "signature", {}], ["lsp-signature-highlight-function-argument", "signature highlight function argument", {}], ["lsp-signature-posframe", "signature posframe", {}], ["lsp-face-highlight-read", "face highlight read", {}], ["lsp-face-highlight-write", "face highlight write", {}], ["lsp-face-highlight-textual", "face highlight textual", {}], ["lsp-face-rename", "face rename", {}], ["lsp-rename-placeholder-face", "rename placeholder", {}], ["lsp-inlay-hint-face", "inlay hint", {}], ["lsp-inlay-hint-parameter-face", "inlay hint parameter", {}], ["lsp-inlay-hint-type-face", "inlay hint type", {}], ["lsp-details-face", "details", {}], ["lsp-installation-buffer-face", "installation buffer", {}], ["lsp-installation-finished-buffer-face", "installation finished buffer", {}]]}, "git-gutter": {"label": "git-gutter", "preview": "gitgutter", "faces": [["git-gutter:added", "added", {"fg": "#00ff00", "bold": true, "inherit": "default"}], ["git-gutter:modified", "modified", {"fg": "#ff00ff", "bold": true, "inherit": "default"}], ["git-gutter:deleted", "deleted", {"fg": "#ff0000", "bold": true, "inherit": "default"}], ["git-gutter:unchanged", "unchanged", {"bg": "#ffff00", "inherit": "default"}], ["git-gutter:separator", "separator", {"fg": "#00ffff", "bold": true, "inherit": "default"}]]}, "flycheck": {"label": "flycheck", "preview": "flycheck", "faces": [["flycheck-error", "error", {"underline": true}], ["flycheck-warning", "warning", {"underline": true}], ["flycheck-info", "info", {"underline": true}], ["flycheck-fringe-error", "fringe error", {"inherit": "error"}], ["flycheck-fringe-warning", "fringe warning", {"inherit": "warning"}], ["flycheck-fringe-info", "fringe info", {"inherit": "success"}], ["flycheck-delimited-error", "delimited error", {}], ["flycheck-error-delimiter", "error delimiter", {}], ["flycheck-error-list-error", "error list error", {"inherit": "error"}], ["flycheck-error-list-warning", "error list warning", {"inherit": "warning"}], ["flycheck-error-list-info", "error list info", {"inherit": "success"}], ["flycheck-error-list-error-message", "error list error message", {}], ["flycheck-error-list-checker-name", "error list checker name", {"inherit": "font-lock-function-name-face"}], ["flycheck-error-list-column-number", "error list column number", {}], ["flycheck-error-list-line-number", "error list line number", {}], ["flycheck-error-list-filename", "error list filename", {"inherit": "mode-line-buffer-id"}], ["flycheck-error-list-id", "error list id", {"inherit": "font-lock-type-face"}], ["flycheck-error-list-id-with-explainer", "error list id with explainer", {"inherit": "flycheck-error-list-id", "box": {"style": "released", "width": 1, "color": null}}], ["flycheck-error-list-highlight", "error list highlight", {"bold": true}], ["flycheck-verify-select-checker", "verify select checker", {"box": {"style": "released", "width": 1, "color": null}}]]}, "dired": {"label": "dired", "preview": "dired", "faces": [["dired-header", "header", {}], ["dired-directory", "directory", {}], ["dired-symlink", "symlink", {}], ["dired-broken-symlink", "broken symlink", {}], ["dired-special", "special", {}], ["dired-set-id", "set id", {}], ["dired-perm-write", "perm write", {}], ["dired-mark", "mark", {}], ["dired-marked", "marked", {}], ["dired-flagged", "flagged", {}], ["dired-ignored", "ignored", {}], ["dired-warning", "warning", {}]]}, "dirvish": {"label": "dirvish", "preview": "dirvish", "faces": [["dirvish-inactive", "inactive", {"inherit": "shadow"}], ["dirvish-free-space", "free space", {"inherit": "font-lock-constant-face"}], ["dirvish-hl-line", "hl line", {"inherit": "highlight"}], ["dirvish-hl-line-inactive", "hl line inactive", {"inherit": "region"}], ["dirvish-file-modes", "file modes", {"fg": "#6b6b6b"}], ["dirvish-file-link-number", "file link number", {"inherit": "font-lock-constant-face"}], ["dirvish-file-user-id", "file user id", {"inherit": "font-lock-preprocessor-face"}], ["dirvish-file-group-id", "file group id", {"inherit": "dirvish-file-user-id"}], ["dirvish-file-size", "file size", {"underline": true, "inherit": "completions-annotations"}], ["dirvish-file-time", "file time", {"fg": "#979797"}], ["dirvish-file-inode-number", "file inode number", {"inherit": "dirvish-file-link-number"}], ["dirvish-file-device-number", "file device number", {"inherit": "dirvish-file-link-number"}], ["dirvish-subtree-guide", "subtree guide", {"bg": "unspecified", "underline": true, "inherit": "dired-ignored"}], ["dirvish-subtree-state", "subtree state", {"bg": "unspecified", "underline": true, "inherit": "dired-ignored"}], ["dirvish-collapse-dir-face", "collapse dir", {"inherit": "dired-directory"}], ["dirvish-collapse-empty-dir-face", "collapse empty dir", {"inherit": "shadow"}], ["dirvish-collapse-file-face", "collapse file", {"inherit": "default"}], ["dirvish-emerge-group-title", "emerge group title", {"inherit": "dired-ignored"}], ["dirvish-media-info-heading", "media info heading", {"inherit": ["dired-header", "bold"]}], ["dirvish-media-info-property-key", "media info property key", {"inherit": ["italic"]}], ["dirvish-narrow-match-face-0", "narrow match 0", {"fg": "#223fbf", "bold": true}], ["dirvish-narrow-match-face-1", "narrow match 1", {"fg": "#8f0075", "bold": true}], ["dirvish-narrow-match-face-2", "narrow match 2", {"fg": "#145a00", "bold": true}], ["dirvish-narrow-match-face-3", "narrow match 3", {"fg": "#804000", "bold": true}], ["dirvish-narrow-split", "narrow split", {"inherit": "font-lock-negation-char-face"}], ["dirvish-proc-running", "proc running", {"inherit": "warning"}], ["dirvish-proc-finished", "proc finished", {"inherit": "success"}], ["dirvish-proc-failed", "proc failed", {"inherit": "error"}], ["dirvish-git-commit-message-face", "git commit message", {"bg": "unspecified", "underline": true, "inherit": "dired-ignored"}], ["dirvish-vc-added-state", "vc added state", {"inherit": "vc-locally-added-state"}], ["dirvish-vc-edited-state", "vc edited state", {"inherit": "vc-edited-state"}], ["dirvish-vc-removed-state", "vc removed state", {"inherit": "vc-removed-state"}], ["dirvish-vc-conflict-state", "vc conflict state", {"inherit": "vc-conflict-state"}], ["dirvish-vc-locked-state", "vc locked state", {"inherit": "vc-locked-state"}], ["dirvish-vc-missing-state", "vc missing state", {"inherit": "vc-missing-state"}], ["dirvish-vc-needs-merge-face", "vc needs merge", {"bg": "#efcbcf"}], ["dirvish-vc-needs-update-state", "vc needs update state", {"inherit": "vc-needs-update-state"}], ["dirvish-vc-unregistered-face", "vc unregistered", {"inherit": "font-lock-constant-face"}]]}, "calibredb": {"label": "calibredb", "preview": "calibredb", "faces": [["calibredb-search-header-library-name-face", "search header library name", {}], ["calibredb-search-header-library-path-face", "search header library path", {}], ["calibredb-search-header-total-face", "search header total", {}], ["calibredb-search-header-filter-face", "search header filter", {}], ["calibredb-search-header-sort-face", "search header sort", {}], ["calibredb-search-header-highlight-face", "search header highlight", {}], ["calibredb-id-face", "id", {}], ["calibredb-title-face", "title", {}], ["calibredb-author-face", "author", {}], ["calibredb-format-face", "format", {}], ["calibredb-size-face", "size", {}], ["calibredb-tag-face", "tag", {}], ["calibredb-date-face", "date", {}], ["calibredb-mark-face", "mark", {}], ["calibredb-series-face", "series", {}], ["calibredb-publisher-face", "publisher", {}], ["calibredb-pubdate-face", "pubdate", {}], ["calibredb-language-face", "language", {}], ["calibredb-comment-face", "comment", {}], ["calibredb-archive-face", "archive", {}], ["calibredb-favorite-face", "favorite", {}], ["calibredb-file-face", "file", {}], ["calibredb-ids-face", "ids", {}], ["calibredb-highlight-face", "highlight", {}], ["calibredb-current-page-button-face", "current page button", {}], ["calibredb-mouse-face", "mouse", {}], ["calibredb-title-detailed-view-face", "title detailed view", {}], ["calibredb-edit-annotation-header-title-face", "edit annotation header title", {}]]}, "erc": {"label": "erc", "preview": "erc", "faces": [["erc-header-line", "header line", {}], ["erc-timestamp-face", "timestamp", {}], ["erc-notice-face", "notice", {}], ["erc-default-face", "default", {}], ["erc-current-nick-face", "current nick", {}], ["erc-my-nick-face", "my nick", {}], ["erc-my-nick-prefix-face", "my nick prefix", {}], ["erc-nick-default-face", "nick default", {}], ["erc-nick-prefix-face", "nick prefix", {}], ["erc-button-nick-default-face", "button nick default", {}], ["erc-nick-msg-face", "nick msg", {}], ["erc-direct-msg-face", "direct msg", {}], ["erc-action-face", "action", {}], ["erc-keyword-face", "keyword", {}], ["erc-pal-face", "pal", {}], ["erc-fool-face", "fool", {}], ["erc-dangerous-host-face", "dangerous host", {}], ["erc-error-face", "error", {}], ["erc-input-face", "input", {}], ["erc-prompt-face", "prompt", {}], ["erc-command-indicator-face", "command indicator", {}], ["erc-information", "information", {}], ["erc-button", "button", {}], ["erc-bold-face", "bold", {}], ["erc-italic-face", "italic", {}], ["erc-underline-face", "underline", {}], ["erc-inverse-face", "inverse", {}], ["erc-spoiler-face", "spoiler", {}], ["erc-fill-wrap-merge-indicator-face", "fill wrap merge indicator", {}], ["erc-keep-place-indicator-arrow", "keep place indicator arrow", {}], ["erc-keep-place-indicator-line", "keep place indicator line", {}]]}, "org-drill": {"label": "org-drill", "preview": "orgdrill", "faces": [["org-drill-hidden-cloze-face", "hidden cloze", {}], ["org-drill-visible-cloze-face", "visible cloze", {}], ["org-drill-visible-cloze-hint-face", "visible cloze hint", {}]]}, "org-noter": {"label": "org-noter", "preview": "orgnoter", "faces": [["org-noter-notes-exist-face", "notes exist", {}], ["org-noter-no-notes-exist-face", "no notes exist", {}]]}, "signel": {"label": "signel", "preview": "signel", "faces": [["signel-timestamp-face", "timestamp", {}], ["signel-my-msg-face", "my msg", {}], ["signel-other-msg-face", "other msg", {}], ["signel-error-face", "error", {}]]}, "pearl": {"label": "pearl", "preview": "pearl", "faces": [["pearl-preamble-summary", "preamble summary", {}], ["pearl-editable-comment", "editable comment", {}], ["pearl-readonly-comment", "readonly comment", {}], ["pearl-modified-highlight", "modified highlight", {}], ["pearl-modified-local", "modified local", {}], ["pearl-modified-unknown", "modified unknown", {}]]}, "slack": {"label": "slack", "preview": "slack", "faces": [["slack-room-info-title-face", "room info title", {}], ["slack-room-info-title-room-name-face", "room info title room name", {}], ["slack-room-info-section-title-face", "room info section title", {}], ["slack-room-info-section-label-face", "room info section label", {}], ["slack-room-unread-face", "room unread", {}], ["slack-message-output-header", "message output header", {}], ["slack-message-output-text", "message output text", {}], ["slack-message-output-reaction", "message output reaction", {}], ["slack-message-output-reaction-pressed", "message output reaction pressed", {}], ["slack-message-deleted-face", "message deleted", {}], ["slack-new-message-marker-face", "new message marker", {}], ["slack-all-thread-buffer-thread-header-face", "all thread buffer thread header", {}], ["slack-message-mention-face", "message mention", {}], ["slack-message-mention-me-face", "message mention me", {}], ["slack-message-mention-keyword-face", "message mention keyword", {}], ["slack-channel-button-face", "channel button", {}], ["slack-mrkdwn-bold-face", "mrkdwn bold", {}], ["slack-mrkdwn-italic-face", "mrkdwn italic", {}], ["slack-mrkdwn-code-face", "mrkdwn code", {}], ["slack-mrkdwn-code-block-face", "mrkdwn code block", {}], ["slack-mrkdwn-strike-face", "mrkdwn strike", {}], ["slack-mrkdwn-blockquote-face", "mrkdwn blockquote", {}], ["slack-mrkdwn-list-face", "mrkdwn list", {}], ["slack-attachment-header", "attachment header", {}], ["slack-attachment-footer", "attachment footer", {}], ["slack-attachment-pad", "attachment pad", {}], ["slack-attachment-field-title", "attachment field title", {}], ["slack-message-attachment-preview-header-face", "message attachment preview header", {}], ["slack-preview-face", "preview", {}], ["slack-block-highlight-source-overlay-face", "block highlight source overlay", {}], ["slack-message-action-face", "message action", {}], ["slack-message-action-primary-face", "message action primary", {}], ["slack-message-action-danger-face", "message action danger", {}], ["slack-button-block-element-face", "button block element", {}], ["slack-button-primary-block-element-face", "button primary block element", {}], ["slack-button-danger-block-element-face", "button danger block element", {}], ["slack-select-block-element-face", "select block element", {}], ["slack-overflow-block-element-face", "overflow block element", {}], ["slack-date-picker-block-element-face", "date picker block element", {}], ["slack-dialog-title-face", "dialog title", {}], ["slack-dialog-element-label-face", "dialog element label", {}], ["slack-dialog-element-hint-face", "dialog element hint", {}], ["slack-dialog-element-placeholder-face", "dialog element placeholder", {}], ["slack-dialog-element-error-face", "dialog element error", {}], ["slack-dialog-submit-button-face", "dialog submit button", {}], ["slack-dialog-cancel-button-face", "dialog cancel button", {}], ["slack-dialog-select-element-input-face", "dialog select element input", {}], ["slack-user-active-face", "user active", {}], ["slack-user-dnd-face", "user dnd", {}], ["slack-user-profile-header-face", "user profile header", {}], ["slack-user-profile-property-name-face", "user profile property name", {}], ["slack-profile-image-face", "profile image", {}], ["slack-search-result-message-header-face", "search result message header", {}], ["slack-search-result-message-username-face", "search result message username", {}], ["slack-modeline-has-unreads-face", "modeline has unreads", {}], ["slack-modeline-channel-has-unreads-face", "modeline channel has unreads", {}], ["slack-modeline-thread-has-unreads-face", "modeline thread has unreads", {}]]}, "telega": {"label": "telega", "preview": "telega", "faces": [["telega-root-heading", "root heading", {}], ["telega-tracking", "tracking", {}], ["telega-unread-unmuted-modeline", "unread unmuted modeline", {}], ["telega-username", "username", {}], ["telega-user-online-status", "user online status", {}], ["telega-user-non-online-status", "user non online status", {}], ["telega-secret-title", "secret title", {}], ["telega-contact-birthdays-today", "contact birthdays today", {}], ["telega-muted-count", "muted count", {}], ["telega-unmuted-count", "unmuted count", {}], ["telega-mention-count", "mention count", {}], ["telega-has-chatbuf-brackets", "has chatbuf brackets", {}], ["telega-delim-face", "delim", {}], ["telega-shadow", "shadow", {}], ["telega-link", "link", {}], ["telega-blue", "blue", {}], ["telega-red", "red", {}], ["telega-msg-heading", "msg heading", {}], ["telega-msg-user-title", "msg user title", {}], ["telega-msg-self-title", "msg self title", {}], ["telega-msg-deleted", "msg deleted", {}], ["telega-msg-sponsored", "msg sponsored", {}], ["telega-msg-inline-reply", "msg inline reply", {}], ["telega-msg-inline-forward", "msg inline forward", {}], ["telega-msg-inline-other", "msg inline other", {}], ["telega-entity-type-bold", "entity type bold", {}], ["telega-entity-type-italic", "entity type italic", {}], ["telega-entity-type-underline", "entity type underline", {}], ["telega-entity-type-strikethrough", "entity type strikethrough", {}], ["telega-entity-type-code", "entity type code", {}], ["telega-entity-type-pre", "entity type pre", {}], ["telega-entity-type-blockquote", "entity type blockquote", {}], ["telega-entity-type-mention", "entity type mention", {}], ["telega-entity-type-hashtag", "entity type hashtag", {}], ["telega-entity-type-cashtag", "entity type cashtag", {}], ["telega-entity-type-botcommand", "entity type botcommand", {}], ["telega-entity-type-texturl", "entity type texturl", {}], ["telega-entity-type-spoiler", "entity type spoiler", {}], ["telega-reaction", "reaction", {}], ["telega-reaction-chosen", "reaction chosen", {}], ["telega-reaction-paid", "reaction paid", {}], ["telega-reaction-paid-chosen", "reaction paid chosen", {}], ["telega-highlight-text-face", "highlight text", {}], ["telega-button-highlight", "button highlight", {}], ["telega-chat-prompt", "chat prompt", {}], ["telega-chat-prompt-aux", "chat prompt aux", {}], ["telega-chat-input-attachment", "chat input attachment", {}], ["telega-topic-button", "topic button", {}], ["telega-filter-active", "filter active", {}], ["telega-filter-button-active", "filter button active", {}], ["telega-filter-button-inactive", "filter button inactive", {}], ["telega-checklist-stats-done", "checklist stats done", {}], ["telega-checklist-stats-todo", "checklist stats todo", {}], ["telega-box-button", "box button", {}], ["telega-box-button-active", "box button active", {}], ["telega-box-button-default-active", "box button default active", {}], ["telega-box-button-default-passive", "box button default passive", {}], ["telega-box-button-primary-active", "box button primary active", {}], ["telega-box-button-primary-passive", "box button primary passive", {}], ["telega-box-button-success-active", "box button success active", {}], ["telega-box-button-success-passive", "box button success passive", {}], ["telega-box-button-danger-active", "box button danger active", {}], ["telega-box-button-danger-passive", "box button danger passive", {}], ["telega-box-button-ui-active", "box button ui active", {}], ["telega-box-button-ui-passive", "box button ui passive", {}], ["telega-box-button2-active", "box button2 active", {}], ["telega-box-button2-passive", "box button2 passive", {}], ["telega-box-button2-white-foreground", "box button2 white foreground", {}], ["telega-describe-item-title", "describe item title", {}], ["telega-describe-section-title", "describe section title", {}], ["telega-describe-subsection-title", "describe subsection title", {}], ["telega-enckey-00", "enckey 00", {}], ["telega-enckey-01", "enckey 01", {}], ["telega-enckey-10", "enckey 10", {}], ["telega-enckey-11", "enckey 11", {}], ["telega-palette-builtin-blue", "palette builtin blue", {}], ["telega-palette-builtin-green", "palette builtin green", {}], ["telega-palette-builtin-orange", "palette builtin orange", {}], ["telega-palette-builtin-purple", "palette builtin purple", {}], ["telega-webpage-title", "webpage title", {}], ["telega-webpage-subtitle", "webpage subtitle", {}], ["telega-webpage-header", "webpage header", {}], ["telega-webpage-subheader", "webpage subheader", {}], ["telega-webpage-outline", "webpage outline", {}], ["telega-webpage-fixed", "webpage fixed", {}], ["telega-webpage-preformatted", "webpage preformatted", {}], ["telega-webpage-marked", "webpage marked", {}], ["telega-webpage-strike-through", "webpage strike through", {}], ["telega-webpage-chat-link", "webpage chat link", {}], ["telega-link-preview-sitename", "link preview sitename", {}], ["telega-link-preview-title", "link preview title", {}]]}, "shr": {"label": "shr (HTML: nov/eww/mail)", "preview": "shr", "faces": [["shr-h1", "h1", {}], ["shr-h2", "h2", {}], ["shr-h3", "h3", {}], ["shr-h4", "h4", {}], ["shr-h5", "h5", {}], ["shr-h6", "h6", {}], ["shr-text", "text", {}], ["shr-link", "link", {}], ["shr-selected-link", "selected link", {}], ["shr-code", "code", {}], ["shr-mark", "mark", {}], ["shr-strike-through", "strike through", {}], ["shr-sup", "sup", {}], ["shr-abbreviation", "abbreviation", {}], ["shr-sliced-image", "sliced image", {}]]}, "2048-game": {"label": "2048-game", "preview": "generic", "faces": [["twentyfortyeight-face-1024", "twentyfortyeight 1024", {"fg": "#000000", "bg": "#ffd700"}], ["twentyfortyeight-face-128", "twentyfortyeight 128", {"fg": "#ffffff", "bg": "#8b0000"}], ["twentyfortyeight-face-16", "twentyfortyeight 16", {"fg": "#000000", "bg": "#ffa500"}], ["twentyfortyeight-face-2", "twentyfortyeight 2", {"fg": "#000000", "bg": "#f0e68c"}], ["twentyfortyeight-face-2048", "twentyfortyeight 2048", {"fg": "#000000", "bg": "#ffff00"}], ["twentyfortyeight-face-256", "twentyfortyeight 256", {"fg": "#ffffff", "bg": "#8b008b"}], ["twentyfortyeight-face-32", "twentyfortyeight 32", {"fg": "#000000", "bg": "#ff4500"}], ["twentyfortyeight-face-4", "twentyfortyeight 4", {"fg": "#000000", "bg": "#deb887"}], ["twentyfortyeight-face-512", "twentyfortyeight 512", {"fg": "#000000", "bg": "#ff00ff"}], ["twentyfortyeight-face-64", "twentyfortyeight 64", {"fg": "#ffffff", "bg": "#b22222"}], ["twentyfortyeight-face-8", "twentyfortyeight 8", {"fg": "#000000", "bg": "#cd8500"}]]}, "alert": {"label": "alert", "preview": "generic", "faces": [["alert-high-face", "high", {"fg": "#ff8c00", "bold": true}], ["alert-low-face", "low", {"fg": "#00008b"}], ["alert-moderate-face", "moderate", {"fg": "#ffd700", "bold": true}], ["alert-normal-face", "normal", {}], ["alert-trivial-face", "trivial", {"fg": "#9400d3"}], ["alert-urgent-face", "urgent", {"fg": "#ff0000", "bold": true}]]}, "all-the-icons": {"label": "all-the-icons", "preview": "generic", "faces": [["all-the-icons-blue", "blue", {"fg": "#6a9fb5"}], ["all-the-icons-blue-alt", "blue alt", {"fg": "#2188b6"}], ["all-the-icons-cyan", "cyan", {"fg": "#75b5aa"}], ["all-the-icons-cyan-alt", "cyan alt", {"fg": "#0595bd"}], ["all-the-icons-dblue", "dblue", {"fg": "#446674"}], ["all-the-icons-dcyan", "dcyan", {"fg": "#48746d"}], ["all-the-icons-dgreen", "dgreen", {"fg": "#6d8143"}], ["all-the-icons-dmaroon", "dmaroon", {"fg": "#72584b"}], ["all-the-icons-dorange", "dorange", {"fg": "#915b2d"}], ["all-the-icons-dpink", "dpink", {"fg": "#7e5d5f"}], ["all-the-icons-dpurple", "dpurple", {"fg": "#694863"}], ["all-the-icons-dred", "dred", {"fg": "#843031"}], ["all-the-icons-dsilver", "dsilver", {"fg": "#838484"}], ["all-the-icons-dyellow", "dyellow", {"fg": "#b48d56"}], ["all-the-icons-green", "green", {"fg": "#90a959"}], ["all-the-icons-lblue", "lblue", {"fg": "#677174"}], ["all-the-icons-lcyan", "lcyan", {"fg": "#2c7d6e"}], ["all-the-icons-lgreen", "lgreen", {"fg": "#3d6837"}], ["all-the-icons-lmaroon", "lmaroon", {"fg": "#ce7a4e"}], ["all-the-icons-lorange", "lorange", {"fg": "#ffa500"}], ["all-the-icons-lpink", "lpink", {"fg": "#ff505b"}], ["all-the-icons-lpurple", "lpurple", {"fg": "#e69dd6"}], ["all-the-icons-lred", "lred", {"fg": "#eb595a"}], ["all-the-icons-lsilver", "lsilver", {"fg": "#7f7869"}], ["all-the-icons-lyellow", "lyellow", {"fg": "#ff9300"}], ["all-the-icons-maroon", "maroon", {"fg": "#8f5536"}], ["all-the-icons-orange", "orange", {"fg": "#d4843e"}], ["all-the-icons-pink", "pink", {"fg": "#fc505b"}], ["all-the-icons-purple", "purple", {"fg": "#68295b"}], ["all-the-icons-purple-alt", "purple alt", {"fg": "#5d54e1"}], ["all-the-icons-red", "red", {"fg": "#ac4142"}], ["all-the-icons-red-alt", "red alt", {"fg": "#843031"}], ["all-the-icons-silver", "silver", {"fg": "#716e68"}], ["all-the-icons-yellow", "yellow", {"fg": "#ffcc0e"}]]}, "company": {"label": "company", "preview": "generic", "faces": [["company-echo", "echo", {}], ["company-echo-common", "echo common", {"fg": "#8b1a1a"}], ["company-preview", "preview", {"inherit": ["company-tooltip-selection", "company-tooltip"]}], ["company-preview-common", "preview common", {"inherit": "company-tooltip-common-selection"}], ["company-preview-search", "preview search", {"inherit": "company-tooltip-common-selection"}], ["company-tooltip", "tooltip", {"fg": "#000000", "bg": "#fff8dc"}], ["company-tooltip-annotation", "tooltip annotation", {"fg": "#8b1a1a"}], ["company-tooltip-annotation-selection", "tooltip annotation selection", {"inherit": "company-tooltip-annotation"}], ["company-tooltip-common", "tooltip common", {"fg": "#8b0000"}], ["company-tooltip-common-selection", "tooltip common selection", {"inherit": "company-tooltip-common"}], ["company-tooltip-deprecated", "tooltip deprecated", {"strike": true}], ["company-tooltip-mouse", "tooltip mouse", {"inherit": "highlight"}], ["company-tooltip-quick-access", "tooltip quick access", {"inherit": "company-tooltip-annotation"}], ["company-tooltip-quick-access-selection", "tooltip quick access selection", {"inherit": "company-tooltip-annotation-selection"}], ["company-tooltip-scrollbar-thumb", "tooltip scrollbar thumb", {"bg": "#cd5c5c"}], ["company-tooltip-scrollbar-track", "tooltip scrollbar track", {"bg": "#f5deb3"}], ["company-tooltip-search", "tooltip search", {"inherit": "highlight"}], ["company-tooltip-search-selection", "tooltip search selection", {"inherit": "highlight"}], ["company-tooltip-selection", "tooltip selection", {"bg": "#add8e6"}]]}, "company-box": {"label": "company-box", "preview": "generic", "faces": [["company-box-annotation", "annotation", {}], ["company-box-background", "background", {}], ["company-box-candidate", "candidate", {}], ["company-box-numbers", "numbers", {}], ["company-box-scrollbar", "scrollbar", {}], ["company-box-selection", "selection", {}]]}, "consult": {"label": "consult", "preview": "generic", "faces": [["consult-async-failed", "async failed", {"inherit": "error"}], ["consult-async-finished", "async finished", {"inherit": "success"}], ["consult-async-running", "async running", {"inherit": "consult-narrow-indicator"}], ["consult-async-split", "async split", {"inherit": "font-lock-negation-char-face"}], ["consult-bookmark", "bookmark", {"inherit": "font-lock-constant-face"}], ["consult-buffer", "buffer", {}], ["consult-file", "file", {"inherit": "font-lock-function-name-face"}], ["consult-grep-context", "grep context", {"inherit": "shadow"}], ["consult-help", "help", {"inherit": "shadow"}], ["consult-highlight-mark", "highlight mark", {"inherit": "consult-highlight-match"}], ["consult-highlight-match", "highlight match", {"inherit": "match"}], ["consult-key", "key", {"inherit": "font-lock-keyword-face"}], ["consult-line-number", "line number", {"inherit": "consult-key"}], ["consult-line-number-prefix", "line number prefix", {"inherit": "line-number"}], ["consult-line-number-wrapped", "line number wrapped", {"inherit": "font-lock-warning-face"}], ["consult-narrow-indicator", "narrow indicator", {"inherit": "warning"}], ["consult-preview-insertion", "preview insertion", {"inherit": "region"}], ["consult-preview-line", "preview line", {"inherit": "consult-preview-insertion"}], ["consult-preview-match", "preview match", {"inherit": "isearch"}], ["consult-separator", "separator", {"fg": "#ccc"}]]}, "embark": {"label": "embark", "preview": "generic", "faces": [["embark-collect-annotation", "collect annotation", {"inherit": "completions-annotations"}], ["embark-collect-candidate", "collect candidate", {"inherit": "default"}], ["embark-collect-group-separator", "collect group separator", {"strike": true, "inherit": "shadow"}], ["embark-collect-group-title", "collect group title", {"italic": true, "inherit": "shadow"}], ["embark-keybinding", "keybinding", {"inherit": "success"}], ["embark-keybinding-repeat", "keybinding repeat", {"inherit": "font-lock-builtin-face"}], ["embark-keymap", "keymap", {"italic": true}], ["embark-selected", "selected", {"inherit": "match"}], ["embark-target", "target", {"inherit": "highlight"}], ["embark-verbose-indicator-documentation", "verbose indicator documentation", {"inherit": "completions-annotations"}], ["embark-verbose-indicator-shadowed", "verbose indicator shadowed", {"inherit": "shadow"}], ["embark-verbose-indicator-title", "verbose indicator title", {"bold": true, "height": 1.1}]]}, "emms": {"label": "emms", "preview": "generic", "faces": [["emms-browser-album-face", "browser album", {}], ["emms-browser-albumartist-face", "browser albumartist", {}], ["emms-browser-artist-face", "browser artist", {}], ["emms-browser-composer-face", "browser composer", {}], ["emms-browser-performer-face", "browser performer", {}], ["emms-browser-track-face", "browser track", {}], ["emms-browser-year/genre-face", "browser year/genre", {}], ["emms-metaplaylist-mode-current-face", "metaplaylist mode current", {"fg": "#ffffff", "bg": "#cd0000"}], ["emms-metaplaylist-mode-face", "metaplaylist mode", {"fg": "#cd0000"}], ["emms-playlist-selected-face", "playlist selected", {"fg": "#ffffff", "bg": "#0000cd"}], ["emms-playlist-track-face", "playlist track", {"fg": "#0000ff"}]]}, "flyspell-correct": {"label": "flyspell-correct", "preview": "generic", "faces": [["flyspell-correct-highlight-face", "highlight", {"inherit": "isearch"}]]}, "highlight-indent-guides": {"label": "highlight-indent-guides", "preview": "generic", "faces": [["highlight-indent-guides-character-face", "character", {}], ["highlight-indent-guides-even-face", "even", {}], ["highlight-indent-guides-odd-face", "odd", {}], ["highlight-indent-guides-stack-character-face", "stack character", {}], ["highlight-indent-guides-stack-even-face", "stack even", {}], ["highlight-indent-guides-stack-odd-face", "stack odd", {}], ["highlight-indent-guides-top-character-face", "top character", {}], ["highlight-indent-guides-top-even-face", "top even", {}], ["highlight-indent-guides-top-odd-face", "top odd", {}]]}, "hl-todo": {"label": "hl-todo", "preview": "generic", "faces": [["hl-todo", "hl todo", {"fg": "#cc9393", "bold": true}], ["hl-todo-flymake-type", "flymake type", {"inherit": "font-lock-keyword-face"}]]}, "json-mode": {"label": "json-mode", "preview": "generic", "faces": [["json-mode-object-name-face", "object name", {"inherit": "font-lock-variable-name-face"}]]}, "llama": {"label": "llama", "preview": "generic", "faces": [["llama-##-macro", "## macro", {"inherit": "font-lock-function-call-face"}], ["llama-deleted-argument", "deleted argument", {"box": {"style": "line", "width": 1, "color": "#ff0000"}}], ["llama-llama-macro", "llama macro", {"inherit": "font-lock-keyword-face"}], ["llama-mandatory-argument", "mandatory argument", {"inherit": "font-lock-variable-use-face"}], ["llama-optional-argument", "optional argument", {"inherit": "font-lock-type-face"}]]}, "lv": {"label": "lv", "preview": "generic", "faces": [["lv-separator", "separator", {"bg": "#cccccc"}]]}, "magit-section": {"label": "magit-section", "preview": "generic", "faces": [["magit-left-margin", "magit left margin", {}], ["magit-section-child-count", "child count", {}], ["magit-section-heading", "heading", {}], ["magit-section-heading-selection", "heading selection", {}], ["magit-section-highlight", "highlight", {}], ["magit-section-secondary-heading", "secondary heading", {}]]}, "malyon": {"label": "malyon", "preview": "generic", "faces": [["malyon-face-bold", "face bold", {"inherit": "bold"}], ["malyon-face-error", "face error", {"inherit": "error"}], ["malyon-face-italic", "face italic", {"inherit": "italic"}], ["malyon-face-plain", "face plain", {"inherit": "default"}], ["malyon-face-reverse", "face reverse", {"inherit": "default"}]]}, "marginalia": {"label": "marginalia", "preview": "generic", "faces": [["marginalia-archive", "archive", {"inherit": "warning"}], ["marginalia-char", "char", {"inherit": "marginalia-key"}], ["marginalia-date", "date", {"inherit": "marginalia-key"}], ["marginalia-documentation", "documentation", {"inherit": "completions-annotations"}], ["marginalia-file-name", "file name", {"inherit": "marginalia-documentation"}], ["marginalia-file-owner", "file owner", {"inherit": "font-lock-preprocessor-face"}], ["marginalia-file-priv-dir", "file priv dir", {"inherit": "font-lock-keyword-face"}], ["marginalia-file-priv-exec", "file priv exec", {"inherit": "font-lock-function-name-face"}], ["marginalia-file-priv-link", "file priv link", {"inherit": "font-lock-keyword-face"}], ["marginalia-file-priv-no", "file priv no", {"inherit": "shadow"}], ["marginalia-file-priv-other", "file priv other", {"inherit": "font-lock-constant-face"}], ["marginalia-file-priv-rare", "file priv rare", {"inherit": "font-lock-variable-name-face"}], ["marginalia-file-priv-read", "file priv read", {"inherit": "font-lock-type-face"}], ["marginalia-file-priv-write", "file priv write", {"inherit": "font-lock-builtin-face"}], ["marginalia-function", "function", {"inherit": "font-lock-function-name-face"}], ["marginalia-installed", "installed", {"inherit": "success"}], ["marginalia-key", "key", {"inherit": "font-lock-keyword-face"}], ["marginalia-lighter", "lighter", {"inherit": "marginalia-size"}], ["marginalia-list", "list", {"inherit": "font-lock-constant-face"}], ["marginalia-mode", "mode", {"inherit": "marginalia-key"}], ["marginalia-modified", "modified", {"inherit": "font-lock-negation-char-face"}], ["marginalia-null", "null", {"inherit": "font-lock-comment-face"}], ["marginalia-number", "number", {"inherit": "font-lock-constant-face"}], ["marginalia-off", "off", {"inherit": "error"}], ["marginalia-on", "on", {"inherit": "success"}], ["marginalia-size", "size", {"inherit": "marginalia-number"}], ["marginalia-string", "string", {"inherit": "font-lock-string-face"}], ["marginalia-symbol", "symbol", {"inherit": "font-lock-type-face"}], ["marginalia-true", "true", {"inherit": "font-lock-builtin-face"}], ["marginalia-type", "type", {"inherit": "marginalia-key"}], ["marginalia-value", "value", {"inherit": "marginalia-key"}], ["marginalia-version", "version", {"inherit": "marginalia-number"}]]}, "markdown-mode": {"label": "markdown-mode", "preview": "generic", "faces": [["markdown-blockquote-face", "markdown blockquote", {"inherit": "font-lock-doc-face"}], ["markdown-bold-face", "markdown bold", {"inherit": "bold"}], ["markdown-code-face", "markdown code", {"inherit": "fixed-pitch"}], ["markdown-comment-face", "markdown comment", {"inherit": "font-lock-comment-face"}], ["markdown-footnote-marker-face", "markdown footnote marker", {"inherit": "markdown-markup-face"}], ["markdown-footnote-text-face", "markdown footnote text", {"inherit": "font-lock-comment-face"}], ["markdown-gfm-checkbox-face", "markdown gfm checkbox", {"inherit": "font-lock-builtin-face"}], ["markdown-header-delimiter-face", "markdown header delimiter", {"inherit": "markdown-markup-face"}], ["markdown-header-face", "markdown header", {"bold": true, "inherit": ["font-lock-function-name-face"]}], ["markdown-header-face-1", "markdown header 1", {"inherit": "markdown-header-face"}], ["markdown-header-face-2", "markdown header 2", {"inherit": "markdown-header-face"}], ["markdown-header-face-3", "markdown header 3", {"inherit": "markdown-header-face"}], ["markdown-header-face-4", "markdown header 4", {"inherit": "markdown-header-face"}], ["markdown-header-face-5", "markdown header 5", {"inherit": "markdown-header-face"}], ["markdown-header-face-6", "markdown header 6", {"inherit": "markdown-header-face"}], ["markdown-header-rule-face", "markdown header rule", {"inherit": "markdown-markup-face"}], ["markdown-highlight-face", "markdown highlight", {"inherit": "highlight"}], ["markdown-highlighting-face", "markdown highlighting", {"fg": "#000000", "bg": "#ffff00"}], ["markdown-hr-face", "markdown hr", {"inherit": "markdown-markup-face"}], ["markdown-html-attr-name-face", "markdown html attr name", {"inherit": "font-lock-variable-name-face"}], ["markdown-html-attr-value-face", "markdown html attr value", {"inherit": "font-lock-string-face"}], ["markdown-html-entity-face", "markdown html entity", {"inherit": "font-lock-variable-name-face"}], ["markdown-html-tag-delimiter-face", "markdown html tag delimiter", {"inherit": "markdown-markup-face"}], ["markdown-html-tag-name-face", "markdown html tag name", {"inherit": "font-lock-type-face"}], ["markdown-inline-code-face", "markdown inline code", {"inherit": ["markdown-code-face", "font-lock-constant-face"]}], ["markdown-italic-face", "markdown italic", {"inherit": "italic"}], ["markdown-language-info-face", "markdown language info", {"inherit": "font-lock-string-face"}], ["markdown-language-keyword-face", "markdown language keyword", {"inherit": "font-lock-type-face"}], ["markdown-line-break-face", "markdown line break", {"underline": true, "inherit": "font-lock-constant-face"}], ["markdown-link-face", "markdown link", {"inherit": "link"}], ["markdown-link-title-face", "markdown link title", {"inherit": "font-lock-comment-face"}], ["markdown-list-face", "markdown list", {"inherit": "markdown-markup-face"}], ["markdown-markup-face", "markdown markup", {"inherit": "shadow"}], ["markdown-math-face", "markdown math", {"inherit": "font-lock-string-face"}], ["markdown-metadata-key-face", "markdown metadata key", {"inherit": "font-lock-variable-name-face"}], ["markdown-metadata-value-face", "markdown metadata value", {"inherit": "font-lock-string-face"}], ["markdown-missing-link-face", "markdown missing link", {"inherit": "font-lock-warning-face"}], ["markdown-plain-url-face", "markdown plain url", {"inherit": "markdown-link-face"}], ["markdown-pre-face", "markdown pre", {"inherit": ["markdown-code-face", "font-lock-constant-face"]}], ["markdown-reference-face", "markdown reference", {"inherit": "markdown-markup-face"}], ["markdown-strike-through-face", "markdown strike through", {"strike": true}], ["markdown-table-face", "markdown table", {"inherit": ["markdown-code-face"]}], ["markdown-url-face", "markdown url", {"inherit": "font-lock-string-face"}]]}, "nerd-icons": {"label": "nerd-icons", "preview": "generic", "faces": [["nerd-icons-blue", "blue", {"fg": "#6a9fb5"}], ["nerd-icons-blue-alt", "blue alt", {"fg": "#2188b6"}], ["nerd-icons-cyan", "cyan", {"fg": "#75b5aa"}], ["nerd-icons-cyan-alt", "cyan alt", {"fg": "#0595bd"}], ["nerd-icons-dblue", "dblue", {"fg": "#446674"}], ["nerd-icons-dcyan", "dcyan", {"fg": "#48746d"}], ["nerd-icons-dgreen", "dgreen", {"fg": "#6d8143"}], ["nerd-icons-dmaroon", "dmaroon", {"fg": "#72584b"}], ["nerd-icons-dorange", "dorange", {"fg": "#915b2d"}], ["nerd-icons-dpink", "dpink", {"fg": "#7e5d5f"}], ["nerd-icons-dpurple", "dpurple", {"fg": "#694863"}], ["nerd-icons-dred", "dred", {"fg": "#843031"}], ["nerd-icons-dsilver", "dsilver", {"fg": "#838484"}], ["nerd-icons-dyellow", "dyellow", {"fg": "#b48d56"}], ["nerd-icons-green", "green", {"fg": "#90a959"}], ["nerd-icons-lblue", "lblue", {"fg": "#677174"}], ["nerd-icons-lcyan", "lcyan", {"fg": "#2c7d6e"}], ["nerd-icons-lgreen", "lgreen", {"fg": "#3d6837"}], ["nerd-icons-lmaroon", "lmaroon", {"fg": "#ce7a4e"}], ["nerd-icons-lorange", "lorange", {"fg": "#ffa500"}], ["nerd-icons-lpink", "lpink", {"fg": "#ff505b"}], ["nerd-icons-lpurple", "lpurple", {"fg": "#e69dd6"}], ["nerd-icons-lred", "lred", {"fg": "#eb595a"}], ["nerd-icons-lsilver", "lsilver", {"fg": "#7f7869"}], ["nerd-icons-lyellow", "lyellow", {"fg": "#ff9300"}], ["nerd-icons-maroon", "maroon", {"fg": "#8f5536"}], ["nerd-icons-orange", "orange", {"fg": "#d4843e"}], ["nerd-icons-pink", "pink", {"fg": "#fc505b"}], ["nerd-icons-purple", "purple", {"fg": "#68295b"}], ["nerd-icons-purple-alt", "purple alt", {"fg": "#5d54e1"}], ["nerd-icons-red", "red", {"fg": "#ac4142"}], ["nerd-icons-red-alt", "red alt", {"fg": "#843031"}], ["nerd-icons-silver", "silver", {"fg": "#716e68"}], ["nerd-icons-yellow", "yellow", {"fg": "#ffcc0e"}]]}, "nerd-icons-completion": {"label": "nerd-icons-completion", "preview": "generic", "faces": [["nerd-icons-completion-dir-face", "dir", {}]]}, "orderless": {"label": "orderless", "preview": "generic", "faces": [["orderless-match-face-0", "match 0", {"fg": "#223fbf", "bold": true}], ["orderless-match-face-1", "match 1", {"fg": "#8f0075", "bold": true}], ["orderless-match-face-2", "match 2", {"fg": "#145a00", "bold": true}], ["orderless-match-face-3", "match 3", {"fg": "#804000", "bold": true}]]}, "org-roam": {"label": "org-roam", "preview": "generic", "faces": [["org-roam-dailies-calendar-note", "dailies calendar note", {}], ["org-roam-dim", "dim", {}], ["org-roam-header-line", "header line", {}], ["org-roam-olp", "olp", {}], ["org-roam-preview-heading", "preview heading", {}], ["org-roam-preview-heading-highlight", "preview heading highlight", {}], ["org-roam-preview-heading-selection", "preview heading selection", {}], ["org-roam-preview-region", "preview region", {}], ["org-roam-title", "title", {}]]}, "org-superstar": {"label": "org-superstar", "preview": "generic", "faces": [["org-superstar-first", "first", {"inherit": "org-warning"}], ["org-superstar-header-bullet", "header bullet", {}], ["org-superstar-item", "item", {"inherit": "default"}], ["org-superstar-leading", "leading", {"fg": "#bebebe", "inherit": "default"}]]}, "prescient": {"label": "prescient", "preview": "generic", "faces": [["prescient-primary-highlight", "primary highlight", {"bold": true}], ["prescient-secondary-highlight", "secondary highlight", {"underline": true, "inherit": "prescient-primary-highlight"}]]}, "rainbow-delimiters": {"label": "rainbow-delimiters", "preview": "generic", "faces": [["rainbow-delimiters-base-error-face", "base error", {"fg": "#88090b", "inherit": "rainbow-delimiters-base-face"}], ["rainbow-delimiters-base-face", "base", {"inherit": "unspecified"}], ["rainbow-delimiters-depth-1-face", "depth 1", {"fg": "#707183", "inherit": "rainbow-delimiters-base-face"}], ["rainbow-delimiters-depth-2-face", "depth 2", {"fg": "#7388d6", "inherit": "rainbow-delimiters-base-face"}], ["rainbow-delimiters-depth-3-face", "depth 3", {"fg": "#909183", "inherit": "rainbow-delimiters-base-face"}], ["rainbow-delimiters-depth-4-face", "depth 4", {"fg": "#709870", "inherit": "rainbow-delimiters-base-face"}], ["rainbow-delimiters-depth-5-face", "depth 5", {"fg": "#907373", "inherit": "rainbow-delimiters-base-face"}], ["rainbow-delimiters-depth-6-face", "depth 6", {"fg": "#6276ba", "inherit": "rainbow-delimiters-base-face"}], ["rainbow-delimiters-depth-7-face", "depth 7", {"fg": "#858580", "inherit": "rainbow-delimiters-base-face"}], ["rainbow-delimiters-depth-8-face", "depth 8", {"fg": "#80a880", "inherit": "rainbow-delimiters-base-face"}], ["rainbow-delimiters-depth-9-face", "depth 9", {"fg": "#887070", "inherit": "rainbow-delimiters-base-face"}], ["rainbow-delimiters-mismatched-face", "mismatched", {"inherit": "rainbow-delimiters-unmatched-face"}], ["rainbow-delimiters-unmatched-face", "unmatched", {"inherit": "rainbow-delimiters-base-error-face"}]]}, "symbol-overlay": {"label": "symbol-overlay", "preview": "generic", "faces": [["symbol-overlay-default-face", "default", {"inherit": "highlight"}], ["symbol-overlay-face-1", "face 1", {"fg": "#000000", "bg": "#1e90ff"}], ["symbol-overlay-face-2", "face 2", {"fg": "#000000", "bg": "#ff69b4"}], ["symbol-overlay-face-3", "face 3", {"fg": "#000000", "bg": "#ffff00"}], ["symbol-overlay-face-4", "face 4", {"fg": "#000000", "bg": "#da70d6"}], ["symbol-overlay-face-5", "face 5", {"fg": "#000000", "bg": "#ff0000"}], ["symbol-overlay-face-6", "face 6", {"fg": "#000000", "bg": "#fa8072"}], ["symbol-overlay-face-7", "face 7", {"fg": "#000000", "bg": "#00ff7f"}], ["symbol-overlay-face-8", "face 8", {"fg": "#000000", "bg": "#40e0d0"}]]}, "tmr": {"label": "tmr", "preview": "generic", "faces": [["tmr-description", "description", {"inherit": "bold"}], ["tmr-duration", "duration", {}], ["tmr-end-time", "end time", {"inherit": "error"}], ["tmr-finished", "finished", {"inherit": "error"}], ["tmr-is-acknowledged", "is acknowledged", {"inherit": "success"}], ["tmr-must-be-acknowledged", "must be acknowledged", {"inherit": "warning"}], ["tmr-start-time", "start time", {"inherit": "success"}], ["tmr-tabulated-acknowledgement", "tabulated acknowledgement", {"inherit": "bold"}], ["tmr-tabulated-description", "tabulated description", {"inherit": "font-lock-doc-face"}], ["tmr-tabulated-end-time", "tabulated end time", {"fg": "#800040"}], ["tmr-tabulated-remaining-time", "tabulated remaining time", {"fg": "#603f00"}], ["tmr-tabulated-start-time", "tabulated start time", {"fg": "#004476"}]]}, "transient": {"label": "transient", "preview": "generic", "faces": [["transient-active-infix", "active infix", {"inherit": "highlight"}], ["transient-argument", "argument", {"bold": true, "inherit": "font-lock-string-face"}], ["transient-delimiter", "delimiter", {"inherit": "shadow"}], ["transient-disabled-suffix", "disabled suffix", {"fg": "#000000", "bg": "#ff0000", "bold": true}], ["transient-enabled-suffix", "enabled suffix", {"fg": "#000000", "bg": "#00ff00", "bold": true}], ["transient-heading", "heading", {"inherit": "font-lock-keyword-face"}], ["transient-higher-level", "higher level", {"box": {"style": "line", "width": 1, "color": "grey60"}}], ["transient-inactive-argument", "inactive argument", {"inherit": "shadow"}], ["transient-inactive-value", "inactive value", {"inherit": "shadow"}], ["transient-inapt-argument", "inapt argument", {"bold": true, "inherit": "shadow"}], ["transient-inapt-suffix", "inapt suffix", {"italic": true, "inherit": "shadow"}], ["transient-key", "key", {"inherit": "font-lock-builtin-face"}], ["transient-key-exit", "key exit", {"fg": "#aa2222", "inherit": "transient-key"}], ["transient-key-noop", "key noop", {"fg": "#cccccc", "inherit": "transient-key"}], ["transient-key-recurse", "key recurse", {"fg": "#2266ff", "inherit": "transient-key"}], ["transient-key-return", "key return", {"fg": "#aaaa11", "inherit": "transient-key"}], ["transient-key-stack", "key stack", {"fg": "#dd4488", "inherit": "transient-key"}], ["transient-key-stay", "key stay", {"fg": "#22aa22", "inherit": "transient-key"}], ["transient-mismatched-key", "mismatched key", {"box": {"style": "line", "width": 1, "color": "#ff00ff"}}], ["transient-nonstandard-key", "nonstandard key", {"box": {"style": "line", "width": 1, "color": "#00ffff"}}], ["transient-unreachable", "unreachable", {"inherit": "shadow"}], ["transient-unreachable-key", "unreachable key", {"inherit": ["shadow", "transient-key"]}], ["transient-value", "value", {"bold": true, "inherit": "font-lock-string-face"}]]}, "vertico": {"label": "vertico", "preview": "generic", "faces": [["vertico-current", "current", {"inherit": "highlight"}], ["vertico-group-separator", "group separator", {"strike": true, "inherit": "vertico-group-title"}], ["vertico-group-title", "group title", {"italic": true, "inherit": "shadow"}], ["vertico-multiline", "multiline", {"inherit": "shadow"}]]}, "web-mode": {"label": "web-mode", "preview": "generic", "faces": [["web-mode-annotation-face", "annotation", {"inherit": "web-mode-comment-face"}], ["web-mode-annotation-html-face", "annotation html", {"italic": true, "inherit": "web-mode-annotation-face"}], ["web-mode-annotation-tag-face", "annotation tag", {"underline": true, "inherit": "web-mode-annotation-face"}], ["web-mode-annotation-type-face", "annotation type", {"bold": true, "inherit": "web-mode-annotation-face"}], ["web-mode-annotation-value-face", "annotation value", {"italic": true, "inherit": "web-mode-annotation-face"}], ["web-mode-block-attr-name-face", "block attr name", {"fg": "#8fbc8f"}], ["web-mode-block-attr-value-face", "block attr value", {"fg": "#5f9ea0"}], ["web-mode-block-comment-face", "block comment", {"inherit": "web-mode-comment-face"}], ["web-mode-block-control-face", "block control", {"inherit": "font-lock-preprocessor-face"}], ["web-mode-block-delimiter-face", "block delimiter", {"inherit": "font-lock-preprocessor-face"}], ["web-mode-block-face", "block", {"bg": "#ffffe0"}], ["web-mode-block-string-face", "block string", {"inherit": "web-mode-string-face"}], ["web-mode-bold-face", "bold", {"bold": true}], ["web-mode-builtin-face", "builtin", {"inherit": "font-lock-builtin-face"}], ["web-mode-comment-face", "comment", {"inherit": "font-lock-comment-face"}], ["web-mode-comment-keyword-face", "comment keyword", {"bold": true}], ["web-mode-constant-face", "constant", {"inherit": "font-lock-constant-face"}], ["web-mode-css-at-rule-face", "css at rule", {"inherit": "font-lock-constant-face"}], ["web-mode-css-color-face", "css color", {"inherit": "font-lock-builtin-face"}], ["web-mode-css-comment-face", "css comment", {"inherit": "web-mode-comment-face"}], ["web-mode-css-function-face", "css function", {"inherit": "font-lock-builtin-face"}], ["web-mode-css-priority-face", "css priority", {"inherit": "font-lock-builtin-face"}], ["web-mode-css-property-name-face", "css property name", {"inherit": "font-lock-variable-name-face"}], ["web-mode-css-pseudo-class-face", "css pseudo class", {"inherit": "font-lock-builtin-face"}], ["web-mode-css-selector-class-face", "css selector class", {"inherit": "font-lock-keyword-face"}], ["web-mode-css-selector-face", "css selector", {"inherit": "font-lock-keyword-face"}], ["web-mode-css-selector-tag-face", "css selector tag", {"inherit": "font-lock-keyword-face"}], ["web-mode-css-string-face", "css string", {"inherit": "web-mode-string-face"}], ["web-mode-css-variable-face", "css variable", {"italic": true, "inherit": "web-mode-variable-name-face"}], ["web-mode-current-column-highlight-face", "current column highlight", {"bg": "#3e3c36"}], ["web-mode-current-element-highlight-face", "current element highlight", {"fg": "#ffffff", "bg": "#000000"}], ["web-mode-doctype-face", "doctype", {"fg": "#bebebe"}], ["web-mode-error-face", "error", {"bg": "#ff0000"}], ["web-mode-filter-face", "filter", {"inherit": "font-lock-function-name-face"}], ["web-mode-folded-face", "folded", {"underline": true}], ["web-mode-function-call-face", "function call", {"inherit": "font-lock-function-name-face"}], ["web-mode-function-name-face", "function name", {"inherit": "font-lock-function-name-face"}], ["web-mode-html-attr-custom-face", "html attr custom", {"inherit": "web-mode-html-attr-name-face"}], ["web-mode-html-attr-engine-face", "html attr engine", {"inherit": "web-mode-block-delimiter-face"}], ["web-mode-html-attr-equal-face", "html attr equal", {"inherit": "web-mode-html-attr-name-face"}], ["web-mode-html-attr-name-face", "html attr name", {"fg": "#8b8989"}], ["web-mode-html-attr-value-face", "html attr value", {"inherit": "font-lock-string-face"}], ["web-mode-html-entity-face", "html entity", {"italic": true}], ["web-mode-html-tag-bracket-face", "html tag bracket", {"fg": "#242424"}], ["web-mode-html-tag-custom-face", "html tag custom", {"inherit": "web-mode-html-tag-face"}], ["web-mode-html-tag-face", "html tag", {"fg": "#8b8989"}], ["web-mode-html-tag-namespaced-face", "html tag namespaced", {"inherit": "web-mode-block-control-face"}], ["web-mode-html-tag-unclosed-face", "html tag unclosed", {"underline": true, "inherit": "web-mode-html-tag-face"}], ["web-mode-inlay-face", "inlay", {"bg": "#ffffe0"}], ["web-mode-interpolate-color1-face", "interpolate color1", {"inherit": "web-mode-string-face"}], ["web-mode-interpolate-color2-face", "interpolate color2", {"inherit": "web-mode-string-face"}], ["web-mode-interpolate-color3-face", "interpolate color3", {"inherit": "web-mode-string-face"}], ["web-mode-interpolate-color4-face", "interpolate color4", {"inherit": "web-mode-string-face"}], ["web-mode-italic-face", "italic", {"italic": true}], ["web-mode-javascript-comment-face", "javascript comment", {"inherit": "web-mode-comment-face"}], ["web-mode-javascript-string-face", "javascript string", {"inherit": "web-mode-string-face"}], ["web-mode-json-comment-face", "json comment", {"inherit": "web-mode-comment-face"}], ["web-mode-json-context-face", "json context", {"fg": "#cd69c9"}], ["web-mode-json-key-face", "json key", {"fg": "#dda0dd"}], ["web-mode-json-string-face", "json string", {"inherit": "web-mode-string-face"}], ["web-mode-jsx-depth-1-face", "jsx depth 1", {"bg": "#000053"}], ["web-mode-jsx-depth-2-face", "jsx depth 2", {"bg": "#001970"}], ["web-mode-jsx-depth-3-face", "jsx depth 3", {"bg": "#002984"}], ["web-mode-jsx-depth-4-face", "jsx depth 4", {"bg": "#49599a"}], ["web-mode-jsx-depth-5-face", "jsx depth 5", {"bg": "#9499b7"}], ["web-mode-keyword-face", "keyword", {"inherit": "font-lock-keyword-face"}], ["web-mode-param-name-face", "param name", {"fg": "#cdc9c9"}], ["web-mode-part-comment-face", "part comment", {"inherit": "web-mode-comment-face"}], ["web-mode-part-face", "part", {"inherit": "web-mode-block-face"}], ["web-mode-part-string-face", "part string", {"inherit": "web-mode-string-face"}], ["web-mode-preprocessor-face", "preprocessor", {"inherit": "font-lock-preprocessor-face"}], ["web-mode-script-face", "script", {"inherit": "web-mode-part-face"}], ["web-mode-sql-keyword-face", "sql keyword", {"bold": true, "italic": true}], ["web-mode-string-face", "string", {"inherit": "font-lock-string-face"}], ["web-mode-style-face", "style", {"inherit": "web-mode-part-face"}], ["web-mode-symbol-face", "symbol", {"fg": "#eeb422"}], ["web-mode-type-face", "type", {"inherit": "font-lock-type-face"}], ["web-mode-underline-face", "underline", {"underline": true}], ["web-mode-variable-name-face", "variable name", {"inherit": "font-lock-variable-name-face"}], ["web-mode-warning-face", "warning", {"inherit": "font-lock-warning-face"}], ["web-mode-whitespace-face", "whitespace", {"bg": "#68228b"}]]}, "yasnippet": {"label": "yasnippet", "preview": "generic", "faces": [["yas--field-debug-face", "yas field debug", {}], ["yas-field-highlight-face", "yas field highlight", {"inherit": "region"}]]}}; +let MAP={"kw": "#d3d3d3", "bi": "#d3d3d3", "pp": "#d3d3d3", "fnd": "#0000ff", "fnc": "#0000ff", "dec": "", "ty": "#e5e5e5", "prop": "#e5e5e5", "con": "#d3d3d3", "num": "#000000", "esc": "#000000", "str": "#696969", "re": "#696969", "doc": "#696969", "cm": "#696969", "cmd": "#696969", "var": "#e5e5e5", "op": "#000000", "punc": "#000000", "p": "#000000", "bg": "#ffffff"}, PALETTE=[["#ffffff", "bg", "ground"], ["#000000", "fg", "ground"], ["#d3d3d3", "lightgray", "lightgray"], ["#0000ff", "blue1", "blue"], ["#e5e5e5", "gray90", "gray"], ["#696969", "dimgray", "dimgray"], ["#eedc82", "lightgoldenrod2", "lightgoldenrod"], ["#b4eeb4", "darkseagreen2", "darkseagreen"], ["#bfbfbf", "grey75", "grey"], ["#333333", "grey20", "grey"], ["#f2f2f2", "grey95", "grey"], ["#ff00ff", "magenta", "magenta"], ["#b0e2ff", "lightskyblue1", "lightskyblue"], ["#cd00cd", "magenta3", "magenta"], ["#afeeee", "paleturquoise", "paleturquoise"], ["#ffc1c1", "rosybrown1", "rosybrown"], ["#40e0d0", "turquoise", "turquoise"], ["#a020f0", "purple", "purple"], ["#3a5fcd", "royalblue3", "royalblue"], ["#ff0000", "red", "red"], ["#ff8c00", "dark-orange", "dark-orange"], ["#228b22", "forestgreen", "forestgreen"], ["#aaa", "color-22", "color-22"], ["#000", "color-23", "color-23"], ["#aa0", "color-24", "color-24"], ["#070", "color-25", "color-25"], ["#daa520", "goldenrod", "goldenrod"], ["#00bfff", "deep-sky-blue", "deep-sky-blue"], ["#ee00ee", "magenta2", "magenta"], ["#00ff00", "green", "green"], ["#ffff00", "yellow", "yellow"], ["#00ffff", "cyan", "cyan"], ["#6b6b6b", "color-32", "color-32"], ["#979797", "color-33", "color-33"], ["unspecified", "color-34", "color-34"], ["#223fbf", "color-35", "color-35"], ["#8f0075", "color-36", "color-36"], ["#145a00", "color-37", "color-37"], ["#804000", "color-38", "color-38"], ["#efcbcf", "color-39", "color-39"], ["#ffd700", "gold", "gold"], ["#8b0000", "darkred", "darkred"], ["#ffa500", "orange", "orange"], ["#f0e68c", "khaki", "khaki"], ["#8b008b", "dark-magenta", "dark-magenta"], ["#ff4500", "orange-red", "orange-red"], ["#deb887", "burlywood", "burlywood"], ["#b22222", "firebrick", "firebrick"], ["#cd8500", "orange3", "orange"], ["#00008b", "dark-blue", "dark-blue"], ["#9400d3", "dark-violet", "dark-violet"], ["#6a9fb5", "color-51", "color-51"], ["#2188b6", "color-52", "color-52"], ["#75b5aa", "color-53", "color-53"], ["#0595bd", "color-54", "color-54"], ["#446674", "color-55", "color-55"], ["#48746d", "color-56", "color-56"], ["#6d8143", "color-57", "color-57"], ["#72584b", "color-58", "color-58"], ["#915b2d", "color-59", "color-59"], ["#7e5d5f", "color-60", "color-60"], ["#694863", "color-61", "color-61"], ["#843031", "color-62", "color-62"], ["#838484", "color-63", "color-63"], ["#b48d56", "color-64", "color-64"], ["#90a959", "color-65", "color-65"], ["#677174", "color-66", "color-66"], ["#2c7d6e", "color-67", "color-67"], ["#3d6837", "color-68", "color-68"], ["#ce7a4e", "color-69", "color-69"], ["#ff505b", "color-70", "color-70"], ["#e69dd6", "color-71", "color-71"], ["#eb595a", "color-72", "color-72"], ["#7f7869", "color-73", "color-73"], ["#ff9300", "color-74", "color-74"], ["#8f5536", "color-75", "color-75"], ["#d4843e", "color-76", "color-76"], ["#fc505b", "color-77", "color-77"], ["#68295b", "color-78", "color-78"], ["#5d54e1", "color-79", "color-79"], ["#ac4142", "color-80", "color-80"], ["#716e68", "color-81", "color-81"], ["#ffcc0e", "color-82", "color-82"], ["#8b1a1a", "firebrick4", "firebrick"], ["#fff8dc", "cornsilk", "cornsilk"], ["#cd5c5c", "indian-red", "indian-red"], ["#f5deb3", "wheat", "wheat"], ["#add8e6", "light-blue", "light-blue"], ["#ccc", "color-88", "color-88"], ["#cd0000", "red3", "red"], ["#0000cd", "blue3", "blue"], ["#cc9393", "color-91", "color-91"], ["#cccccc", "grey80", "grey"], ["#bebebe", "gray", "gray"], ["#88090b", "color-94", "color-94"], ["#707183", "color-95", "color-95"], ["#7388d6", "color-96", "color-96"], ["#909183", "color-97", "color-97"], ["#709870", "color-98", "color-98"], ["#907373", "color-99", "color-99"], ["#6276ba", "color-100", "color-100"], ["#858580", "color-101", "color-101"], ["#80a880", "color-102", "color-102"], ["#887070", "color-103", "color-103"], ["#1e90ff", "dodger-blue", "dodger-blue"], ["#ff69b4", "hot-pink", "hot-pink"], ["#da70d6", "orchid", "orchid"], ["#fa8072", "salmon", "salmon"], ["#00ff7f", "spring-green", "spring-green"], ["#800040", "color-109", "color-109"], ["#603f00", "color-110", "color-110"], ["#004476", "color-111", "color-111"], ["#aa2222", "color-112", "color-112"], ["#2266ff", "color-113", "color-113"], ["#aaaa11", "color-114", "color-114"], ["#dd4488", "color-115", "color-115"], ["#22aa22", "color-116", "color-116"], ["#8fbc8f", "color-117", "color-117"], ["#5f9ea0", "color-118", "color-118"], ["#ffffe0", "lightyellow1", "lightyellow"], ["#3e3c36", "color-120", "color-120"], ["#8b8989", "snow4", "snow"], ["#242424", "grey14", "grey"], ["#cd69c9", "orchid3", "orchid"], ["#dda0dd", "plum", "plum"], ["#000053", "color-125", "color-125"], ["#001970", "color-126", "color-126"], ["#002984", "color-127", "color-127"], ["#49599a", "color-128", "color-128"], ["#9499b7", "color-129", "color-129"], ["#cdc9c9", "snow3", "snow"], ["#eeb422", "goldenrod2", "goldenrod"], ["#68228b", "darkorchid4", "darkorchid"]], BOLD={"kw": true, "bi": true, "pp": true, "fnd": false, "fnc": false, "dec": false, "ty": true, "prop": true, "con": true, "num": false, "esc": false, "str": false, "re": false, "doc": false, "cm": true, "cmd": true, "var": true, "op": false, "punc": false, "p": false}, ITALIC={"prop": true, "str": true, "re": true, "doc": true, "cm": true, "cmd": true, "var": true}, UIMAP={"cursor": {"fg": null, "bg": "#000000", "bold": false, "italic": false, "underline": false, "strike": false}, "region": {"fg": null, "bg": "#eedc82", "bold": false, "italic": false, "underline": false, "strike": false}, "hl-line": {"fg": null, "bg": null, "bold": false, "italic": false, "underline": false, "strike": false, "inherit": "highlight"}, "highlight": {"fg": null, "bg": "#b4eeb4", "bold": false, "italic": false, "underline": false, "strike": false}, "mode-line": {"fg": "#000000", "bg": "#bfbfbf", "bold": false, "italic": false, "underline": false, "strike": false, "box": {"style": "released", "width": 1, "color": null}}, "mode-line-inactive": {"fg": "#333333", "bg": "#e5e5e5", "bold": false, "italic": false, "underline": false, "strike": false, "inherit": "mode-line", "box": {"style": "line", "width": 1, "color": "#bfbfbf"}}, "fringe": {"fg": null, "bg": "#f2f2f2", "bold": false, "italic": false, "underline": false, "strike": false}, "line-number": {"fg": null, "bg": null, "bold": false, "italic": false, "underline": false, "strike": false, "inherit": ["shadow", "default"]}, "line-number-current-line": {"fg": null, "bg": null, "bold": false, "italic": false, "underline": false, "strike": false, "inherit": "line-number"}, "minibuffer-prompt": {"fg": "#ff00ff", "bg": null, "bold": false, "italic": false, "underline": false, "strike": false}, "isearch": {"fg": "#b0e2ff", "bg": "#cd00cd", "bold": false, "italic": false, "underline": false, "strike": false}, "lazy-highlight": {"fg": null, "bg": "#afeeee", "bold": false, "italic": false, "underline": false, "strike": false}, "isearch-fail": {"fg": null, "bg": "#ffc1c1", "bold": false, "italic": false, "underline": false, "strike": false}, "show-paren-match": {"fg": null, "bg": "#40e0d0", "bold": false, "italic": false, "underline": false, "strike": false}, "show-paren-mismatch": {"fg": "#ffffff", "bg": "#a020f0", "bold": false, "italic": false, "underline": false, "strike": false}, "link": {"fg": "#3a5fcd", "bg": null, "bold": false, "italic": false, "underline": true, "strike": false}, "error": {"fg": "#ff0000", "bg": null, "bold": true, "italic": false, "underline": false, "strike": false}, "warning": {"fg": "#ff8c00", "bg": null, "bold": true, "italic": false, "underline": false, "strike": false}, "success": {"fg": "#228b22", "bg": null, "bold": true, "italic": false, "underline": false, "strike": false}, "vertical-border": {"fg": null, "bg": null, "bold": false, "italic": false, "underline": false, "strike": false}}; +let LOCKED=new Set([]); // rows whose choice is decided (controls disabled, skipped by erase/reset batch actions) +const DELTAE_MIN=0.02; // OKLab ΔE below this = colors too close to tell apart (perceptual-metrics spec) +const DEFAULT_MAP=Object.assign({},MAP), DEFAULT_BOLD=Object.assign({},BOLD), DEFAULT_ITALIC=Object.assign({},ITALIC), DEFAULT_UIMAP=JSON.parse(JSON.stringify(UIMAP)); +// --- tier-3 package faces: pure state helpers (Phase 1) --- +// Thin wrappers over the pure logic in app-core.js (inlined further down), +// passing the live module state. packagesForExport / mergePackagesInto live in +// the core verbatim and are used by name. +function pname(n){return nameToHex(n,PALETTE);} +function seedPkgmap(){return buildPkgmap(APPS,PALETTE);} +let PKGMAP=seedPkgmap(); +function esc(t){return t.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');} +// Pure color-math core (lin/rl/contrast/rating/hsv2rgb/rgb2hsv/hex2rgb/rgb2hex, +// plus OKLab/OKLCH/APCA/deltaE), inlined verbatim from colormath.js. +// colormath.js — pure color-math core for theme-studio. +// +// One source of truth: node imports this module (tests); generate.py inlines its +// body into the page (stripping the trailing export block) so the browser runs +// the same code. No DOM, no side effects. +// +// Algorithms: OKLab/OKLCH from Bjorn Ottosson (2020, +// https://bottosson.github.io/posts/oklab/); APCA from APCA-W3 0.1.9 +// (https://github.com/Myndex/apca-w3); deltaE is OKLab Euclidean distance. + +function hex2rgb(h) { + return [parseInt(h.substr(1, 2), 16), parseInt(h.substr(3, 2), 16), parseInt(h.substr(5, 2), 16)]; +} + +// sRGB transfer (0..1 channel <-> linear-light). +function lin(c) { return c <= 0.04045 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } +function delin(c) { return c <= 0.0031308 ? 12.92 * c : 1.055 * Math.pow(c, 1 / 2.4) - 0.055; } +function clamp01(c) { return c < 0 ? 0 : c > 1 ? 1 : c; } + +function srgb2oklab(hex) { + const [R, G, B] = hex2rgb(hex); + const r = lin(R / 255), g = lin(G / 255), b = lin(B / 255); + const l = 0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b; + const m = 0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b; + const s = 0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b; + const l_ = Math.cbrt(l), m_ = Math.cbrt(m), s_ = Math.cbrt(s); + return { + L: 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_, + a: 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_, + b: 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_, + }; +} + +function oklab2oklch(lab) { + let H = Math.atan2(lab.b, lab.a) * 180 / Math.PI; + if (H < 0) H += 360; + return { L: lab.L, C: Math.hypot(lab.a, lab.b), H }; +} + +function oklch2oklab(L, C, H) { + const hr = H * Math.PI / 180; + return { L, a: C * Math.cos(hr), b: C * Math.sin(hr) }; +} + +// OKLab -> linear sRGB (may fall outside [0,1] when out of gamut). +function oklab2lrgb(L, a, b) { + const l_ = L + 0.3963377774 * a + 0.2158037573 * b; + const m_ = L - 0.1055613458 * a - 0.0638541728 * b; + const s_ = L - 0.0894841775 * a - 1.2914855480 * b; + const l = l_ * l_ * l_, m = m_ * m_ * m_, s = s_ * s_ * s_; + return [ + 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, + -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, + -0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s, + ]; +} + +function inGamut(lrgb) { + const e = 1e-4; + return lrgb.every(c => c >= -e && c <= 1 + e); +} + +function lrgb2hex(lrgb) { + return '#' + lrgb.map(c => { + const v = Math.round(clamp01(delin(clamp01(c))) * 255); + return v.toString(16).padStart(2, '0'); + }).join(''); +} + +// OKLCH -> in-gamut sRGB hex. When the requested chroma is unreachable, reduce C +// by binary search holding L and H fixed; report whether clamping happened. +function oklch2hex(L, C, H) { + const lab0 = oklch2oklab(L, C, H); + const lrgb0 = oklab2lrgb(lab0.L, lab0.a, lab0.b); + if (inGamut(lrgb0)) return { hex: lrgb2hex(lrgb0), clamped: false }; + let lo = 0, hi = C; + for (let i = 0; i < 24; i++) { + const mid = (lo + hi) / 2; + const lab = oklch2oklab(L, mid, H); + if (inGamut(oklab2lrgb(lab.L, lab.a, lab.b))) lo = mid; else hi = mid; + } + const lab = oklch2oklab(L, lo, H); + return { hex: lrgb2hex(oklab2lrgb(lab.L, lab.a, lab.b)), clamped: true }; +} + +// APCA-W3 0.1.9. Returns signed Lc: positive for dark-text-on-light, negative +// for light-text-on-dark. Constants transcribed verbatim from the pinned source. +function apcaY(hex) { + const [R, G, B] = hex2rgb(hex); + return 0.2126729 * Math.pow(R / 255, 2.4) + + 0.7151522 * Math.pow(G / 255, 2.4) + + 0.0721750 * Math.pow(B / 255, 2.4); +} + +function apca(textHex, bgHex) { + const blkThrs = 0.022, blkClmp = 1.414, deltaYmin = 0.0005; + const normBG = 0.56, normTXT = 0.57, revTXT = 0.62, revBG = 0.65; + const scaleBoW = 1.14, scaleWoB = 1.14, loBoWoffset = 0.027, loWoBoffset = 0.027, loClip = 0.1; + let Ytxt = apcaY(textHex), Ybg = apcaY(bgHex); + Ytxt = Ytxt > blkThrs ? Ytxt : Ytxt + Math.pow(blkThrs - Ytxt, blkClmp); + Ybg = Ybg > blkThrs ? Ybg : Ybg + Math.pow(blkThrs - Ybg, blkClmp); + if (Math.abs(Ybg - Ytxt) < deltaYmin) return 0; + let out; + if (Ybg > Ytxt) { + const sapc = (Math.pow(Ybg, normBG) - Math.pow(Ytxt, normTXT)) * scaleBoW; + out = sapc < loClip ? 0 : sapc - loBoWoffset; + } else { + const sapc = (Math.pow(Ybg, revBG) - Math.pow(Ytxt, revTXT)) * scaleWoB; + out = sapc > -loClip ? 0 : sapc + loWoBoffset; + } + return out * 100; +} + +// deltaE-OK: Euclidean distance in OKLab. +function deltaE(aHex, bHex) { + const x = srgb2oklab(aHex), y = srgb2oklab(bHex); + return Math.hypot(x.L - y.L, x.a - y.a, x.b - y.b); +} + +// --- WCAG 2.x relative luminance + contrast (migrated from the page inline) --- +// rl reuses the canonical lin() above. On 8-bit channels lin's 0.04045 cutoff is +// byte-identical to the WCAG 0.03928 piecewise the inline copy used — no channel +// value falls between the two thresholds (10/255 = 0.0392, 11/255 = 0.0431) — so +// every #rrggbb contrast value is preserved exactly. +function rl(hex) { + const [R, G, B] = hex2rgb(hex); + return 0.2126 * lin(R / 255) + 0.7152 * lin(G / 255) + 0.0722 * lin(B / 255); +} + +function contrast(aHex, bHex) { + const L1 = rl(aHex), L2 = rl(bHex), hi = Math.max(L1, L2), lo = Math.min(L1, L2); + return (hi + 0.05) / (lo + 0.05); +} + +function rating(r) { return r >= 7 ? 'AAA' : r >= 4.5 ? 'AA' : 'FAIL'; } + +// --- HSV <-> sRGB for the color picker (migrated from the page inline) --- +function hsv2rgb(h, s, v) { + h = (h % 360 + 360) % 360 / 360; + const i = Math.floor(h * 6), f = h * 6 - i, p = v * (1 - s), q = v * (1 - f * s), t = v * (1 - (1 - f) * s); + let r, g, b; + switch (((i % 6) + 6) % 6) { + case 0: [r, g, b] = [v, t, p]; break; + case 1: [r, g, b] = [q, v, p]; break; + case 2: [r, g, b] = [p, v, t]; break; + case 3: [r, g, b] = [p, q, v]; break; + case 4: [r, g, b] = [t, p, v]; break; + default: [r, g, b] = [v, p, q]; + } + return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)]; +} + +function rgb2hsv(r, g, b) { + r /= 255; g /= 255; b /= 255; + const mx = Math.max(r, g, b), mn = Math.min(r, g, b), d = mx - mn; + let h = 0; + if (d) { + if (mx === r) h = ((g - b) / d + 6) % 6; + else if (mx === g) h = (b - r) / d + 2; + else h = (r - g) / d + 4; + h *= 60; + } + return [h, mx ? d / mx : 0, mx]; +} + +function rgb2hex(r, g, b) { + return '#' + [r, g, b].map(x => Math.max(0, Math.min(255, x)).toString(16).padStart(2, '0')).join(''); +} + +// One Chroma×Lightness plane cell at a fixed hue: the sRGB color if the (L,C,H) +// is reachable, else flagged out of gamut. Forward-only (one conversion + a +// range check) — the binary-search clamp is reserved for committing a color. +function planeCell(L, C, H) { + const lab = oklch2oklab(L, C, H), lrgb = oklab2lrgb(lab.L, lab.a, lab.b); + return inGamut(lrgb) ? { inGamut: true, hex: lrgb2hex(lrgb) } : { inGamut: false, hex: null }; +} + +// Pairwise palette analysis. palette is [[hex, name], ...]. Returns the pairs +// closer than threshold (OKLab ΔE), closest-first and capped, the overflow count +// beyond the cap, and each color's nearest-neighbor distance for its chip title. +function paletteWarnings(palette, threshold = 0.02, cap = 5) { + const n = palette.length, nearest = new Array(n).fill(Infinity), pairs = []; + for (let i = 0; i < n; i++) for (let j = i + 1; j < n; j++) { + const d = deltaE(palette[i][0], palette[j][0]); + if (d < nearest[i]) nearest[i] = d; + if (d < nearest[j]) nearest[j] = d; + if (d < threshold) pairs.push({ i, j, aName: palette[i][1], bName: palette[j][1], dE: d }); + } + pairs.sort((a, b) => a.dE - b.dE); + return { warnings: pairs.slice(0, cap), overflow: Math.max(0, pairs.length - cap), nearest }; +} + +// --- 3D-box relief colors, matching Emacs's renderer --------------------- +// Port of x_alloc_lighter_color (Emacs 30 xterm.c): highlight = bg x 1.2 +// (delta 0x8000), shadow = bg x 0.6 (delta 0x4000), both in 16-bit channel +// space. Backgrounds dimmer than 48000/65535 (by Emacs's 2R+3G+B/6 weighting) +// get an additive boost of delta*dimness*factor/2, because scaling alone +// barely moves a dark color. When the result still equals the background +// (pure black shadow, pure white highlight), Emacs retries with bg+delta. +function reliefColors(bgHex) { + const rgb = hex2rgb(bgHex); + if (rgb.some((c) => Number.isNaN(c))) return { hl: null, sh: null }; + const ch16 = rgb.map((c) => c * 257); + const one = (factor, delta) => { + let nw = ch16.map((c) => Math.min(0xffff, factor * c)); + const bright = (2 * ch16[0] + 3 * ch16[1] + ch16[2]) / 6; + if (bright < 48000) { + const md = delta * (1 - bright / 48000) * factor / 2; + nw = factor < 1 + ? nw.map((v) => Math.max(0, v - md)) + : nw.map((v) => Math.min(0xffff, v + md)); + } + if (nw.every((v, i) => Math.round(v) === ch16[i])) + nw = ch16.map((c) => Math.min(0xffff, c + delta)); + return '#' + nw.map((v) => Math.round(v / 257).toString(16).padStart(2, '0')).join(''); + }; + return { hl: one(1.2, 0x8000), sh: one(0.6, 0x4000) }; +} +// Pure package-model + dropdown logic, inlined verbatim from app-core.js. The +// wrappers above (pname/seedPkgmap/ddList/pkgEffFg/pkgEffBg) delegate here. +// Pure app logic — the package-face model and the dropdown option list — with no +// DOM and no module globals (every dependency is a parameter). It is unit-tested +// directly (test-app-core.mjs) and inlined into the page like colormath.js, so +// the browser runs the same code the tests import. The app.js wrappers (pname, +// seedPkgmap, ddList, pkgEffFg, pkgEffBg) are thin delegators that pass the +// live PALETTE / APPS / PKGMAP into these. +// +// The imports below are for the Node tests; generate.py strips them on inline, +// where normHex (app-util.js) and the colormath helpers are already present from +// the bodies inlined above this one. + +// Resolve a palette name (or a raw #hex) to a hex; null when the name is unknown. +function nameToHex(n,palette){if(!n)return null;if(/^#/.test(n))return n;const p=palette.find(p=>p[1]===n);return p?p[0]:null;} + +function normalizePkgFace(d,source,palette){ + d=d||{}; + const resolve=(v)=>palette?nameToHex(v,palette):v; + return {fg:resolve(d.fg)??null,bg:resolve(d.bg)??null,bold:!!d.bold,italic:!!d.italic,underline:!!d.underline,strike:!!d.strike,inherit:d.inherit??null,height:d.height||1,box:d.box??null,source:source||d.source||'user'}; +} + +// Seed the package-face map from the app inventory's per-face defaults. +function buildPkgmap(apps,palette){const m={};for(const app in apps){m[app]={};for(const row of apps[app].faces){m[app][row[0]]=normalizePkgFace(row[2],'default',palette);}}return m;} + +// The package faces worth exporting (anything seeded or user-touched), trimmed. +function packagesForExport(map){const out={};for(const app in map){const faces={};for(const face in map[app]){const f=map[app][face];if(f.source==='default'||f.source==='user'||f.source==='cleared'){const o={fg:f.fg,bg:f.bg,bold:f.bold,italic:f.italic,underline:!!f.underline,strike:!!f.strike,inherit:f.inherit,source:f.source};if(f.height&&f.height!==1)o.height=f.height;if(f.box)o.box=f.box;faces[face]=o;}}if(Object.keys(faces).length)out[app]=faces;}return out;} + +// Merge an imported package block into a face map, filling missing fields. +function mergePackagesInto(map,pkgs){if(!pkgs)return;for(const app in pkgs){if(!map[app])map[app]={};for(const face in pkgs[app]){const f=pkgs[app][face]||{};map[app][face]=normalizePkgFace(f,f.source||'user');}}} + +// Effective fg/bg for a package face, following its inherit chain. seen guards +// against an inherit cycle (returns null rather than recursing forever). +function effResolve(map,app,face,attr,seen){seen=seen||{};const f=map[app]&&map[app][face];if(!f||seen[face])return null;seen[face]=1;if(f[attr])return f[attr];if(f.inherit&&map[app][f.inherit])return effResolve(map,app,f.inherit,attr,seen);return null;} + +// Standard swatch-dropdown option list: a default entry, then the palette. When +// cur is set but no longer in the palette, surface it as a "(gone)" entry first. +function optList(cur,palette){const have=cur===''||palette.some(p=>p[0]===cur);return [['','— default —'],...(have?palette:[[cur,'(gone) '+cur],...palette])];} + +// Turn a theme name into a safe filename slug: collapse runs of disallowed +// characters to a single dash, trim leading/trailing dashes, fall back to 'theme'. +function slugify(name){return name.replace(/[^A-Za-z0-9._-]+/g,'-').replace(/^-+|-+$/g,'')||'theme';} + +// Generate a tonal ramp from one base color: 2n steps at offsets -n..-1 and +// +1..+n (the base itself is excluded — it already lives in the palette), +// ordered darkest -> lightest. Holds the OKLCH hue, steps lightness by stepL per +// stop, and eases chroma toward the extremes (quadratic in |offset|/n, so only +// the farthest step loses most of its color). Every step is gamut-clamped and +// carries its own clamped flag. Returns {steps:[{hex,clamped,offset}], adjusted} +// where adjusted names any knob clamped/rounded into range, or {steps:[], +// error:'bad-hex'} for an unparseable base. Pure — opts are clamped, never thrown. +function ramp(baseHex,opts){ + const hex=typeof baseHex==='string'?normHex(baseHex):null; + if(!hex)return {steps:[],error:'bad-hex'}; + const o=opts||{},adjusted=[]; + const knob=(name,def,lo,hi,isInt)=>{ + const v=o[name]; + if(typeof v!=='number'||!isFinite(v))return def; + const r=isInt?Math.round(v):v,c=Math.min(hi,Math.max(lo,r)); + if(c!==v)adjusted.push(name); + return c; + }; + const n=knob('n',2,1,4,true),stepL=knob('stepL',0.08,0.04,0.12,false),chromaEase=knob('chromaEase',0.5,0,1,false); + const {L:L0,C:C0,H:H0}=oklab2oklch(srgb2oklab(hex)); + const steps=[]; + for(let off=-n;off<=n;off++){ + if(off===0)continue; + const L=Math.min(1,Math.max(0,L0+off*stepL)); + const t=Math.abs(off)/n,C=C0*(1-chromaEase*t*t); + const {hex:h,clamped}=oklch2hex(L,C,H0); + steps.push({hex:h,clamped,offset:off}); + } + return {steps,adjusted}; +} + +// --- background-contrast safety (palette-ramps spec, Phase 3) ---------------- +// An overlay background sits behind many foregrounds at once, so its real +// constraint is the worst-case contrast over the whole set, not one fg/bg pair. + +// The closed v1 set of code-overlay faces whose worst-case floor we compute. +// Other overlay faces (secondary-selection, isearch-fail, ...) are vNext, added +// explicitly rather than by a heuristic. Shared by app.js and the tests. +const COVERED_FACES=['region','hl-line','highlight','lazy-highlight','isearch']; + +// A covered face's foreground set: the distinct syntax-token colors plus the +// default foreground, each labeled (syntax role preferred, else 'default'). +// state = {covered:[face], syntaxAssignments:[{role,hex}], defaultFg}. Returns +// {set:[{hex,label}]}, or {set:[],reason} where reason is 'out-of-scope' (the +// face isn't in the covered set) or 'empty' (no syntax assignments constrain it). +function fgSetFor(face,state){ + const covered=(state&&state.covered)||COVERED_FACES; + if(!covered.includes(face))return {set:[],reason:'out-of-scope'}; + const syn=((state&&state.syntaxAssignments)||[]).filter(a=>a&&a.hex); + if(!syn.length)return {set:[],reason:'empty'}; + const byHex=new Map(); + const add=(hex,label,isRole)=>{const k=hex.toLowerCase(),cur=byHex.get(k);if(!cur)byHex.set(k,{hex:k,label});else if(isRole&&cur.label==='default')cur.label=label;}; + if(state&&state.defaultFg)add(state.defaultFg,'default',false); + for(const a of syn)add(a.hex,a.role||a.hex,true); + return {set:[...byHex.values()]}; +} + +// Worst-case (minimum) WCAG contrast of a background against a foreground set, +// with the limiting foreground's hex and label. fgSet is fgSetFor's set. An empty +// set returns nulls so the caller can show the no-set readout instead of a floor. +function floor(bgHex,fgSet){ + if(!fgSet||!fgSet.length)return {ratio:null,limitingHex:null,limitingLabel:null}; + let best=Infinity,lh=null,ll=null; + for(const f of fgSet){const r=contrast(f.hex,bgHex);if(r<best){best=r;lh=f.hex;ll=f.label;}} + return {ratio:best,limitingHex:lh,limitingLabel:ll}; +} + +// The lightest background at (hue, chroma) whose worst-case floor over fgSet still +// clears target (a WCAG ratio). Scans L up from black to bracket the first +// dark-side crossing, then binary-searches it to tol 0.001. status: +// 'ok' - a ceiling L was found +// 'none' - even pure black fails (a foreground is too dark for the target) +// 'all' - no foreground set to constrain (vacuously safe everywhere) +// 'clamp' - the ceiling L can't hold the requested chroma (gamut-clamped there) +function lMax(hue,chroma,fgSet,target){ + if(!fgSet||!fgSet.length)return {L:1,status:'all'}; + const at=(L)=>{const {hex,clamped}=oklch2hex(L,chroma,hue);return {r:floor(hex,fgSet).ratio,clamped};}; + if(at(0).r<target)return {L:null,status:'none'}; + let loL=0,hiL=null; + for(let L=0.01;L<=1+1e-9;L+=0.01){const c=Math.min(L,1);if(at(c).r<target){hiL=c;break;}loL=c;} + if(hiL===null)return {L:1,status:'all'}; + for(let i=0;i<20;i++){const mid=(loL+hiL)/2;if(at(mid).r>=target)loL=mid;else hiL=mid;} + return {L:loL,status:at(loL).clamped?'clamp':'ok'}; +} + +// --- color columns ----------------------------------------------------------- +// Columns are structural, not inferred by color. Generated ramp entries are named +// base-1/base/base+1 and remain in that base column regardless of their hex. A +// manually-added color starts as its own singleton column. The flat palette stays +// the editable truth; these pure functions group it, regenerate a ramp, and plan +// assignment re-point across a regenerate. + +function oklchOf(hex){return oklab2oklch(srgb2oklab(hex));} +function isReservedGroundLikeName(name){return /^(bg|fg)(?:[-_+].+|\d.*)$/i.test(name||'');} +function isPureEndpointHex(hex){const h=(hex||'').toLowerCase();return h==='#ffffff'||h==='#000000';} +function interpOklabHex(a,b,t,offset){ + const lab={L:a.L+(b.L-a.L)*t,a:a.a+(b.a-a.a)*t,b:a.b+(b.b-a.b)*t}; + const lrgb=oklab2lrgb(lab.L,lab.a,lab.b); + return {hex:lrgb2hex(lrgb),offset,clamped:!inGamut(lrgb)}; +} +function columnStem(name){name=name||'color';if(/^color-\d+$/.test(name))return name;name=name.replace(/[+-]\d+$/,'');return name.replace(/\d+$/,'')||'color';} +function columnOffset(name){const m=(name||'').match(/([+-]\d+)$/);return m?parseInt(m[1],10):0;} +function legacyColumnStem(name){return isReservedGroundLikeName(name)?name:columnStem(name);} +function legacyColumnOffset(name){return isReservedGroundLikeName(name)?0:columnOffset(name);} +function columnIdOf(entry){return (entry&&entry[2])||legacyColumnStem(entry&&entry[1]);} +function groundRoleOfEntry(entry,ground){ + if(!entry)return null; + const [hex,name]=entry,col=entry[2],n=(name||'').toLowerCase(),h=(hex||'').toLowerCase(); + const bg=(ground&&ground.bg||'').toLowerCase(),fg=(ground&&ground.fg||'').toLowerCase(); + if(/^ground[+-]\d+$/i.test(name||''))return 'step'; + if(col==='ground'){ + if(bg&&h===bg)return 'bg'; + if(fg&&h===fg)return 'fg'; + return 'step'; + } + if(bg&&h===bg&&(n==='bg'||n==='ground'))return 'bg'; + if(fg&&h===fg&&n==='fg')return 'fg'; + return null; +} +function nameOfGroundRole(palette,ground,role){ + const found=palette.find(entry=>groundRoleOfEntry(entry,ground)===role); + return found?found[1]:null; +} + +function normalizePaletteEntryCore(entry){ + const hex=entry&&entry[0],name=(entry&&entry[1])||'color'; + return [hex,name,(entry&&entry[2])||columnIdOf(entry)]; +} + +function groundColumnMembersFromPalette(palette,ground){ + const byRole={bg:null,fg:null,steps:[]}; + for(const entry of palette){ + const role=groundRoleOfEntry(entry,ground); + if(role==='bg'||role==='fg')byRole[role]={hex:entry[0],name:entry[1]}; + else if(role==='step')byRole.steps.push({hex:entry[0],name:entry[1]}); + } + const stepIndex=m=>{const x=(m.name||'').match(/^ground[+-](\d+)$/i);return x?parseInt(x[1],10):Infinity;}; + byRole.steps.sort((a,b)=>stepIndex(a)-stepIndex(b)); + return [byRole.bg||{hex:ground&&ground.bg,name:'bg'},...byRole.steps,byRole.fg||{hex:ground&&ground.fg,name:'fg'}].filter(m=>m.hex); +} + +function clearPalettePlan(palette,ground){ + const normalized=palette.map(normalizePaletteEntryCore),removed=[],keep=[]; + normalized.filter(entry=>!groundRoleOfEntry(entry,ground)).forEach(([hex,name])=>{if(name)removed.push({hex,name});}); + const addEndpoint=(role,hex,name)=>{ + const found=normalized.find(entry=>groundRoleOfEntry(entry,ground)===role); + if(found)keep.push(found);else if(hex)keep.push([hex,name,'ground']); + }; + addEndpoint('bg',ground&&ground.bg,'bg'); + addEndpoint('fg',ground&&ground.fg,'fg'); + return {palette:keep,removed}; +} + +function deletePaletteColumnPlan(palette,ground,columnId){ + const normalized=palette.map(normalizePaletteEntryCore),removed=[],keep=[]; + for(const entry of normalized){ + if(groundRoleOfEntry(entry,ground)||columnIdOf(entry)!==columnId)keep.push(entry); + else removed.push({hex:entry[0],name:entry[1]}); + } + return {palette:keep,removed}; +} + +function areAllLocked(keys,locked){ + const has=k=>locked instanceof Set?locked.has(k):Array.isArray(locked)&&locked.includes(k); + return !!(keys&&keys.length)&&keys.every(has); +} +function lockToggleLabel(keys,locked){return areAllLocked(keys,locked)?'unlock all':'lock all';} +function toggleLockSet(keys,locked){ + const next=new Set(locked||[]),all=areAllLocked(keys,next); + (keys||[]).forEach(k=>all?next.delete(k):next.add(k)); + return next; +} + +// Group a flat palette into the ground strip plus structural columns. ground is +// {bg,fg}; those endpoint hexes form the pinned ground column even when absent +// from the palette, and ground+N entries are reserved for that column. Everything +// else groups by its stable column id, not by OKLCH hue/chroma or display name. +// Legacy two-field entries fall back to their generated-name stem until edited. +function columnsFromPalette(palette,ground){ + const bg=ground&&ground.bg,fg=ground&&ground.fg; + const groundStrip=[]; + if(bg)groundStrip.push({hex:bg,role:'bg',name:nameOfGroundRole(palette,ground,'bg')}); + if(fg)groundStrip.push({hex:fg,role:'fg',name:nameOfGroundRole(palette,ground,'fg')}); + const byColumn=new Map(),columns=[]; + for(const entry of palette){ + const [hex,name]=entry; + if(groundRoleOfEntry(entry,ground))continue; + const column=columnIdOf(entry),offset=entry[2]?columnOffset(name):legacyColumnOffset(name); + if(!byColumn.has(column))byColumn.set(column,{column,members:[]}); + byColumn.get(column).members.push({hex,name,offset,column}); + } + for(const f of byColumn.values()){ + const base=(f.members.find(m=>m.offset===0)||f.members[0]).hex; + columns.push({base,column:f.column,stem:f.column,members:f.members.map(m=>({hex:m.hex,name:m.name,column:m.column}))}); + } + return {ground:groundStrip,columns}; +} +// Regenerate a column's members as a symmetric span around the base: n=0 is the +// base alone, n>=1 divides the OKLab intervals black..base and base..white into +// n interior steps per side. Pure black/white endpoint duplicates and rounded +// base duplicates are skipped. {members:[{hex,offset,clamped}]} or +// {members:[],error:'bad-hex'}. +function regenColumn(baseHex,n,opts){ + const hex=typeof baseHex==='string'?normHex(baseHex):null; + if(!hex)return {members:[],error:'bad-hex'}; + const k=Math.min(8,Math.max(0,Math.round(n||0))); + if(k===0)return {members:[{hex,offset:0,clamped:false}]}; + const base=srgb2oklab(hex),black=srgb2oklab('#000000'),white=srgb2oklab('#ffffff'),steps=[]; + for(let i=1;i<=k;i++){ + const dark=interpOklabHex(black,base,i/(k+1),i-k-1); + const light=interpOklabHex(base,white,i/(k+1),i); + steps.push(dark,light); + } + const members=[...steps.filter(s=>!isPureEndpointHex(s.hex)&&s.hex.toLowerCase()!==hex),{hex,offset:0,clamped:false}].sort((a,b)=>a.offset-b.offset); + return {members}; +} +// Rank a column's current member hexes by lightness and give each a signed offset +// from the base (the matching hex, or the nearest by lightness if the base isn't +// present). Lets a regenerate match old positions to new ramp offsets. +function rankByLightness(memberHexes,baseHex){ + const items=memberHexes.map(h=>({hex:h,L:oklchOf(h).L})).sort((a,b)=>a.L-b.L); + let bi=items.findIndex(m=>m.hex.toLowerCase()===(baseHex||'').toLowerCase()); + if(bi<0){const bl=oklchOf(baseHex).L;let best=Infinity;items.forEach((m,i)=>{const d=Math.abs(m.L-bl);if(d<best){best=d;bi=i;}});} + return items.map((m,i)=>({hex:m.hex,offset:i-bi})); +} +// Plan the assignment re-point for a regenerate: for each old ranked member, the +// new member at the same offset is the same position. {map:[[old,new]]} for +// positions whose hex changed; {removed:[hex]} for positions with no new +// counterpart (the caller leaves their references a visible "(gone)"). +function stepRepointPlan(oldRanked,newMembers){ + const byOff=new Map(newMembers.map(m=>[m.offset,m.hex])),map=[],removed=[]; + for(const o of oldRanked){ + const nh=byOff.get(o.offset); + if(nh===undefined)removed.push(o.hex); + else if(nh.toLowerCase()!==o.hex.toLowerCase())map.push([o.hex,nh]); + } + return {map,removed}; +} + +// Preserve structural order. Generated ramps are inserted in offset order, and +// columns are emitted in first-seen palette order. No color sorting happens here. +function sortColumnMembers(column){return Object.assign({},column,{members:[...column.members]});} +function sortColumns(columns){return columns.map(sortColumnMembers);} +function lightestFirstMembers(members){return [...members].sort((a,b)=>oklchOf(b.hex).L-oklchOf(a.hex).L);} + +// Dropdown order for color selection mirrors the visual palette organization: +// bg/fg first, then structural columns in display order. Within each group, +// choices run lightest-to-darkest. Stored palette order stays untouched; this is +// selection-only organization. +function paletteOptionList(cur,palette,ground){ + const have=cur===''||palette.some(p=>p[0]===cur)||[ground&&ground.bg,ground&&ground.fg].filter(Boolean).includes(cur); + const out=[['','— default —']],seen=new Set(); + if(!have)out.push([cur,'(gone) '+cur]); + const add=(hex,name)=>{if(!hex)return;const key=hex.toLowerCase()+'|'+(name||'');if(seen.has(key))return;seen.add(key);out.push([hex,name||hex]);}; + const grouped=columnsFromPalette(palette,ground||{}); + const groundMembers=grouped.ground.map(g=>({hex:g.hex,name:g.name||g.role})) + .concat(palette.filter(entry=>groundRoleOfEntry(entry,ground)==='step').map(([hex,name])=>({hex,name}))); + groundMembers.forEach(m=>add(m.hex,m.name)); + sortColumns(grouped.columns).forEach(f=>lightestFirstMembers(f.members).forEach(m=>add(m.hex,m.name))); + return out; +} +function spanNeighborHex(cur,palette,ground,dir){ + if(!cur)return null; + const wanted=(cur||'').toLowerCase(),groups=[],byLight=(a,b)=>oklchOf(a.hex).L-oklchOf(b.hex).L; + const addGroup=members=>{ + const seen=new Set(),g=[]; + members.filter(m=>m&&m.hex).sort(byLight).forEach(m=>{const h=m.hex.toLowerCase();if(!seen.has(h)){seen.add(h);g.push(m);}}); + if(g.length)groups.push(g); + }; + addGroup(groundColumnMembersFromPalette(palette,ground||{})); + sortColumns(columnsFromPalette(palette,ground||{}).columns).forEach(f=>addGroup(f.members)); + for(const g of groups){ + const i=g.findIndex(m=>(m.hex||'').toLowerCase()===wanted); + if(i<0)continue; + const next=g[i+(dir>0?1:-1)]; + return next?next.hex:null; + } + return null; +} +// Pure color/UI-boundary helpers (normHex, ratingColor, textOn), inlined from +// app-util.js. textOn uses rl from the colormath core above. +// Pure color/UI-boundary helpers: hex-input parsing, the contrast-rating status +// color, and the readable text color for a background. These are kept out of +// colormath.js (the pure math core) but are unit-tested and inlined into the page +// the same way. textOn leans on rl from colormath; the import is for the tests — +// generate.py strips it on inline, where rl is already present from the inlined +// colormath core. + +// Normalize a hex string: trim, accept an optional leading #, require exactly six +// hex digits, lowercase the result. Returns null for anything else. +function normHex(s){s=s.trim();if(/^[0-9a-fA-F]{6}$/.test(s))s='#'+s;return /^#[0-9a-fA-F]{6}$/.test(s)?s.toLowerCase():null;} + +// Map a WCAG contrast ratio to a status color: AAA green (>=7), AA grey (>=4.5), +// otherwise the fail red. +function ratingColor(r){return r>=7?'#5d9b86':r>=4.5?'#a9b2bb':'#cb6b4d';} + +// Pick black or white text for a background hex, by WCAG relative luminance. +function textOn(h){const L=rl(h);return ((L+0.05)/0.05)>(1.05/(L+0.05))?'#000':'#fff';} +// The contrast-cell readout shared by every table: a WCAG ratio colored by its +// AA/AAA rating, with the rating word. Callers compute r for their own fg/bg. +function crHtml(r){return `<span style="color:${ratingColor(r)}">${r.toFixed(1)} ${rating(r)}</span>`;} +// Effective fg/bg with the standard fallback: an unset foreground reads as the +// default fg (MAP['p']), an unset background as the ground (MAP['bg']). All three +// tiers resolve their raw value through these before measuring or rendering. +function effFg(v){return v||MAP['p'];} +function effBg(v){return v||MAP['bg'];} +function cid(l){return l.replace(/\W/g,'');} +function buildLangSel(){const s=document.getElementById('langsel');s.innerHTML='';for(const lang in SAMPLES){const o=document.createElement('option');o.value=lang;o.textContent=lang;s.appendChild(o);}} +function renderCode(){ + const lang=document.getElementById('langsel').value;let html=''; + for(const line of SAMPLES[lang]){ + if(line.length===0){html+='\n';continue;} + for(const [k,t] of line){const c=effFg(MAP[k])||'#cdced1';const w=BOLD[k]?'bold':'normal';const s=ITALIC[k]?'italic':'normal'; + html+=`<span data-k="${k}" style="color:${c};font-weight:${w};font-style:${s}">${esc(t)}</span>`;} + html+='\n';} + const cp=document.getElementById('codepre');cp.innerHTML=html; + cp.onclick=(e)=>{const s=e.target.closest('[data-k]');if(s)flashAssign(s.dataset.k);}; + buildMockFrame(); +} +// Custom color dropdown: a real swatch + name + hex per row, since native +// <option> background colors render unreliably on Linux Chrome. The popup is +// fixed-positioned on <body> so a table's overflow can't clip it. +let _ddPop=null; +function closeColorDropdown(){if(_ddPop){_ddPop.remove();_ddPop=null;}} +document.addEventListener('pointerdown',e=>{if(_ddPop&&!e.target.closest('.cdd')&&!e.target.closest('.cddpop'))closeColorDropdown();}); +function mkColorDropdown(options,cur,onPick){ + const wrap=document.createElement('div');wrap.className='cstep'; + const left=document.createElement('button'),right=document.createElement('button'); + left.className='cstepbtn';right.className='cstepbtn';left.type=right.type='button'; + left.textContent='‹';right.textContent='›';left.title='move to next darker color in this column';right.title='move to next lighter color in this column'; + const t=document.createElement('div');t.className='cdd';t.tabIndex=0; + const nameOf=h=>{const o=options.find(p=>p[0]===h);return o?o[1]:(h||'none');}; + function step(dir){if(wrap.dataset.locked==='1')return;const next=spanNeighborHex(cur,PALETTE,{bg:MAP['bg'],fg:MAP['p']},dir);if(!next)return;cur=next;paint();onPick(next);} + function paintStepButtons(){ + const locked=wrap.dataset.locked==='1'; + left.disabled=locked||!spanNeighborHex(cur,PALETTE,{bg:MAP['bg'],fg:MAP['p']},-1); + right.disabled=locked||!spanNeighborHex(cur,PALETTE,{bg:MAP['bg'],fg:MAP['p']},1); + } + function paint(){t.style.background=cur||'#161412';t.style.color=cur?textOn(cur):'#b4b1a2';t.dataset.val=cur||''; + t.innerHTML=`<span class="cddsw" style="background:${cur||'transparent'}"></span>${esc(nameOf(cur))}`;paintStepButtons();} + paint(); + left.onclick=e=>{e.stopPropagation();step(-1);}; + right.onclick=e=>{e.stopPropagation();step(1);}; + t.onclick=(e)=>{e.stopPropagation();if(wrap.dataset.locked==='1')return;if(_ddPop){closeColorDropdown();return;} + const pop=document.createElement('div');pop.className='cddpop'; + for(const [hex,name] of options){const row=document.createElement('div');row.className='cddrow'+(hex===cur?' sel':''); + row.innerHTML=`<span class="cddsw" style="background:${hex||'transparent'}"></span><span class="cddnm">${esc(name)}</span><span class="cddhx">${hex||''}</span>`; + row.onclick=(ev)=>{ev.stopPropagation();cur=hex;paint();closeColorDropdown();onPick(hex);}; + pop.appendChild(row);} + document.body.appendChild(pop);const r=t.getBoundingClientRect(); + pop.style.left=r.left+'px';pop.style.minWidth=r.width+'px'; + pop.style.top=(r.bottom+2)+'px'; + const ph=pop.getBoundingClientRect().height; + if(r.bottom+ph>window.innerHeight-6)pop.style.top=Math.max(6,r.top-ph-2)+'px'; + _ddPop=pop;}; + t.setValue=h=>{cur=h;paint();}; + wrap.setValue=h=>{cur=h;paint();}; + wrap.syncLocked=paintStepButtons; + wrap.appendChild(left);wrap.appendChild(t);wrap.appendChild(right);paintStepButtons(); + return wrap;} +// Standard option list for a swatch dropdown: a "default" entry, then the +// palette in the same ground/column order as the palette panel. If cur is set +// but no longer in the palette, surface it as a "(gone)" entry so the row still +// shows what it points at. Shared by all three tiers. +function ddList(cur){return paletteOptionList(cur,PALETTE,{bg:MAP['bg'],fg:MAP['p']});} +// Shared lock toggle for any table row. lockKey is namespaced per tier (bare +// syntax kind, 'ui:'+face, 'pkg:'+app+':'+face). els are the row's editable +// controls — native selects/buttons/inputs are disabled; the custom swatch +// dropdown (a div) gets data-locked so its onclick refuses to open. +function mkLockCell(lockKey,els){ + const td=document.createElement('td');td.style.textAlign='center'; + const lk=document.createElement('button');lk.className='lockbtn'; + function paint(){const on=LOCKED.has(lockKey);lk.textContent=on?'🔒':'🔓';lk.classList.toggle('on',on); + lk.title=on?'locked — click to unlock':'click to lock this decision'; + (els||[]).forEach(el=>{if(!el)return; + if(el.tagName==='SELECT'||el.tagName==='BUTTON'||el.tagName==='INPUT')el.disabled=on; + else{el.dataset.locked=on?'1':'';el.classList.toggle('locked',on);if(el.syncLocked)el.syncLocked();}});} + lk.onclick=()=>{LOCKED.has(lockKey)?LOCKED.delete(lockKey):LOCKED.add(lockKey);paint();updateLockToggles();}; + paint();td.appendChild(lk);return td;} +// B/I/U/S style buttons shared by the UI and package tables. isOn(attr) reads the +// current state of an attribute, onToggle(attr) flips it and repaints. Returns +// the button list so the caller appends them and hands them to mkLockCell. +function mkStyleButtons(isOn,onToggle){ + return ['bold','italic','underline','strike'].map(at=>{ + const b=document.createElement('button');b.className='sbtn'+(isOn(at)?' on':'');b.textContent='a'; + b.style.fontWeight=at==='bold'?'bold':'normal';b.style.fontStyle=at==='italic'?'italic':'normal'; + b.style.textDecoration=at==='underline'?'underline':at==='strike'?'line-through':'none';b.title=at; + b.onclick=()=>{onToggle(at);b.classList.toggle('on',!!isOn(at));};return b;});} +// Apply a batch action to every editable row in a tier. keyFn maps a row entry to +// its lock key, or null to skip the row entirely (syntax bg and the default fg); +// resetFn does the actual clearing. Locked rows are left untouched. +function clearUnlockedRows(items,keyFn,resetFn){ + for(const it of items){const k=keyFn(it);if(k===null)continue;if(!LOCKED.has(k))resetFn(it);} +} +function syntaxLockKeys(){return CATS.map(c=>c[0]);} +function uiLockKeys(){return UI_FACES.map(f=>'ui:'+f[0]);} +function pkgLockKeys(){const app=curApp();return APPS[app].faces.map(f=>'pkg:'+app+':'+f[0]);} +function tierLockKeys(tier){return tier==='syntax'?syntaxLockKeys():tier==='ui'?uiLockKeys():pkgLockKeys();} +function updateLockToggle(tier){ + const ids={syntax:'syntaxlocktoggle',ui:'uilocktoggle',pkg:'pkglocktoggle'},b=document.getElementById(ids[tier]);if(!b)return; + b.textContent=lockToggleLabel(tierLockKeys(tier),LOCKED); +} +function updateLockToggles(){updateLockToggle('syntax');updateLockToggle('ui');updateLockToggle('pkg');} +function toggleAllLocks(tier){ + const all=areAllLocked(tierLockKeys(tier),LOCKED); + LOCKED=toggleLockSet(tierLockKeys(tier),LOCKED); + if(tier==='syntax')buildTable();else if(tier==='ui')buildUITable();else buildPkgTable(); + updateLockToggles(); + notify((all?'unlocked ':'locked ')+(tier==='pkg'?'package':tier)+' rows',false); +} +function clearUnlocked(){ + clearUnlockedRows(CATS,c=>(c[0]==='bg'||c[0]==='p')?null:c[0],c=>{MAP[c[0]]='';}); + buildTable();renderCode();notify('erased editable syntax elements',false); +} +function resetUnlocked(){ + clearUnlockedRows(CATS,c=>c[0],c=>{const k=c[0];MAP[k]=DEFAULT_MAP[k]||'';BOLD[k]=!!DEFAULT_BOLD[k];ITALIC[k]=!!DEFAULT_ITALIC[k];}); + buildTable();buildUITable();buildPkgTable();buildPkgPreview();renderCode();applyGround();repaintCovered(); + notify('reset editable syntax elements to captured defaults',false); +} +function clearUnlockedUI(){ + clearUnlockedRows(UI_FACES,f=>'ui:'+f[0],f=>{UIMAP[f[0]]=uiFaceBlank();}); + buildUITable();buildMockFrame();notify('erased editable UI faces',false); +} +function resetUnlockedUI(){ + clearUnlockedRows(UI_FACES,f=>'ui:'+f[0],f=>{UIMAP[f[0]]=JSON.parse(JSON.stringify(DEFAULT_UIMAP[f[0]]||uiFaceBlank()));}); + buildUITable();buildMockFrame();notify('reset editable UI faces to captured defaults',false); +} +function clearUnlockedPkg(){ + const app=curApp(); + clearUnlockedRows(APPS[app].faces,f=>'pkg:'+app+':'+f[0],f=>{PKGMAP[app][f[0]]=normalizePkgFace({source:'cleared'},'cleared');}); + pkgChanged();notify('erased editable '+app+' faces',false); +} +function buildTable(){ + const tb=document.getElementById('legbody');tb.innerHTML=''; + for(const [kind,label,ex] of CATS){ + const tr=document.createElement('tr');tr.dataset.kind=kind; + const cur=MAP[kind]||'';const list=ddList(cur); + const exTd=document.createElement('td');exTd.className='ex';exTd.textContent=ex; + const crTd=document.createElement('td');crTd.style.whiteSpace='nowrap';crTd.style.fontSize='10pt'; + function styleEx(){exTd.style.color=(kind==='bg'?MAP['p']:effFg(MAP[kind]));exTd.style.background=MAP['bg'];exTd.style.fontWeight=BOLD[kind]?'bold':'normal';exTd.style.fontStyle=ITALIC[kind]?'italic':'normal';} + function styleCr(){const r=contrast((kind==='bg'?MAP['p']:effFg(MAP[kind])),MAP['bg']);crTd.innerHTML=crHtml(r);} + const dd=mkColorDropdown(list,cur,(hex)=>{MAP[kind]=hex;styleEx();styleCr();renderCode();if(kind==='bg'||kind==='p'){applyGround();buildTable();buildPkgTable();buildPkgPreview();}repaintCovered();}); + styleEx();styleCr(); + const lkTd=mkLockCell(kind,[dd]); + // style buttons + const stTd=document.createElement('td'); + if(kind!=='bg'){const defs=[['B','a','bold'],['I','a','italic']]; + const btns={}; + defs.forEach(([id,ch,mode])=>{const b=document.createElement('button');b.className='sbtn';b.style.fontWeight=mode==='bold'?'bold':'normal';b.style.fontStyle=mode==='italic'?'italic':'normal';b.textContent=ch; + b.onclick=()=>{if(mode==='bold'){BOLD[kind]=!BOLD[kind];}else{ITALIC[kind]=!ITALIC[kind];}refresh();renderCode();styleEx();}; + btns[mode]=b;stTd.appendChild(b);}); + function refresh(){btns.bold.classList.toggle('on',!!BOLD[kind]);btns.italic.classList.toggle('on',!!ITALIC[kind]);} + refresh();} + const c0=document.createElement('td');c0.appendChild(dd); + const c2=document.createElement('td');c2.className='cat';c2.textContent=label;c2.style.cursor='pointer';c2.title='flash this category in the code';c2.onclick=()=>flashTokens(kind); + tr.appendChild(c2);tr.appendChild(lkTd);tr.appendChild(c0);tr.appendChild(stTd);tr.appendChild(crTd);tr.appendChild(exTd); + tb.appendChild(tr);} + updateLockToggle('syntax'); +} +function clearPalette(){ + normalizePalette(); + const plan=clearPalettePlan(PALETTE,{bg:MAP['bg'],fg:MAP['p']}); + plan.removed.forEach(({hex,name})=>rememberGone(hex,name)); + PALETTE=plan.palette;selectedIdx=null; + renderPalette();buildTable();buildUITable();if(document.getElementById('pkgbody'))buildPkgTable();renderCode();applyGround(); + notify('cleared palette to bg and fg',false); +} +let selectedIdx=null; +// When a named palette color is deleted, remember its hex keyed by name so that +// recreating a color with the same name can re-bind the assignments still pointing +// at the old (now "(gone)") hex. Consumed once per name; cleared on import. +let lastGone={}; +// Re-point every assignment — syntax map, UI faces, package faces — from one hex +// to another. Used when a palette color's value is edited and when a deleted name +// is recreated. +function repointHex(oldHex,newHex){ + if(oldHex===newHex)return; + for(const k in MAP){if(MAP[k]===oldHex)MAP[k]=newHex;} + for(const f in UIMAP){if(UIMAP[f].fg===oldHex)UIMAP[f].fg=newHex;if(UIMAP[f].bg===oldHex)UIMAP[f].bg=newHex;} + for(const ap in PKGMAP)for(const fc in PKGMAP[ap]){const o=PKGMAP[ap][fc];if(o.fg===oldHex)o.fg=newHex;if(o.bg===oldHex)o.bg=newHex;} +} +// On adding a color, if its name matches a recently-deleted one, re-bind the +// stranded assignments to the new hex. Returns true when a heal context existed. +function healGone(name,newHex){const k=name.toLowerCase();if(!(k in lastGone))return false;const g=lastGone[k];delete lastGone[k];repointHex(g,newHex);return true;} +function rememberGone(hex,name){if(name)lastGone[name.toLowerCase()]=hex;} +function normalizePaletteEntry(entry){ + const hex=entry&&entry[0],name=(entry&&entry[1])||'color'; + return [hex,name,(entry&&entry[2])||columnIdOf(entry)]; +} +function ensureGroundEndpoints(){ + const ground={bg:MAP['bg'],fg:MAP['p']}; + if(ground.bg&&!PALETTE.some(entry=>groundRoleOfEntry(entry,ground)==='bg'))PALETTE.unshift([ground.bg,'bg','ground']); + if(ground.fg&&!PALETTE.some(entry=>groundRoleOfEntry(entry,ground)==='fg'))PALETTE.push([ground.fg,'fg','ground']); +} +function normalizePalette(){PALETTE=PALETTE.map(normalizePaletteEntry);ensureGroundEndpoints();} +// The ground column is explicit: bg pins the top endpoint, fg pins the bottom +// endpoint, and generated ground+N steps live between them. +function groundColumnMembers(){ + return groundColumnMembersFromPalette(PALETTE,{bg:MAP['bg'],fg:MAP['p']}); +} +function groundSpanCount(){return PALETTE.filter(entry=>groundRoleOfEntry(entry,{bg:MAP['bg'],fg:MAP['p']})==='step').length;} +function groundSpanControl(){ + const d=document.createElement('div');d.className='fcount'; + d.innerHTML=`<span title="number of ground colors between bg and fg">span <input type="number" min="0" max="8" value="${groundSpanCount()}"></span>`; + d.querySelector('input').onchange=(e)=>setGroundSpan(Math.max(0,Math.min(8,parseInt(e.target.value,10)||0))); + return d; +} +function setGroundSpan(n){ + const old=PALETTE.filter(entry=>groundRoleOfEntry(entry,{bg:MAP['bg'],fg:MAP['p']})==='step'); + const bg=srgb2oklab(MAP['bg']),fg=srgb2oklab(MAP['p']); + const entries=[]; + let step=1; + for(let i=1;i<=n;i++){ + const t=i/(n+1); + const lab={L:bg.L+(fg.L-bg.L)*t,a:bg.a+(fg.a-bg.a)*t,b:bg.b+(fg.b-bg.b)*t}; + const hex=lrgb2hex(oklab2lrgb(lab.L,lab.a,lab.b)); + if(hex.toLowerCase()==='#ffffff'||hex.toLowerCase()==='#000000')continue; + entries.push([hex,'ground+'+(step++),'ground']); + } + for(const [oldHex,oldName] of old){ + const next=entries.find(([,name])=>name===oldName); + if(next&&next[0].toLowerCase()!==oldHex.toLowerCase())repointHex(oldHex,next[0]); + } + for(let i=PALETTE.length-1;i>=0;i--)if(groundRoleOfEntry(PALETTE[i],{bg:MAP['bg'],fg:MAP['p']})==='step')PALETTE.splice(i,1); + let at=PALETTE.findIndex(entry=>groundRoleOfEntry(entry,{bg:MAP['bg'],fg:MAP['p']})==='bg'); + if(at<0)at=0; else at+=1; + PALETTE.splice(Math.min(at,PALETTE.length),0,...entries); + selectedIdx=null;renderPalette();buildTable();buildUITable();renderCode();applyGround(); + notify('set ground span to '+n,false); +} +// Pairwise OKLab ΔE over the palette. Returns the sub-threshold pairs (sorted +// closest-first) and each color's nearest-neighbor distance for its chip title. +// Pure pairwise ΔE analysis lives in colormath.js (paletteWarnings); this renders it. +function renderPaletteWarnings(warnings,overflow){ + const w=document.getElementById('palwarn');if(!w)return; + if(!warnings.length){w.style.display='none';w.innerHTML='';return;} + let html='<div class="pwh">too-similar colors</div>'; + html+=warnings.map(p=>`<div class="pwl">${esc(p.aName+' / '+p.bName)} — \u0394E ${p.dE.toFixed(3)}, hard to distinguish</div>`).join(''); + if(overflow>0)html+=`<div class="pwl">and ${overflow} more</div>`; + w.innerHTML=html;w.style.display='block'; +} +// One palette chip for PALETTE[i], with its remove / rename / select handlers. +// Families sort deterministically, so the old move-arrow / drag reordering is gone. +function paletteChip(i,nearest){ + const [hex,name]=PALETTE[i],tc=textOn(hex),nde=nearest[i]; + const role=groundRoleOfEntry(PALETTE[i],{bg:MAP['bg'],fg:MAP['p']}); + const locked=(role==='bg'||role==='fg'); + const d=document.createElement('div');d.className='pchip'+(i===selectedIdx?' sel':'');d.style.background=hex; + d.dataset.paletteIndex=String(i); + d.title=name+' '+hex+(nde===Infinity||nde===undefined?'':' — nearest ΔE '+nde.toFixed(3)); + const rm=locked?`<span class="lock" title="${role==='bg'?'background':'foreground'} — can't remove" style="color:${tc}">🔒</span>`:`<button class="rm" title="remove" style="color:${tc}">×</button>`; + d.innerHTML=`${rm}<input class="nm" value="${name}" readonly style="color:${tc}"><div class="hx" style="color:${tc}">${hex}</div>`; + if(!locked)d.querySelector('.rm').onclick=(e)=>{e.stopPropagation();rememberGone(hex,name);PALETTE.splice(i,1);if(selectedIdx===i)selectedIdx=null;renderPalette();buildTable();buildUITable();}; + const nm=d.querySelector('.nm'); + const finishNameEdit=()=>{nm.readOnly=true;nm.classList.remove('editing');}; + nm.onclick=(e)=>{e.preventDefault();e.stopPropagation();selectColor(i);}; + nm.ondblclick=(e)=>{e.preventDefault();e.stopPropagation();nm.readOnly=false;nm.classList.add('editing');nm.focus();nm.setSelectionRange(0,0);}; + nm.onblur=finishNameEdit; + nm.onkeydown=(e)=>{if(e.key==='Enter'){e.preventDefault();nm.blur();}else if(e.key==='Escape'){e.preventDefault();nm.value=PALETTE[i][1];nm.blur();}}; + nm.onchange=(e)=>{PALETTE[i][1]=e.target.value;buildTable();buildUITable();}; + d.onclick=(e)=>{if(e.target.closest('.rm'))return;selectColor(i);}; + return d; +} +function setChipPreviewColor(i,hex){ + const chip=document.querySelector('#pals .pchip[data-palette-index="'+i+'"]');if(!chip)return; + const tc=textOn(hex);chip.style.background=hex; + chip.querySelectorAll('.nm,.hx,.rm,.lock').forEach(e=>e.style.color=tc); +} +function previewSelectedChip(hex){if(selectedIdx===null)return;setChipPreviewColor(selectedIdx,hex);} +function restoreSelectedChip(){if(selectedIdx===null||!PALETTE[selectedIdx])return;setChipPreviewColor(selectedIdx,PALETTE[selectedIdx][0]);} +function paletteIndexByHexName(hex,name){ + for(let i=0;i<PALETTE.length;i++)if(PALETTE[i][0]===hex&&PALETTE[i][1]===name)return i; + return -1; +} +function selectColumnBase(f){ + const baseMember=f.members.find(m=>m.hex.toLowerCase()===f.base.toLowerCase())||f.members[0]; + const i=paletteIndexByHexName(baseMember.hex,baseMember.name); + if(i>=0)selectColor(i); +} +function isGroundEntry(entry){ + return !!groundRoleOfEntry(entry,{bg:MAP['bg'],fg:MAP['p']}); +} +function moveColumn(columnId,dir){ + normalizePalette(); + const columns=sortColumns(columnsFromPalette(PALETTE,{bg:MAP['bg'],fg:MAP['p']}).columns); + const pos=columns.findIndex(f=>f.column===columnId); + const next=columns[pos+dir]; + if(pos<0||!next)return; + const moving=[],rest=[]; + PALETTE.forEach(entry=>{ + if(!isGroundEntry(entry)&&columnIdOf(entry)===columnId)moving.push(entry); + else rest.push(entry); + }); + const nextPositions=[]; + rest.forEach((entry,i)=>{if(!isGroundEntry(entry)&&columnIdOf(entry)===next.column)nextPositions.push(i);}); + if(!nextPositions.length)return; + const at=dir<0?nextPositions[0]:nextPositions[nextPositions.length-1]+1; + PALETTE=rest.slice(0,at).concat(moving,rest.slice(at)); + selectedIdx=null;renderPalette();buildTable();buildUITable();renderCode();applyGround(); + notify('moved "'+columnId+'" '+(dir<0?'left':'right'),false); +} +function deleteColumn(columnId,label){ + normalizePalette(); + const plan=deletePaletteColumnPlan(PALETTE,{bg:MAP['bg'],fg:MAP['p']},columnId); + if(!plan.removed.length){notify('nothing to delete in "'+(label||columnId)+'"',true);return;} + const title=label||columnId; + if(!confirm('Delete color column "'+title+'"?\n\nThis removes '+plan.removed.length+' palette color(s). Existing face assignments will stay on their old hex values and show as "(gone)".'))return; + plan.removed.forEach(({hex,name})=>rememberGone(hex,name)); + PALETTE=plan.palette;selectedIdx=null; + renderPalette();buildTable();buildUITable();renderCode();applyGround(); + notify('deleted column "'+title+'" — '+plan.removed.length+' color(s) now show "(gone)" where used',false); +} +function columnHeader(f,position,count){ + const h=document.createElement('div');h.className='fhead'; + const label=(f.members.find(m=>m.hex.toLowerCase()===f.base.toLowerCase())||{}).name||f.column||f.base; + h.innerHTML=`<button class="cmove left" title="move column left" ${position===0?'disabled':''}>‹</button><button class="ctitle" title="select base color"></button><button class="cmove right" title="move column right" ${position===count-1?'disabled':''}>›</button><button class="cdel" title="delete column with confirmation">×</button>`; + h.querySelector('.ctitle').textContent=label; + h.querySelector('.ctitle').onclick=()=>selectColumnBase(f); + h.querySelector('.left').onclick=(e)=>{e.stopPropagation();moveColumn(f.column,-1);}; + h.querySelector('.right').onclick=(e)=>{e.stopPropagation();moveColumn(f.column,1);}; + h.querySelector('.cdel').onclick=(e)=>{e.stopPropagation();deleteColumn(f.column,label);}; + return h; +} +// Render the palette as structural color columns: pinned ground column, then +// first-seen palette columns. Grouping uses the stable column id stored on each +// palette entry, so renaming a color never moves it. +function renderPalette(){ + normalizePalette(); + const p=document.getElementById('pals');p.innerHTML=''; + const {warnings,overflow,nearest}=paletteWarnings(PALETTE,DELTAE_MIN,5); + const {ground,columns}=columnsFromPalette(PALETTE,{bg:MAP['bg'],fg:MAP['p']}); + const used=new Set(); + const idxOf=(hex,name)=>{for(let i=0;i<PALETTE.length;i++)if(!used.has(i)&&PALETTE[i][0]===hex&&PALETTE[i][1]===name){used.add(i);return i;}return -1;}; + const strip=(cls)=>{const s=document.createElement('div');s.className='fstrip'+(cls||'');p.appendChild(s);return s;}; + if(ground.length){ + const gs=strip(' ground');gs.dataset.column='ground'; + const gh=document.createElement('div');gh.className='fhead';gh.textContent='ground';gs.appendChild(gh); + gs.appendChild(groundSpanControl()); + groundColumnMembers().forEach(m=>{ + const i=idxOf(m.hex,m.name); + if(i>=0)gs.appendChild(paletteChip(i,nearest)); + else{const tc=textOn(m.hex),sw=document.createElement('div');sw.className='pchip';sw.style.background=m.hex;sw.title=(m.name||'ground')+' '+m.hex; + sw.innerHTML=`<input class="nm" value="${m.name||'ground'}" disabled style="color:${tc}"><div class="hx" style="color:${tc}">${m.hex}</div>`;gs.appendChild(sw);} + }); + } + // The too-similar warning stays on the full flat palette, so large spans can + // still expose genuinely hard-to-distinguish neighboring colors. + const ordered=sortColumns(columns); + ordered.forEach((f,pos)=>{ + const s=strip('');s.dataset.column=f.column||f.base; + s.appendChild(columnHeader(f,pos,ordered.length)); + s.appendChild(columnCountControl(f)); + f.members.forEach(m=>{const i=idxOf(m.hex,m.name);if(i>=0)s.appendChild(paletteChip(i,nearest));}); + }); + renderPaletteWarnings(warnings,overflow); + buildUITable();if(document.getElementById('pkgbody'))buildPkgTable(); +} +// The per-column count control under a chromatic strip. Its value is the column's +// current per-side reach; setting N regenerates the column as base ±N. +function columnCountControl(f){ + const per=Math.max(0,...rankByLightness(f.members.map(m=>m.hex),f.base).map(m=>Math.abs(m.offset))); + const d=document.createElement('div');d.className='fcount'; + d.innerHTML=`<span title="set the column span: N generated steps on each side of the base — this replaces the column">span ± <input type="number" min="0" max="8" value="${per}"></span>`; + d.querySelector('input').onchange=(e)=>setColumnCount(f.base,Math.max(0,Math.min(8,parseInt(e.target.value,10)||0))); + return d; +} +// Regenerate a column as a symmetric base ±N span, replacing its current members. +// References to a surviving position (matched by signed lightness rank) follow the +// new hex; references to a position removed by lowering N leave their old hex, +// which is no longer in the palette and so renders as "(gone)". +// Replace oldHexes in the palette with a fresh base ±n ramp, repointing surviving +// references and leaving removed ones on their now-gone hex. Returns the removed +// count, or null on a bad base. Shared by the count control and the base edit. +function regenColumnInPlace(oldHexes,baseHex,baseName,n,columnId){ + const r=regenColumn(baseHex,n,{}); + if(r.error){notify('cannot regenerate from '+baseHex,true);return null;} + const plan=stepRepointPlan(rankByLightness(oldHexes,baseHex),r.members); + const oldSet=new Set(oldHexes.map(h=>h.toLowerCase())); + let at=PALETTE.length; + for(let i=0;i<PALETTE.length;i++)if(oldSet.has(PALETTE[i][0].toLowerCase())){at=i;break;} + for(let i=PALETTE.length-1;i>=0;i--)if(oldSet.has(PALETTE[i][0].toLowerCase()))PALETTE.splice(i,1); + const col=columnId||columnStem(baseName); + const entries=r.members.map(m=>[m.hex,m.offset===0?baseName:baseName+(m.offset>0?'+'+m.offset:String(m.offset)),col]); + PALETTE.splice(Math.min(at,PALETTE.length),0,...entries); + for(const [o,nw] of plan.map)repointHex(o,nw); + return plan.removed.length; +} +function setColumnCount(baseHex,n){ + const {columns}=columnsFromPalette(PALETTE,{bg:MAP['bg'],fg:MAP['p']}); + const column=columns.find(f=>f.base.toLowerCase()===baseHex.toLowerCase()); + if(!column)return; + const baseName=(column.members.find(m=>m.hex.toLowerCase()===baseHex.toLowerCase())||{}).name||'color'; + const removed=regenColumnInPlace(column.members.map(m=>m.hex),baseHex,baseName,n,column.column); + if(removed===null)return; + selectedIdx=null;renderPalette();buildTable();buildUITable();renderCode();applyGround(); + notify('regenerated "'+baseName+'" to ±'+n+(removed?(' — '+removed+' removed step(s) show "(gone)" where used'):''),false); +} +function notify(msg,err){const m=document.getElementById('palmsg');if(!m)return;m.textContent=msg;m.style.color=err?'#cb6b4d':'#8a9496';m.style.opacity='1';clearTimeout(m._t);m._t=setTimeout(()=>{m.style.opacity='0';},err?4000:2800);} +function applyEdit(){if(selectedIdx!==null)updateColor();else addColor();} +function selectColor(i){selectedIdx=i;const [hex,name]=PALETTE[i];setHex(hex);document.getElementById('newname').value=name;renderPalette();notify('editing "'+name+'" — change the value, then Enter (or Update selected) to save',false);} +function updateColor(){ + if(selectedIdx===null){notify('click a palette color to select it first',true);return;} + const i=selectedIdx,oldHex=PALETTE[i][0],oldRole=groundRoleOfEntry(PALETTE[i],{bg:MAP['bg'],fg:MAP['p']}); + const newHex=curHex(); + const newName=(document.getElementById('newname').value.trim())||PALETTE[i][1]; + if(PALETTE.some((p,j)=>j!==i&&p[1].toLowerCase()===newName.toLowerCase())){notify('another color is already named "'+newName+'" — names must be unique',true);return;} + const isGroundEdit=oldRole==='bg'||oldRole==='fg'; + // If the edited color is a column base with a ramp, recolor the whole column: regenerate from the new base at the same count. + const columns=columnsFromPalette(PALETTE,{bg:MAP['bg'],fg:MAP['p']}).columns; + const column=isGroundEdit?null:columns.find(f=>f.base.toLowerCase()===oldHex.toLowerCase()); + const count=column?Math.max(0,...rankByLightness(column.members.map(m=>m.hex),column.base).map(m=>Math.abs(m.offset))):0; + const columnId=isGroundEdit?'ground':(PALETTE[i][2]||columnStem(PALETTE[i][1])); + PALETTE[i]=[newHex,newName,columnId]; + const duplicateOldHex=PALETTE.some((p,j)=>j!==i&&p[0].toLowerCase()===oldHex.toLowerCase()); + if(isGroundEdit)repointHex(oldHex,newHex); + else if(!duplicateOldHex&&oldHex!==MAP['bg']&&oldHex!==MAP['p'])repointHex(oldHex,newHex); + if(column&&count>0){ + const oldHexes=column.members.map(m=>m.hex.toLowerCase()===oldHex.toLowerCase()?newHex:m.hex); + regenColumnInPlace(oldHexes,newHex,newName,count,column.column||columnId); + closePicker();selectedIdx=null;renderPalette();buildTable();buildUITable();renderCode();applyGround();notify('recolored "'+newName+'" column from the new base',false);return; + } + closePicker();renderPalette();buildTable();buildUITable();renderCode();applyGround();notify('updated "'+newName+'"',false); +} +const DEFAULT_PICKER_HEX='#67809c'; +let [pkH,pkS,pkV]=rgb2hsv(...hex2rgb(DEFAULT_PICKER_HEX)),pickerOn=false; +function curHex(){return normHex(document.getElementById('newhexstr').value)||DEFAULT_PICKER_HEX;} +let pkMode='any'; // contrast mask: any / aa / aaa (what constraint to mask) +let pkModel='hsv'; // color model for editing: hsv / oklch (orthogonal to pkMode) +const OKLCH_CMAX=0.4; // chroma axis range for the C×L plane (and the C dial); past sRGB at most hues, so the gamut grey shows the reachable region +function pkThresh(){return pkMode==='aa'?4.5:pkMode==='aaa'?7:0;} +function drawMask(){const cv=document.getElementById('svmask');if(!cv)return;const sv=document.getElementById('sv'),w=cv.width=sv.clientWidth,h=cv.height=sv.clientHeight,ctx=cv.getContext('2d');ctx.clearRect(0,0,w,h);const T=pkThresh();if(!T)return;ctx.fillStyle='rgba(8,7,6,0.66)';const step=4;for(let x=0;x<w;x+=step){const S=x/w;for(let y=0;y<h;y+=step){const V=1-y/h,[r,g,b]=hsv2rgb(pkH,S,V);if(contrast(rgb2hex(r,g,b),MAP['bg'])<T)ctx.fillRect(x,y,step,step);}}} +// Phase 4b: the SV box becomes a Chroma×Lightness plane in OKLCH mode. Per cell +// the in-gamut test is forward-only (oklch→oklab→linear-rgb + range check), never +// the binary search — that is reserved for committing a color. The rendered +// bitmap is cached on (hue, dims, mask, bg) so dragging C/L (fixed hue) reuses it. +let _planeCache={key:null,data:null}; +function paintOklchPlane(H){ + const cv=document.getElementById('svmask');if(!cv)return; + const sv=document.getElementById('sv'),w=cv.width=sv.clientWidth,h=cv.height=sv.clientHeight,ctx=cv.getContext('2d'); + const T=pkThresh(),key=Math.round(H)+'|'+w+'|'+h+'|'+pkMode+'|'+MAP['bg']; + if(_planeCache.key===key&&_planeCache.data){ctx.putImageData(_planeCache.data,0,0);return;} + const step=4; + for(let x=0;x<w;x+=step){const C=(x/w)*OKLCH_CMAX; + for(let y=0;y<h;y+=step){const L=1-y/h,cell=planeCell(L,C,H); + if(!cell.inGamut){ctx.fillStyle='#15120f';ctx.fillRect(x,y,step,step);continue;} + ctx.fillStyle=cell.hex;ctx.fillRect(x,y,step,step); + if(T&&contrast(cell.hex,MAP['bg'])<T){ctx.fillStyle='rgba(8,7,6,0.66)';ctx.fillRect(x,y,step,step);}}} + _planeCache={key,data:ctx.getImageData(0,0,w,h)}; +} +// --- safe-lightness guidance (spec Phase 5) ---------------------------------- +let pkSafeFace=''; // covered overlay face the picker's lightness is checked against (or '') +function setSafeFace(f){pkSafeFace=f;if(pickerOn)paintPicker();} +// Shade the band of the C×L plane whose lightness is too light to keep pkSafeFace +// readable over its foreground set, with the L_max ceiling as the band's lower +// edge. One marker computed via lMax at the current chroma, not a per-pixel mask. +function paintSafeBand(C,H){ + const el=document.getElementById('svsafe');if(!el)return; + if(!pkSafeFace||pkModel!=='oklch'){el.style.display='none';return;} + const fs=fgSetForFace(pkSafeFace); + if(fs.reason||!fs.set.length){el.style.display='none';return;} + const sv=document.getElementById('sv'),h=sv.clientHeight,res=lMax(H,C,fs.set,WORST_TARGET); + if(res.status==='all'){el.style.display='none';return;} + el.style.display='block';el.style.top='0px'; + el.style.height=(res.status==='none'?h:Math.max(0,(1-res.L)*h))+'px'; + el.title='safe-lightness ceiling for '+pkSafeFace+' ('+(res.status==='none'?'no safe lightness — a foreground is too dark':'L_max '+res.L.toFixed(3)+(res.status==='clamp'?', chroma-clamped':''))+')'; +} +function paintPicker(){const sv=document.getElementById('sv');if(!sv)return; + const w=sv.clientWidth,h=sv.clientHeight,hh=document.getElementById('hue').clientHeight; + if(pkModel==='oklch'){const [L,C,H]=readOklch();sv.style.background='#15120f';paintOklchPlane(H); + document.getElementById('svcur').style.left=(Math.min(1,C/OKLCH_CMAX)*w)+'px'; + document.getElementById('svcur').style.top=((1-L)*h)+'px'; + document.getElementById('huecur').style.top=((H/360)*hh)+'px';paintSafeBand(C,H);return;} + const sb=document.getElementById('svsafe');if(sb)sb.style.display='none'; + sv.style.background=`linear-gradient(to top,#000,rgba(0,0,0,0)),linear-gradient(to right,#fff,rgba(255,255,255,0)),hsl(${pkH},100%,50%)`; + document.getElementById('svcur').style.left=(pkS*w)+'px';document.getElementById('svcur').style.top=((1-pkV)*h)+'px';document.getElementById('huecur').style.top=((pkH/360)*hh)+'px';drawMask();} +function pkReadout(h){const e=document.getElementById('pkhex');if(e)e.textContent=h;const c=document.getElementById('pkcon');if(c){const r=contrast(h,MAP['bg']);c.textContent=r.toFixed(1)+' '+rating(r);c.style.color=ratingColor(r);} + const o=document.getElementById('pkoklch');if(o){const lch=oklab2oklch(srgb2oklab(h));o.textContent='OKLCH '+lch.L.toFixed(3)+' '+lch.C.toFixed(3)+' '+Math.round(lch.H)+'\u00b0';} + const a=document.getElementById('pkapca');if(a){const lc=apca(h,MAP['bg']);a.textContent='APCA Lc '+lc.toFixed(0);a.title='APCA Lc '+lc.toFixed(1)+' (APCA-W3 0.1.9), text on the ground color. Positive = dark text on a light background, negative = light text on a dark background.';}} +function previewPickerHex(hex){if(pickerOn&&selectedIdx!==null)previewSelectedChip(hex);} +function syncHex(){const v=normHex(document.getElementById('newhexstr').value);if(!v)return;document.getElementById('swatch').style.background=v;[pkH,pkS,pkV]=rgb2hsv(...hex2rgb(v));if(pickerOn)paintPicker();pkReadout(v);previewPickerHex(v);} +function setHex(h){h=normHex(h)||h;document.getElementById('newhexstr').value=h;document.getElementById('swatch').style.background=h;[pkH,pkS,pkV]=rgb2hsv(...hex2rgb(h));if(pickerOn)paintPicker();pkReadout(h);previewPickerHex(h);} +function pkSet(){const hex=rgb2hex(...hsv2rgb(pkH,pkS,pkV));document.getElementById('newhexstr').value=hex;document.getElementById('swatch').style.background=hex;paintPicker();pkReadout(hex);previewPickerHex(hex);if(pkModel==='oklch')oklchInputsFromHex(hex);} +// --- OKLCH editing model (Phase 4a): L/C/H dials orthogonal to the HSV square --- +function setOklchInputs(L,C,H){ + const put=(id,v)=>{const e=document.getElementById(id);if(e)e.value=v;}; + put('okL',L.toFixed(3));put('okLn',L.toFixed(3));put('okC',C.toFixed(3));put('okCn',C.toFixed(3)); + const h=String(Math.round(H));put('okH',h);put('okHn',h);} +function oklchInputsFromHex(hex){const lch=oklab2oklch(srgb2oklab(normHex(hex)||DEFAULT_PICKER_HEX));setOklchInputs(lch.L,lch.C,lch.H);} +function readOklch(){return [parseFloat(document.getElementById('okL').value)||0,parseFloat(document.getElementById('okC').value)||0,parseFloat(document.getElementById('okH').value)||0];} +function pkClampStatus(on){const s=document.getElementById('pkclamp');if(!s)return;s.classList.toggle('show',on);s.textContent=on?'chroma clamped to sRGB':'';} +function pkOklchSet(){const [L,C,H]=readOklch();const {hex,clamped}=oklch2hex(L,C,H); + document.getElementById('newhexstr').value=hex;document.getElementById('swatch').style.background=hex; + [pkH,pkS,pkV]=rgb2hsv(...hex2rgb(hex));paintPicker();pkReadout(hex);previewPickerHex(hex); + if(clamped)oklchInputsFromHex(hex); // snap the dials to the reachable color + pkClampStatus(clamped);} +function setPkModel(m){pkModel=m;document.querySelectorAll('.pmodel button').forEach(x=>x.classList.toggle('on',x.dataset.pm===m)); + const oc=document.getElementById('oklchctl');if(oc)oc.classList.toggle('show',m==='oklch'); + if(m==='oklch')oklchInputsFromHex(curHex());else pkClampStatus(false);} +function buildPkChips(){const c=document.getElementById('pkchips');if(!c)return;c.innerHTML='';const T=pkThresh();PALETTE.forEach(([hex,name])=>{const s=document.createElement('div');s.className='pc';s.style.background=hex;s.title=name+' '+hex;const ok=!T||contrast(hex,MAP['bg'])>=T;if(!ok){s.style.opacity='0.22';s.title+=' (below '+pkMode.toUpperCase()+')';}s.onclick=()=>{if(ok)setHex(hex);};c.appendChild(s);});} +function openPicker(){pickerOn=true;[pkH,pkS,pkV]=rgb2hsv(...hex2rgb(curHex()));buildPkChips();document.getElementById('picker').style.display='block';setPkModel(pkModel);paintPicker();pkReadout(curHex());previewPickerHex(curHex());setTimeout(()=>document.addEventListener('pointerdown',pkOutside),0);} +function closePicker(){if(!pickerOn)return;restoreSelectedChip();pickerOn=false;const p=document.getElementById('picker');if(p)p.style.display='none';document.removeEventListener('pointerdown',pkOutside);} +function pkOutside(e){if(!e.target.closest('#picker')&&!e.target.closest('#swatch'))closePicker();} +function pkDrag(el,fn){el.addEventListener('pointerdown',e=>{e.preventDefault();fn(e);const mv=ev=>fn(ev),up=()=>{document.removeEventListener('pointermove',mv);document.removeEventListener('pointerup',up);};document.addEventListener('pointermove',mv);document.addEventListener('pointerup',up);});} +function initPicker(){const sw=document.getElementById('swatch');if(!sw)return;sw.style.background=curHex();sw.onclick=()=>pickerOn?closePicker():openPicker(); + const sf=document.getElementById('safefor');if(sf&&sf.options.length<=1)COVERED_FACES.forEach(f=>{const o=document.createElement('option');o.value=f;o.textContent=f;sf.appendChild(o);}); + pkDrag(document.getElementById('sv'),e=>{const r=document.getElementById('sv').getBoundingClientRect();const fx=Math.max(0,Math.min(1,(e.clientX-r.left)/r.width)),fy=Math.max(0,Math.min(1,(e.clientY-r.top)/r.height)); + if(pkModel==='oklch'){setOklchInputs(1-fy,fx*OKLCH_CMAX,readOklch()[2]);pkOklchSet();}else{pkS=fx;pkV=1-fy;pkSet();}}); + pkDrag(document.getElementById('hue'),e=>{const r=document.getElementById('hue').getBoundingClientRect();const fy=Math.max(0,Math.min(1,(e.clientY-r.top)/r.height)); + if(pkModel==='oklch'){const [L,C]=readOklch();setOklchInputs(L,C,fy*360);pkOklchSet();}else{pkH=fy*360;pkSet();}}); + document.querySelectorAll('.pmode button').forEach(b=>b.onclick=()=>{pkMode=b.dataset.m;document.querySelectorAll('.pmode button').forEach(x=>x.classList.toggle('on',x===b));paintPicker();buildPkChips();}); + document.querySelectorAll('.pmodel button').forEach(b=>b.onclick=()=>setPkModel(b.dataset.pm)); + [['okL','okLn',3],['okC','okCn',3],['okH','okHn',0]].forEach(([r,n,dp])=>{ + const re=document.getElementById(r),ne=document.getElementById(n); + if(re)re.addEventListener('input',()=>{if(ne)ne.value=(+re.value).toFixed(dp);pkOklchSet();}); + if(ne)ne.addEventListener('input',()=>{if(re)re.value=ne.value;pkOklchSet();});});} +function addColor(){const h=curHex();const name=document.getElementById('newname').value.trim(); + if(!name){notify('name the color before adding it',true);return;} + if(PALETTE.some(p=>p[1].toLowerCase()===name.toLowerCase())){notify('a color named "'+name+'" already exists — select it and use Update selected to change its value',true);return;} + PALETTE.push([h,name,columnIdOf([h,name])]);const healed=healGone(name,h);document.getElementById('newname').value='';selectedIdx=null;closePicker(); + renderPalette();buildTable();buildUITable(); + if(healed){renderCode();applyGround();if(document.getElementById('pkgbody'))buildPkgTable();buildPkgPreview();} + notify(healed?('added "'+name+'" and reconnected its assignments'):('added "'+name+'"'),false);} +function themeName(){return (document.getElementById('themename').value||'theme').trim()||'theme';} +function fileSlug(){return slugify(themeName());} +function exportObj(){normalizePalette();const a={};CATS.forEach(c=>a[c[0]]=MAP[c[0]]);const o={name:themeName(),palette:PALETTE,assignments:a,bold:Object.keys(BOLD).filter(k=>BOLD[k]),italic:Object.keys(ITALIC).filter(k=>ITALIC[k]),ui:UIMAP};if(LOCKED.size)o.locks=[...LOCKED];const pk=packagesForExport(PKGMAP);if(Object.keys(pk).length)o.packages=pk;return o;} +function exportState(){const t=document.getElementById('export');t.value=JSON.stringify(exportObj(),null,1);t.style.display='block';t.focus();t.select();} +function toggleJSON(){const t=document.getElementById('export'),b=document.getElementById('jsonbtn');if(t.style.display==='block'){t.style.display='none';b.textContent='show';}else{exportState();b.textContent='hide';}} +function updateTitle(){const n=document.getElementById('themename').value.trim();document.getElementById('pagetitle').textContent=(n||'Untitled')+': theme';} +function exportTheme(){const blob=new Blob([JSON.stringify(exportObj(),null,1)],{type:'application/json'});const a=document.createElement('a');a.href=URL.createObjectURL(blob);a.download=fileSlug()+'.json';a.click();} +function applyImported(text){const d=JSON.parse(text);lastGone={};if(d.name)document.getElementById('themename').value=d.name;if(d.palette)PALETTE=d.palette.map(normalizePaletteEntry);if(d.assignments)Object.assign(MAP,d.assignments); + BOLD={};(d.bold||[]).forEach(k=>BOLD[k]=true);ITALIC={};(d.italic||[]).forEach(k=>ITALIC[k]=true); + LOCKED=new Set(d.locks||[]); + if(d.ui)Object.assign(UIMAP,d.ui); + PKGMAP=seedPkgmap();if(d.packages)mergePackagesInto(PKGMAP,d.packages); + renderPalette();buildTable();buildUITable();buildPkgTable();buildPkgPreview();renderCode();applyGround();updateTitle();} +function importFile(ev){const f=ev.target.files[0];if(!f)return;const r=new FileReader(); + r.onload=()=>{try{applyImported(r.result);updateTitle();}catch(e){alert('bad theme file: '+e.message);}}; + r.readAsText(f);ev.target.value='';} +async function importTheme(){ + if(!window.showOpenFilePicker){const fi=document.getElementById('fileinput');if(fi)fi.click();return;} + try{const [h]=await window.showOpenFilePicker({types:[{description:'theme JSON',accept:{'application/json':['.json']}}]}); + const file=await h.getFile();applyImported(await file.text());updateTitle(); + notify('imported "'+(themeName()||file.name)+'"',false); + }catch(e){if(e&&e.name!=='AbortError')notify('import failed: '+e.message,true);}} +// The blanket covers only the code panes and syntax example cells. UI-face +// preview cells also carry .ex, but a face with its own bg must keep it, so +// those rows repaint through paintUI (which also re-rates the contrast cell +// against the new ground for faces without their own bg). +function applyGround(){document.querySelectorAll('pre').forEach(p=>p.style.background=MAP['bg']);document.querySelectorAll('#legbody .ex').forEach(e=>e.style.background=MAP['bg']);UI_FACES.forEach(([f])=>{if(document.getElementById('uiprev-'+f))paintUI(f);});} +function uf(f){return UIMAP[f]||{};} +function udeco(o){return `font-weight:${o.bold?'bold':'normal'};font-style:${o.italic?'italic':'normal'};text-decoration:${(o.underline?'underline ':'')+(o.strike?'line-through':'')||'none'}`;} +// A face's :box, rendered as an inset box-shadow (no layout shift). Returns the +// box-shadow VALUE (or '' for no box). 'line' is a flat border in the box color +// (or the face's own color when unset); 'released'/'pressed' are the 3D button +// styles Emacs draws, derived from explicit box color when set, otherwise the +// background so they read on any color. +function boxCss(b,bg){if(!b||!b.style)return '';const w=b.width||1; + if(b.style==='released'||b.style==='pressed'){ + // Emacs derives the 3D edges from a base color (reliefColors, ported from + // xterm.c); the translucent pair is only the no-color fallback. + const r=(b.color||bg)?reliefColors(b.color||bg):{hl:null,sh:null}; + const hl=r.hl||'#ffffff33',sh=r.sh||'#00000066'; + const [a,z]=b.style==='released'?[hl,sh]:[sh,hl]; + return `inset ${w}px ${w}px 0 ${a},inset -${w}px -${w}px 0 ${z}`;} + return `inset 0 0 0 ${w}px ${b.color||'currentColor'}`;} +// The per-row box control: none / line / raised / pressed plus optional line +// color. get()/set() read and write the face's box object (null = no box). +function mkBoxControl(get,set){const wrap=document.createElement('div');wrap.className='boxctl'; + const s=document.createElement('select');s.className='chip';s.style.cssText='width:84px;font:10pt monospace'; + [['','no box'],['line','line'],['released','raised'],['pressed','pressed']].forEach(([v,l])=>{const o=document.createElement('option');o.value=v;o.textContent=l;s.appendChild(o);}); + const dd=mkColorDropdown(ddList((get()&&get().color)||''),(get()&&get().color)||'',h=>{const cur=get();if(!cur)return;set(Object.assign({},cur,{color:h||null}));}); + function paint(){const cur=get();s.value=cur&&cur.style?cur.style:'';dd.setValue(cur&&cur.color?cur.color:''); + const off=!cur||!cur.style||wrap.dataset.locked==='1';dd.dataset.locked=off?'1':'';dd.classList.toggle('locked',off);if(dd.syncLocked)dd.syncLocked();} + s.onchange=()=>{const cur=get();set(s.value?{style:s.value,width:cur&&cur.width||1,color:cur&&cur.color||null}:null);paint();}; + wrap.syncLocked=()=>{const locked=wrap.dataset.locked==='1';s.disabled=locked;paint();}; + wrap.append(s,dd);paint();return wrap;} +function flashRow(tr){if(!tr)return;tr.scrollIntoView({block:'center',behavior:'smooth'});tr.classList.remove('flash');void tr.offsetWidth;tr.classList.add('flash');} +function flashEl(el){if(!el)return;el.scrollIntoView({block:'nearest',inline:'nearest',behavior:'smooth'});el.classList.remove('flashtok');void el.offsetWidth;el.classList.add('flashtok');} +// Flash every matching element but scroll only the first into view, so a face +// that maps to several preview spans still lands the viewport on the first. +function flashEls(els){els=[...els];if(!els.length)return;els[0].scrollIntoView({block:'nearest',inline:'nearest',behavior:'smooth'});els.forEach(el=>{el.classList.remove('flashtok');void el.offsetWidth;el.classList.add('flashtok');});} +function flashTokens(kind){const sp=document.querySelectorAll('#codepre [data-k="'+kind+'"]');if(sp.length){flashEls(sp);return;}const row=document.querySelector('#legbody tr[data-kind="'+kind+'"]');if(row)flashEl(row.querySelector('.ex'));} +function flashAssign(k){flashRow(document.querySelector(`#legbody tr[data-kind="${k}"]`));} +function flashUi(f){flashRow(document.querySelector(`#uibody tr[data-face="${f}"]`));} +function flashUiPreview(f){const sp=document.querySelectorAll(`#mockframe [data-face="${f}"]`);if(sp.length){flashEls(sp);return;}const cell=document.getElementById('uiprev-'+f);if(cell)flashEl(cell);} +function flashPkg(f){flashRow(document.querySelector(`#pkgbody tr[data-face="${f}"]`));} +function flashPkgPreview(f){const sp=document.querySelectorAll(`#pkgpreview [data-face="${f}"]`);if(sp.length){flashEls(sp);return;}const row=document.querySelector(`#pkgbody tr[data-face="${f}"]`);if(row)flashEl(row.querySelector('.cat'));} +function mockSpan(k,t){return `<span data-k="${k}" style="color:${effFg(MAP[k])};font-weight:${BOLD[k]?'bold':'normal'};font-style:${ITALIC[k]?'italic':'normal'}">${esc(t)}</span>`;} +function syncMockHeight(){const t=document.getElementById('uitable'),m=document.getElementById('mockframe');if(!t||!m)return;const lb=m.previousElementSibling,lbh=lb?lb.getBoundingClientRect().height+10:30;m.style.height=Math.max(t.getBoundingClientRect().height-lbh,220)+'px';} +function buildMockFrame(){ + const fr=document.getElementById('mockframe');if(!fr)return; + const bg=MAP['bg'],fg=MAP['p']; + const ln=uf('line-number'),lnc=uf('line-number-current-line'),hl=uf('hl-line'),hil=uf('highlight'),reg=uf('region'),isr=uf('isearch'),isf=uf('isearch-fail'),laz=uf('lazy-highlight'),par=uf('show-paren-match'),parx=uf('show-paren-mismatch'),cur=uf('cursor'),ml=uf('mode-line'),mli=uf('mode-line-inactive'),mb=uf('minibuffer-prompt'),frng=uf('fringe'),vb=uf('vertical-border'),lnk=uf('link'),err=uf('error'),wrn=uf('warning'),suc=uf('success'); + const lines=[ + {t:[['cmd',';; '],['cm','init.el - your config']]}, + {t:[['punc','('],['kw','require'],['p',' '],['con',"'cl-lib"],['punc',')']]}, + {t:[]}, + {t:[['punc','('],['kw','defun'],['p',' '],['fnd','cj/greet'],['p',' '],['punc','('],['var','name'],['punc',')']]}, + {t:[['p',' '],['punc','('],['fnc','message'],['p',' '],['str','"hi %s"'],['p',' '],['var','name'],['punc','))']],cur:1}, + {t:[['p',' '],['punc','('],['kw','setq'],['p',' '],['var','count'],['p',' '],['num','42'],['punc',')']],region:1}, + {t:[['p',' '],['punc','('],['kw','if'],['p',' '],['punc','('],['op','>'],['p',' '],['var','count'],['p',' '],['num','0'],['punc',')']],match:1}, + {t:[['p',' '],['punc','('],['kw','setq'],['p',' '],['var','total'],['p',' '],['punc','('],['op','+'],['p',' '],['var','total'],['p',' '],['var','count'],['punc','))']],hl:1}, + {t:[['p',' '],['punc','('],['fnc','process'],['p',' '],['var','items'],['punc',')']],cont:1}, + {t:[['p',' '],['punc','('],['fnc','cl-incf'],['p',' '],['var','count'],['punc',')']],lazy:1}, + {t:[['p',' '],['punc','('],['kw','setq'],['p',' '],['var','done'],['p',' '],['con','t'],['punc',')']],paren:1}, + {t:[['p',' '],['punc','('],['fnc','oops'],['p',' '],['var','nested'],['punc','))']],mismatch:1} + ]; + // An overlay face (region, highlight, isearch, lazy-highlight) merges the way + // Emacs does: its background applies, and its foreground overrides the tokens + // only when set — otherwise the underlying syntax colors show through. + const overlay=(tokens,face,dface)=>{ + const inner=face.fg + ? `<span style="color:${face.fg}">${tokens.map(([,t])=>esc(t)).join('')}</span>` + : tokens.map(([k,t])=>mockSpan(k,t)).join(''); + return `<span data-face="${dface}" style="background:${face.bg||'transparent'};${udeco(face)}">${inner}</span>`; + }; + // Emacs box cursor: it sits on the character at point, drawn in the frame + // background over the cursor color (the cursor face's foreground is ignored). + // Falls back to a trailing block only if the line has no glyph (point at EOL). + const withCursor=(tokens)=>{ + let out='',placed=false; + const cell=ch=>`<span data-face="cursor" style="background:${cur.bg||fg};color:${bg}">${esc(ch)}</span>`; + for(const [k,t] of tokens){ + const m=placed?-1:t.search(/\S/); + if(m>=0){ + if(m>0)out+=mockSpan(k,t.slice(0,m)); + out+=cell(t[m]); + if(t.length>m+1)out+=mockSpan(k,t.slice(m+1)); + placed=true; + } else out+=mockSpan(k,t); + } + if(!placed)out+=cell(' '); + return out; + }; + let buf=''; + lines.forEach((L,i)=>{ + const isc=L.cur; + const nFg=isc?(lnc.fg||fg):(ln.fg||fg), nBg=isc?(lnc.bg||'transparent'):(ln.bg||'transparent'); + const rowBg=isc?(hl.bg||'transparent'):'transparent'; + let cd; + if(isc)cd=withCursor(L.t); + else if(L.region)cd=overlay(L.t,reg,'region'); + else if(L.hl)cd=overlay(L.t,hil,'highlight'); + else if(L.match)cd=overlay(L.t,isr,'isearch'); + else if(L.lazy)cd=overlay(L.t,laz,'lazy-highlight'); + else if(L.paren)cd=L.t.map(([k,t],j)=>j===L.t.length-1?`<span data-face="show-paren-match" style="background:${par.bg||'transparent'};color:${par.fg||MAP[k]||fg};${udeco(par)}">${esc(t)}</span>`:mockSpan(k,t)).join(''); + else if(L.mismatch)cd=L.t.map(([k,t],j)=>{if(j!==L.t.length-1)return mockSpan(k,t);const head=t.slice(0,-1),bad=t.slice(-1);return (head?mockSpan(k,head):'')+`<span data-face="show-paren-mismatch" style="background:${parx.bg||'transparent'};color:${parx.fg||MAP[k]||fg};${udeco(parx)}">${esc(bad)}</span>`;}).join(''); + else cd=L.t.map(([k,t])=>mockSpan(k,t)).join(''); + const nFace=isc?'line-number-current-line':'line-number'; + buf+=`<div class="ln" style="background:${rowBg}"><span class="fr" data-face="fringe" style="background:${frng.bg||bg};color:${frng.fg||fg};text-align:center;font-size:10px;overflow:hidden" title="fringe">${L.cont?'↪':''}</span><span class="num" data-face="${nFace}" style="color:${nFg};background:${nBg};${udeco(isc?lnc:ln)}">${i+1}</span><span class="cd">${cd||' '}</span></div>`; + }); + let html=`<div class="mbuf" style="display:flex;background:${bg}"><div style="flex:1;min-width:0">${buf}</div><div data-face="vertical-border" title="vertical-border" style="width:3px;flex:0 0 auto;background:${vb.fg||vb.bg||'#2f343a'}"></div></div>`; + const mlbx=boxCss(ml.box,ml.bg||bg),mlibx=boxCss(mli.box,mli.bg||bg); + html+=`<div class="bar" data-face="mode-line" style="background:${ml.bg||fg};color:${ml.fg||bg};${udeco(ml)}${mlbx?';box-shadow:'+mlbx:''}"> init.el (Emacs Lisp) L5 git:main </div>`; + html+=`<div class="bar" data-face="mode-line-inactive" style="background:${mli.bg||bg};color:${mli.fg||fg};${udeco(mli)}${mlibx?';box-shadow:'+mlibx:''}"> *Messages* (Fundamental) </div>`; + html+=`<div class="echo" style="color:${fg}"><span data-face="minibuffer-prompt" style="color:${mb.fg||fg};${udeco(mb)}">I-search:</span> count <span data-face="isearch-fail" style="color:${isf.fg||fg};background:${isf.bg||'transparent'};${udeco(isf)}">zzz [no match]</span></div>`; + html+=`<div class="echo"><span data-face="link" style="color:${lnk.fg||fg};${udeco(lnk)}">https://gnu.org</span> <span data-face="error" style="color:${err.fg||fg};${udeco(err)}">error</span> <span data-face="warning" style="color:${wrn.fg||fg};${udeco(wrn)}">warning</span> <span data-face="success" style="color:${suc.fg||fg};${udeco(suc)}">ok</span></div>`; + fr.innerHTML=html;fr.style.background=bg;fr.style.color=fg; + fr.onclick=(e)=>{const u=e.target.closest('[data-face]');if(u){flashUi(u.dataset.face);return;}const k=e.target.closest('[data-k]');if(k)flashAssign(k.dataset.k);}; +} +// All three tiers share one dropdown — the swatch div from mkColorDropdown. The +// native <select> rendered swatch colors unreliably on Linux Chrome, so it is +// gone. '' (the default entry) maps back to null in the stored model. +function uiSelect(face,attr){const cur=UIMAP[face][attr]||''; + return mkColorDropdown(ddList(cur),cur,h=>{UIMAP[face][attr]=h||null;paintUI(face);buildMockFrame();});} +const BASE_INHERITS=['fixed-pitch','variable-pitch','default','link','bold','italic','shadow']; +function uiFaceBlank(){return {fg:null,bg:null,bold:false,italic:false,underline:false,strike:false};} +function seedFace(d){return normalizePkgFace({fg:pname(d.fg),bg:pname(d.bg),bold:d.bold,italic:d.italic,underline:d.underline,strike:d.strike,inherit:d.inherit,height:d.height,box:d.box},'default');} +function curApp(){const s=document.getElementById('appsel');return s&&s.value?s.value:Object.keys(APPS)[0];} +function pkgEffFg(app,face,seen){return effResolve(PKGMAP,app,face,'fg',seen);} +function pkgEffBg(app,face,seen){return effResolve(PKGMAP,app,face,'bg',seen);} +function buildAppSel(){const s=document.getElementById('appsel');if(!s)return;s.innerHTML='';for(const app in APPS){const o=document.createElement('option');o.value=app;o.textContent=APPS[app].label;s.appendChild(o);}s.onchange=pkgChanged;} +function pkgChanged(){buildPkgTable();buildPkgPreview();syncPkgHeight();} +function buildPkgTable(){ + const app=curApp(),tb=document.getElementById('pkgbody');if(!tb)return;tb.innerHTML=''; + const flt=(document.getElementById('pkgfilter').value||'').trim().toLowerCase(); + const inh=[''].concat(BASE_INHERITS).concat(APPS[app].faces.map(r=>r[0])); + for(const [face,label,def] of APPS[app].faces){ + if(flt&&!(face.toLowerCase().includes(flt)||label.toLowerCase().includes(flt)))continue; + const f=PKGMAP[app][face],tr=document.createElement('tr');tr.dataset.face=face; + const c0=document.createElement('td');c0.className='cat';c0.textContent=label;c0.title=face;c0.style.cursor='pointer';c0.onclick=()=>flashPkgPreview(face); + const fgd=mkColorDropdown(ddList(f.fg||''),f.fg||'',h=>{f.fg=h||null;f.source='user';pkgChanged();}), + bgd=mkColorDropdown(ddList(f.bg||''),f.bg||'',h=>{f.bg=h||null;f.source='user';pkgChanged();}); + const cf=document.createElement('td');cf.appendChild(fgd); + const cb=document.createElement('td');cb.appendChild(bgd); + const cw=document.createElement('td'); + const pkBtns=mkStyleButtons(at=>f[at],at=>{f[at]=!f[at];f.source='user';pkgChanged();}); + pkBtns.forEach(b=>cw.appendChild(b)); + const ci=document.createElement('td');const isel=document.createElement('select');isel.className='chip';isel.style.cssText='width:150px;font:10pt monospace';inh.forEach(o=>{const op=document.createElement('option');op.value=o;op.textContent=o||'— none —';isel.appendChild(op);});isel.value=f.inherit||'';isel.onchange=()=>{f.inherit=isel.value||null;f.source='user';pkgChanged();};ci.appendChild(isel); + const ch=document.createElement('td');const hin=document.createElement('input');hin.type='number';hin.min='0.8';hin.max='2.5';hin.step='0.05';hin.value=f.height||1;hin.className='hstep';hin.onchange=()=>{f.height=parseFloat(hin.value)||1;f.source='user';pkgChanged();};ch.appendChild(hin); + const cc=document.createElement('td');cc.style.fontSize='10pt';cc.style.whiteSpace='nowrap';const efg=effFg(pkgEffFg(app,face)),ebg=effBg(pkgEffBg(app,face)),r=contrast(efg,ebg);cc.innerHTML=crHtml(r); + const cx=document.createElement('td');const boxCtl=mkBoxControl(()=>f.box,b=>{f.box=b;f.source='user';pkgChanged();});cx.appendChild(boxCtl); + const cr=document.createElement('td');const rb=document.createElement('button');rb.className='sbtn';rb.textContent='↺';rb.title='reset to default';rb.onclick=()=>{PKGMAP[app][face]=seedFace(def);pkgChanged();};cr.appendChild(rb); + const cL=mkLockCell('pkg:'+app+':'+face,[fgd,bgd,...pkBtns,isel,hin,boxCtl,rb]); + tr.append(c0,cL,cf,cb,cw,cc,ci,ch,cx,cr);tb.appendChild(tr); + } + applyTableSort('pkgbody'); + updateLockToggle('pkg'); +} +function ofs(app,face){const f=PKGMAP[app][face]||{},fg=effFg(pkgEffFg(app,face)),bg=pkgEffBg(app,face);const dec=(f.underline?'underline ':'')+(f.strike?'line-through':'');const bx=boxCss(f.box,bg||MAP['bg']);return `color:${fg};${bg?'background:'+bg+';':''}font-weight:${f.bold?'bold':'normal'};font-style:${f.italic?'italic':'normal'};text-decoration:${dec.trim()||'none'};font-size:${(f.height||1)}em${bx?';box-shadow:'+bx:''}`;} +function os(app,face,txt){return `<span data-face="${face}" style="${ofs(app,face)}">${txt}</span>`;} +function renderOrgPreview(){const a='org-mode',L=[]; + L.push(os(a,'org-document-info-keyword','#+TITLE:')+' '+os(a,'org-document-title','Project Notes')); + L.push(os(a,'org-document-info-keyword','#+AUTHOR:')+' '+os(a,'org-document-info','Craig Jennings')); + L.push(os(a,'org-meta-line','#+STARTUP: overview')); + L.push(''); + L.push(os(a,'org-level-1','* Inbox')+' '+os(a,'org-tag',':work:')+os(a,'org-tag-group',':@office:')); + L.push(os(a,'org-level-2','** ')+os(a,'org-todo','TODO')+os(a,'org-level-2',' Draft the spec')+' '+os(a,'org-priority','[#A]')+' '+os(a,'org-tag',':spec:')); + L.push(' '+os(a,'org-special-keyword','SCHEDULED:')+' '+os(a,'org-date','<2026-06-08 Sun>')+' '+os(a,'org-special-keyword','DEADLINE:')+' '+os(a,'org-date','<2026-06-12 Thu>')); + L.push(' '+os(a,'org-drawer',':PROPERTIES:')); + L.push(' '+os(a,'org-special-keyword',':ID:')+' '+os(a,'org-property-value','abc-123-def')); + L.push(' '+os(a,'org-drawer',':END:')); + L.push(' '+os(a,'org-list-dt','- term ::')+' definition, with a '+os(a,'org-footnote','[fn:1]')+' note.'); + L.push(' '+os(a,'org-checkbox','[X]')+' done item '+os(a,'org-checkbox-statistics-done','[2/2]')); + L.push(' '+os(a,'org-checkbox','[ ]')+' open item '+os(a,'org-checkbox-statistics-todo','[0/3]')+' '+os(a,'org-warning','(!)')); + L.push(os(a,'org-level-2','** ')+os(a,'org-done','DONE')+os(a,'org-headline-done',' Ship the tool')); + L.push(os(a,'org-level-3','*** ')+os(a,'org-todo','TODO')+os(a,'org-headline-todo',' Heading three')); + L.push(os(a,'org-level-4','**** four')+' / '+os(a,'org-level-5','***** five')+' / '+os(a,'org-level-6','****** six')+' / '+os(a,'org-level-7','******* seven')+' / '+os(a,'org-level-8','******** eight')); + L.push(' Inline '+os(a,'org-code','=code=')+', '+os(a,'org-verbatim','~verbatim~')+', '+os(a,'org-inline-src-block','src_py{1+1}')+','); + L.push(' a '+os(a,'org-link','[[https://gnu.org][link]]')+', a '+os(a,'org-target','<<target>>')+', a '+os(a,'org-macro','{{{macro}}}')+','); + L.push(' a '+os(a,'org-cite','[cite:')+os(a,'org-cite-key','@knuth1984')+os(a,'org-cite',']')+', a date '+os(a,'org-sexp-date','<%%(diary-float 6 5 2)>')+'.'); + L.push(' '+os(a,'org-quote','#+begin_quote')+' a '+os(a,'org-verse','verse')+' line, latex '+os(a,'org-latex-and-related','$E = mc^2$')+'.'); + L.push(''); + L.push(' '+os(a,'org-block-begin-line','#+begin_src elisp')); + L.push(' '+os(a,'org-block',' (message "hi")')); + L.push(' '+os(a,'org-block-end-line','#+end_src')); + L.push(''); + L.push(' '+os(a,'org-table-header','| name | hex |')); + L.push(' '+os(a,'org-table','|------+---------|')); + L.push(' '+os(a,'org-table-row','| blue | #67809c |')+' '+os(a,'org-formula',':=vsum(@2)')); + L.push(' '+os(a,'org-column-title','Effort')+' '+os(a,'org-column','| 0:30 |')+' '+os(a,'org-archived','* archived')+os(a,'org-ellipsis',' ...')); + L.push(''); + L.push(os(a,'org-agenda-structure','Week-agenda (W23):')); + L.push(os(a,'org-agenda-date','Monday 8 June 2026')); + L.push(os(a,'org-agenda-date-today','Tuesday 9 June 2026')+' '+os(a,'org-agenda-current-time','10:24')+' '+os(a,'org-time-grid','----------')); + L.push(os(a,'org-agenda-date-weekend','Saturday 13 June')+' / '+os(a,'org-agenda-date-weekend-today','wknd-today')); + L.push(' '+os(a,'org-scheduled-previously','Sched.past:')+' overdue '+os(a,'org-agenda-done','x done item')); + L.push(' '+os(a,'org-scheduled','Scheduled:')+' a task '+os(a,'org-scheduled-today','due today')); + L.push(' '+os(a,'org-imminent-deadline','Deadline!')+' / '+os(a,'org-upcoming-deadline','upcoming')+' / '+os(a,'org-upcoming-distant-deadline','distant')); + L.push(' '+os(a,'org-agenda-dimmed-todo-face','dimmed todo')+' '+os(a,'org-agenda-diary','diary')+' '+os(a,'org-agenda-clocking','clocking')); + L.push(' '+os(a,'org-agenda-calendar-event','cal-event')+' / '+os(a,'org-agenda-calendar-sexp','cal-sexp')+' / '+os(a,'org-agenda-calendar-daterange','range')); + L.push(' '+os(a,'org-agenda-structure-secondary','secondary')+' '+os(a,'org-agenda-structure-filter','filter')+' '+os(a,'org-agenda-restriction-lock','lock')+' '+os(a,'org-agenda-column-dateline','col-date')); + L.push(' Filters: '+os(a,'org-agenda-filter-category','cat')+' '+os(a,'org-agenda-filter-tags','tags')+' '+os(a,'org-agenda-filter-effort','effort')+' '+os(a,'org-agenda-filter-regexp','re')); + L.push(' '+os(a,'org-mode-line-clock','[0:45]')+' / '+os(a,'org-mode-line-clock-overrun','[OVER]')+' '+os(a,'org-dispatcher-highlight','[d]ispatch')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`; +} +function renderMagitPreview(){const a='magit',L=[]; + L.push(os(a,'magit-header-line',' Magit: dotemacs ')+' '+os(a,'magit-header-line-key','g')+os(a,'magit-header-line-log-select',' refresh')); + L.push(os(a,'magit-head','Head:')+' '+os(a,'magit-branch-current','main')+' '+os(a,'magit-diff-revision-summary','Ship the tool')); + L.push(os(a,'magit-head','Merge:')+' '+os(a,'magit-branch-remote','origin/main')+' '+os(a,'magit-branch-local','main')); + L.push(os(a,'magit-head','Push:')+' '+os(a,'magit-branch-remote-head','origin/main')); + L.push(os(a,'magit-head','Upstream:')+' '+os(a,'magit-branch-upstream','origin/main')+' '+os(a,'magit-branch-warning','(diverged)')); + L.push(''); + L.push(os(a,'magit-section-heading','Untracked files')+' '+os(a,'magit-section-child-count','(2)')); + L.push(' '+os(a,'magit-filename','notes.txt')+' '+os(a,'magit-dimmed','(ignored sibling)')); + L.push(os(a,'magit-section-highlight',' scratch.el (highlighted row)')); + L.push(''); + L.push(os(a,'magit-section-heading','Unstaged changes')+' '+os(a,'magit-section-child-count','(1)')); + L.push(os(a,'magit-diff-file-heading','modified generate.py')); + L.push(os(a,'magit-diff-hunk-heading','@@ -1,4 +1,5 @@ def main')); + L.push(os(a,'magit-diff-context',' unchanged context')); + L.push(os(a,'magit-diff-removed','- old line')+os(a,'magit-diff-whitespace-warning',' ')); + L.push(os(a,'magit-diff-added','+ new line')); + L.push(''); + L.push(os(a,'magit-section-heading','Staged changes')+' '+os(a,'magit-diffstat-added','++++')+os(a,'magit-diffstat-removed','--')); + L.push(os(a,'magit-diff-file-heading-highlight','modified README.md (highlighted heading)')); + L.push(os(a,'magit-diff-hunk-heading-highlight','@@ hunk heading highlight @@')); + L.push(os(a,'magit-diff-added-highlight','+ added highlight')+' '+os(a,'magit-diff-removed-highlight','- removed highlight')); + L.push(os(a,'magit-diff-context-highlight',' context highlight')); + L.push(''); + L.push(os(a,'magit-section-heading','Stashes')); + L.push(' '+os(a,'magit-refname-stash','stash@{0}')+' '+os(a,'magit-refname-wip','wip')+' '+os(a,'magit-refname-pullreq','pr/42')+' '+os(a,'magit-refname','refs/heads/x')); + L.push(''); + L.push(os(a,'magit-section-heading','Recent commits')); + L.push(os(a,'magit-log-graph','* ')+os(a,'magit-hash','b5b1869f')+' '+os(a,'magit-log-date','06-08')+' '+os(a,'magit-log-author','Craig')+' enlarge the picker'); + L.push(os(a,'magit-log-graph','* ')+os(a,'magit-hash','4fa5e995')+' '+os(a,'magit-log-date','06-07')+' '+os(a,'magit-log-author','Craig')+' '+os(a,'magit-keyword','[feat]')+' picker'); + L.push(os(a,'magit-log-graph','* ')+os(a,'magit-hash','de07e01a')+' '+os(a,'magit-log-date','06-05')+' '+os(a,'magit-log-author','Craig')+' '+os(a,'magit-tag','v0.3')+' '+os(a,'magit-keyword-squash','!squash')); + L.push(''); + L.push(os(a,'magit-section-secondary-heading','Merge conflict')+' '+os(a,'magit-diff-lines-heading','lines 10-14')+os(a,'magit-diff-lines-boundary','|')); + L.push(' '+os(a,'magit-diff-conflict-heading','=======')+' '+os(a,'magit-diff-conflict-heading-highlight','(hl)')); + L.push(' '+os(a,'magit-diff-base','base')+'/'+os(a,'magit-diff-base-highlight','base-hl')+' '+os(a,'magit-diff-our','ours')+'/'+os(a,'magit-diff-our-highlight','ours-hl')+' '+os(a,'magit-diff-their','theirs')+'/'+os(a,'magit-diff-their-highlight','theirs-hl')); + L.push(' '+os(a,'magit-diff-hunk-region','hunk-region')+' '+os(a,'magit-diff-file-heading-selection','file-sel')+' '+os(a,'magit-diff-hunk-heading-selection','hunk-sel')+' '+os(a,'magit-section-heading-selection','sec-sel')+' '+os(a,'magit-diff-revision-summary-highlight','rev-sum-hl')); + L.push(''); + L.push(os(a,'magit-section-heading','Reflog')); + L.push(' '+os(a,'magit-reflog-commit','commit')+' '+os(a,'magit-reflog-amend','amend')+' '+os(a,'magit-reflog-merge','merge')+' '+os(a,'magit-reflog-checkout','checkout')+' '+os(a,'magit-reflog-reset','reset')+' '+os(a,'magit-reflog-rebase','rebase')+' '+os(a,'magit-reflog-cherry-pick','cherry-pick')+' '+os(a,'magit-reflog-remote','remote')+' '+os(a,'magit-reflog-other','other')); + L.push(os(a,'magit-section-heading','Rebase sequence')); + L.push(' '+os(a,'magit-sequence-pick','pick')+' '+os(a,'magit-sequence-stop','stop')+' '+os(a,'magit-sequence-part','part')+' '+os(a,'magit-sequence-head','head')+' '+os(a,'magit-sequence-drop','drop')+' '+os(a,'magit-sequence-done','done')+' '+os(a,'magit-sequence-onto','onto')+' '+os(a,'magit-sequence-exec','exec')); + L.push(os(a,'magit-section-heading','Bisect / Cherry / Process')); + L.push(' '+os(a,'magit-bisect-good','good')+' '+os(a,'magit-bisect-bad','bad')+' '+os(a,'magit-bisect-skip','skip')+' '+os(a,'magit-cherry-equivalent','equivalent')+' '+os(a,'magit-cherry-unmatched','unmatched')); + L.push(' '+os(a,'magit-process-ok','OK')+' '+os(a,'magit-process-ng','NG')+' '+os(a,'magit-mode-line-process','[fetch]')+' '+os(a,'magit-mode-line-process-error','[error]')); + L.push(os(a,'magit-section-heading','Blame')); + L.push(os(a,'magit-blame-margin','margin')+os(a,'magit-blame-heading',' b5b1869f ')) + L.push(' '+os(a,'magit-blame-hash','b5b1869f')+' '+os(a,'magit-blame-name','Craig')+' '+os(a,'magit-blame-date','2026-06-08')+' '+os(a,'magit-blame-summary','enlarge picker')+' '+os(a,'magit-blame-highlight','hl')+' '+os(a,'magit-blame-dimmed','dim')); + L.push(os(a,'magit-section-heading','Signatures')+os(a,'magit-left-margin',' ')); + L.push(' '+os(a,'magit-signature-good','good')+' '+os(a,'magit-signature-bad','bad')+' '+os(a,'magit-signature-untrusted','untrusted')+' '+os(a,'magit-signature-expired','expired')+' '+os(a,'magit-signature-expired-key','expired-key')+' '+os(a,'magit-signature-revoked','revoked')+' '+os(a,'magit-signature-error','error')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderElfeedPreview(){const a='elfeed',L=[]; + L.push(os(a,'elfeed-search-filter-face','@6-months-ago +unread')+' '+os(a,'elfeed-search-unread-count-face','3/120')+' '+os(a,'elfeed-search-last-update-face','updated 02:24')); + L.push(''); + L.push(os(a,'elfeed-search-date-face','2026-06-08')+' '+os(a,'elfeed-search-feed-face','Planet Emacs')+' '+os(a,'elfeed-search-unread-title-face','New release of Magit')+' '+os(a,'elfeed-search-tag-face',':emacs:')); + L.push(os(a,'elfeed-search-date-face','2026-06-07')+' '+os(a,'elfeed-search-feed-face','LWN')+' '+os(a,'elfeed-search-unread-title-face','Kernel 6.18 lands')+' '+os(a,'elfeed-search-tag-face',':linux:')); + L.push(os(a,'elfeed-search-date-face','2026-06-05')+' '+os(a,'elfeed-search-feed-face','Hacker News')+' '+os(a,'elfeed-search-title-face','Show HN: a theme editor')+' '+os(a,'elfeed-search-tag-face',':show:')); + L.push(''); + L.push(os(a,'elfeed-log-date-face','02:24:01')+' '+os(a,'elfeed-log-info-level-face','INFO ')+' updated 12 feeds'); + L.push(os(a,'elfeed-log-date-face','02:24:02')+' '+os(a,'elfeed-log-warn-level-face','WARN ')+' slow feed: example.com'); + L.push(os(a,'elfeed-log-date-face','02:24:03')+' '+os(a,'elfeed-log-error-level-face','ERROR')+' failed: bad.example'); + L.push(os(a,'elfeed-log-date-face','02:24:04')+' '+os(a,'elfeed-log-debug-level-face','DEBUG')+' parsed 340 entries'); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderGhostelPreview(){const a='ghostel',L=[]; + L.push(os(a,'ghostel-default','craig@host')+' '+os(a,'ghostel-color-green','~/code')+' $ ls'+os(a,'ghostel-fake-cursor',' ')+os(a,'ghostel-fake-cursor-box','[ ]')); + L.push(''); + L.push(os(a,'ghostel-default','normal:')+' '+os(a,'ghostel-color-black','black')+' '+os(a,'ghostel-color-red','red')+' '+os(a,'ghostel-color-green','green')+' '+os(a,'ghostel-color-yellow','yellow')+' '+os(a,'ghostel-color-blue','blue')+' '+os(a,'ghostel-color-magenta','magenta')+' '+os(a,'ghostel-color-cyan','cyan')+' '+os(a,'ghostel-color-white','white')); + L.push(os(a,'ghostel-default','bright:')+' '+os(a,'ghostel-color-bright-black','black')+' '+os(a,'ghostel-color-bright-red','red')+' '+os(a,'ghostel-color-bright-green','green')+' '+os(a,'ghostel-color-bright-yellow','yellow')+' '+os(a,'ghostel-color-bright-blue','blue')+' '+os(a,'ghostel-color-bright-magenta','magenta')+' '+os(a,'ghostel-color-bright-cyan','cyan')+' '+os(a,'ghostel-color-bright-white','white')); + L.push(''); + L.push(os(a,'ghostel-default','default terminal output, 256-color text and a blinking ')+os(a,'ghostel-fake-cursor','cursor')+'.'); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderDashboardPreview(){const a='dashboard',L=[]; + L.push(os(a,'dashboard-text-banner',' ___ _ __ ___ __ _ ___ ___')); + L.push(os(a,'dashboard-banner-logo-title',' Welcome back, Craig')); + L.push(''); + L.push(os(a,'dashboard-heading','Recent Files')); + L.push(' '+os(a,'dashboard-items-face','init.el')); + L.push(' '+os(a,'dashboard-items-face','notes.org')); + L.push(os(a,'dashboard-heading','Bookmarks')); + L.push(' '+os(a,'dashboard-no-items-face','-- no items --')); + L.push(''); + L.push(os(a,'dashboard-navigator','[ Projects ] [ Recent ] [ Agenda ]')); + L.push(os(a,'dashboard-footer-icon-face','*')+' '+os(a,'dashboard-footer-face','Happy hacking, Craig!')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderMu4ePreview(){const a='mu4e',L=[]; + L.push(os(a,'mu4e-title-face','mu4e')+' '+os(a,'mu4e-context-face','[Personal]')+' '+os(a,'mu4e-ok-face','online')+' '+os(a,'mu4e-warning-face','2 retry')+' '+os(a,'mu4e-modeline-face','12/340')); + L.push(''); + L.push(os(a,'mu4e-header-title-face','Date Flags From Subject')); + L.push(os(a,'mu4e-header-value-face','2026-06-08')+' '+os(a,'mu4e-header-marks-face','N')+' '+os(a,'mu4e-unread-face','Alice')+' '+os(a,'mu4e-unread-face','Unread message')); + L.push(os(a,'mu4e-header-value-face','2026-06-07')+' '+os(a,'mu4e-header-marks-face','R')+' '+os(a,'mu4e-header-face','Bob')+' '+os(a,'mu4e-replied-face','Replied thread')); + L.push(os(a,'mu4e-header-value-face','2026-06-06')+' '+os(a,'mu4e-header-marks-face','F')+' '+os(a,'mu4e-header-face','Carol')+' '+os(a,'mu4e-forwarded-face','Forwarded note')); + L.push(os(a,'mu4e-header-value-face','2026-06-05')+' '+os(a,'mu4e-header-marks-face','D')+' '+os(a,'mu4e-draft-face','(draft)')+' '+os(a,'mu4e-draft-face','Draft in progress')); + L.push(os(a,'mu4e-header-value-face','2026-06-04')+' '+os(a,'mu4e-header-marks-face','T')+' '+os(a,'mu4e-trashed-face','Dan')+' '+os(a,'mu4e-moved-face','Trashed and moved')); + L.push(os(a,'mu4e-header-highlight-face','2026-06-03 ! Eve Flagged ')+os(a,'mu4e-flagged-face','important')+os(a,'mu4e-related-face',' (related)')); + L.push(''); + L.push(os(a,'mu4e-header-key-face','From:')+' '+os(a,'mu4e-contact-face','Alice <alice@example.com>')); + L.push(os(a,'mu4e-header-key-face','To:')+' '+os(a,'mu4e-special-header-value-face','craig, list@gnu.org')); + L.push(os(a,'mu4e-header-key-face','Attach:')+' '+os(a,'mu4e-attach-number-face','[1]')+' report.pdf link '+os(a,'mu4e-url-number-face','[2]')+' '+os(a,'mu4e-link-face','https://gnu.org')); + L.push(''); + L.push(' body with a '+os(a,'mu4e-highlight-face','search hit')+' and '+os(a,'mu4e-region-code','code region')+'.'); + L.push(' '+os(a,'mu4e-cited-1-face','> level 1')+' '+os(a,'mu4e-cited-2-face','>> 2')+' '+os(a,'mu4e-cited-3-face','>>> 3')+' '+os(a,'mu4e-cited-4-face','> 4')+' '+os(a,'mu4e-cited-5-face','> 5')+' '+os(a,'mu4e-cited-6-face','> 6')+' '+os(a,'mu4e-cited-7-face','> 7')); + L.push(' '+os(a,'mu4e-system-face','*** system message ***')+' '+os(a,'mu4e-footer-face','-- sent with mu4e')); + L.push(''); + L.push(os(a,'mu4e-compose-header-face','Subject:')+' new mail'); + L.push(os(a,'mu4e-compose-separator-face','--text follows this line--')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderLspPreview(){const a='lsp-mode',L=[]; + L.push(os(a,'lsp-signature-face','process(')+os(a,'lsp-signature-highlight-function-argument','items: list')+os(a,'lsp-signature-face',') -> None')); + L.push(os(a,'lsp-signature-posframe',' docs: iterate over items and process each one ')); + L.push(''); + L.push('def process(items):'); + L.push(' n = len(items)'+os(a,'lsp-inlay-hint-type-face',': int')); + L.push(' handle('+os(a,'lsp-inlay-hint-parameter-face','arg:')+'n)'+os(a,'lsp-inlay-hint-face',' # hint')); + L.push(' '+os(a,'lsp-face-highlight-read','value')+' = '+os(a,'lsp-face-highlight-write','value')+' + '+os(a,'lsp-face-highlight-textual','value')); + L.push(' rename '+os(a,'lsp-face-rename','oldName')+' to '+os(a,'lsp-rename-placeholder-face','newName')); + L.push(' getName() '+os(a,'lsp-details-face','str the cached getter')); + L.push(''); + L.push(os(a,'lsp-installation-buffer-face','Installing pyright...')+' '+os(a,'lsp-installation-finished-buffer-face','done.')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderGitGutterPreview(){const a='git-gutter',L=[]; + L.push(os(a,'git-gutter:added','+')+os(a,'git-gutter:separator','|')+' added line of code'); + L.push(os(a,'git-gutter:modified','~')+os(a,'git-gutter:separator','|')+' modified line of code'); + L.push(os(a,'git-gutter:deleted','_')+os(a,'git-gutter:separator','|')+' (deleted lines marker)'); + L.push(os(a,'git-gutter:unchanged',' ')+os(a,'git-gutter:separator','|')+' '+os(a,'git-gutter:unchanged','unchanged line of code')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderFlycheckPreview(){const a='flycheck',L=[]; + L.push(os(a,'flycheck-fringe-error','E')+os(a,'flycheck-fringe-warning','W')+os(a,'flycheck-fringe-info','I')+' x = '+os(a,'flycheck-error','undefined_name')+'('+os(a,'flycheck-warning','unused_arg')+') '+os(a,'flycheck-info','# note')); + L.push(' '+os(a,'flycheck-error-delimiter','[')+os(a,'flycheck-delimited-error','err')+os(a,'flycheck-error-delimiter',']')); + L.push(''); + L.push(os(a,'flycheck-error-list-checker-name','pyright')+' '+os(a,'flycheck-verify-select-checker','(selected checker)')); + L.push(os(a,'flycheck-error-list-filename','main.py')+':'+os(a,'flycheck-error-list-line-number','12')+':'+os(a,'flycheck-error-list-column-number','4')+' '+os(a,'flycheck-error-list-error','error')+' '+os(a,'flycheck-error-list-error-message','undefined name x')+' '+os(a,'flycheck-error-list-id','[E0602]')); + L.push(os(a,'flycheck-error-list-filename','main.py')+':'+os(a,'flycheck-error-list-line-number','18')+':'+os(a,'flycheck-error-list-column-number','1')+' '+os(a,'flycheck-error-list-warning','warning')+' '+os(a,'flycheck-error-list-error-message','unused import')+' '+os(a,'flycheck-error-list-id-with-explainer','[W0611?]')); + L.push(os(a,'flycheck-error-list-highlight','main.py:20 '+os(a,'flycheck-error-list-info','info')+' highlighted row')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderDiredPreview(){const a='dired',L=[]; + L.push(os(a,'dired-header','/home/craig/code:')); + L.push(' '+os(a,'dired-perm-write','drwxr-xr-x')+' craig 4096 '+os(a,'dired-directory','src/')); + L.push(' -rw-r--r-- craig 120 notes.org'); + L.push(' '+os(a,'dired-perm-write','lrwxrwxrwx')+' craig 18 '+os(a,'dired-symlink','latest -> v2.1')); + L.push(' lrwxrwxrwx craig -- '+os(a,'dired-broken-symlink','dead -> gone')); + L.push(os(a,'dired-flagged','D')+' -rw-r--r-- craig 40 deleteme.tmp'); + L.push(os(a,'dired-mark','*')+' '+os(a,'dired-marked','-rw-r--r-- craig 210 marked.txt')); + L.push(' -rw-r--r-- craig 0 '+os(a,'dired-ignored','.gitignore')); + L.push(' '+os(a,'dired-set-id','-rwsr-xr-x')+' root 900 setuid.bin'); + L.push(' '+os(a,'dired-special','prw-r--r--')+' craig 0 fifo.pipe'); + L.push(os(a,'dired-warning','! disk space low on /home')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderDirvishPreview(){const a='dirvish',L=[]; + L.push(os(a,'dirvish-inactive','~/code')+' '+os(a,'dirvish-free-space','[free 24G]')); + L.push(os(a,'dirvish-hl-line',' '+os(a,'dirvish-file-modes','-rw-r--r--')+' '+os(a,'dirvish-file-link-number','1')+' '+os(a,'dirvish-file-user-id','craig')+' '+os(a,'dirvish-file-group-id','staff')+' '+os(a,'dirvish-file-size','4.0K')+' '+os(a,'dirvish-file-time','Jun 8 02:24')+' init.el ')); + L.push(' '+os(a,'dirvish-file-modes','drwxr-xr-x')+' '+os(a,'dirvish-file-link-number','5')+' '+os(a,'dirvish-file-user-id','craig')+' '+os(a,'dirvish-file-group-id','staff')+' '+os(a,'dirvish-file-size',' - ')+' '+os(a,'dirvish-file-time','Jun 7 18:00')+' '+os(a,'dirvish-collapse-dir-face','src')+os(a,'dirvish-subtree-state','+')+os(a,'dirvish-subtree-guide',' |')); + L.push(os(a,'dirvish-hl-line-inactive',' inactive-window current line ')); + L.push(' inode '+os(a,'dirvish-file-inode-number','1048576')+' dev '+os(a,'dirvish-file-device-number','8,1')+' '+os(a,'dirvish-collapse-empty-dir-face','empty/')+' '+os(a,'dirvish-collapse-file-face','file.txt')); + L.push(' VC '+os(a,'dirvish-vc-added-state','A')+os(a,'dirvish-vc-edited-state','M')+os(a,'dirvish-vc-removed-state','D')+os(a,'dirvish-vc-conflict-state','C')+os(a,'dirvish-vc-locked-state','L')+os(a,'dirvish-vc-missing-state','!')+os(a,'dirvish-vc-needs-merge-face','m')+os(a,'dirvish-vc-needs-update-state','u')+os(a,'dirvish-vc-unregistered-face','?')); + L.push(' git '+os(a,'dirvish-git-commit-message-face','feat: enlarge the picker')); + L.push(' '+os(a,'dirvish-media-info-heading','Media')+' '+os(a,'dirvish-media-info-property-key','Dimensions:')+' 1920x1080'); + L.push(' proc '+os(a,'dirvish-proc-running','running')+' / '+os(a,'dirvish-proc-finished','finished')+' / '+os(a,'dirvish-proc-failed','failed')); + L.push(' narrow '+os(a,'dirvish-narrow-match-face-0','m0')+' '+os(a,'dirvish-narrow-match-face-1','m1')+' '+os(a,'dirvish-narrow-match-face-2','m2')+' '+os(a,'dirvish-narrow-match-face-3','m3')+os(a,'dirvish-narrow-split',' | ')+os(a,'dirvish-emerge-group-title','Group: images')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderCalibredbPreview(){const a='calibredb',L=[]; + L.push(os(a,'calibredb-search-header-library-name-face','Calibre')+' '+os(a,'calibredb-search-header-library-path-face','~/books')+' '+os(a,'calibredb-search-header-total-face','412 books')+' '+os(a,'calibredb-search-header-filter-face','tag:scifi')+' '+os(a,'calibredb-search-header-sort-face','sort:date')+' '+os(a,'calibredb-search-header-highlight-face','[*]')); + L.push(''); + L.push(os(a,'calibredb-id-face','1')+' '+os(a,'calibredb-title-face','Dune')+' '+os(a,'calibredb-author-face','Herbert')+' '+os(a,'calibredb-format-face','EPUB')+' '+os(a,'calibredb-size-face','2.1M')+' '+os(a,'calibredb-tag-face',':scifi:')+' '+os(a,'calibredb-date-face','2026-06-08')); + L.push(os(a,'calibredb-mark-face','*')+os(a,'calibredb-id-face','2')+' '+os(a,'calibredb-title-face','Foundation')+' '+os(a,'calibredb-author-face','Asimov')+' '+os(a,'calibredb-series-face','[Foundation #1]')+' '+os(a,'calibredb-publisher-face','Bantam')+' '+os(a,'calibredb-pubdate-face','1951')); + L.push(''); + L.push(os(a,'calibredb-title-detailed-view-face','Foundation (detailed)')+' '+os(a,'calibredb-language-face','eng')+' '+os(a,'calibredb-favorite-face','* fav')+' '+os(a,'calibredb-archive-face','archived')); + L.push(os(a,'calibredb-ids-face','isbn:0553293354')+' '+os(a,'calibredb-file-face','foundation.epub')+' '+os(a,'calibredb-comment-face','A classic of the genre.')); + L.push(os(a,'calibredb-edit-annotation-header-title-face','Annotations')+' '+os(a,'calibredb-highlight-face','highlighted passage')+' '+os(a,'calibredb-current-page-button-face','[page 42]')+' '+os(a,'calibredb-mouse-face','hover row')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderErcPreview(){const a='erc',L=[]; + L.push(os(a,'erc-header-line',' #emacs on Libera.Chat 18 users ')); + L.push(os(a,'erc-timestamp-face','[10:24]')+' '+os(a,'erc-notice-face','*** alice has joined #emacs')); + L.push(os(a,'erc-timestamp-face','[10:25]')+' <'+os(a,'erc-my-nick-prefix-face','@')+os(a,'erc-my-nick-face','craig')+'> '+os(a,'erc-input-face','hello everyone')); + L.push(os(a,'erc-timestamp-face','[10:25]')+' <'+os(a,'erc-nick-prefix-face','+')+os(a,'erc-nick-default-face','bob')+'> '+os(a,'erc-default-face','hi craig, see ')+os(a,'erc-button','this link')+os(a,'erc-default-face',' cc ')+os(a,'erc-button-nick-default-face','@alice')); + L.push(os(a,'erc-timestamp-face','[10:26]')+' '+os(a,'erc-action-face','* craig waves')+' '+os(a,'erc-keyword-face','emacs')+' '+os(a,'erc-pal-face','<friend>')+' '+os(a,'erc-fool-face','<troll>')+' '+os(a,'erc-dangerous-host-face','<bad@host>')); + L.push(os(a,'erc-timestamp-face','[10:27]')+' '+os(a,'erc-direct-msg-face','(DM)')+' <'+os(a,'erc-nick-msg-face','bob')+'> psst '+os(a,'erc-current-nick-face','craig')+' '+os(a,'erc-information','-info-')); + L.push(os(a,'erc-error-face','*** ERROR: connection reset')); + L.push(os(a,'erc-command-indicator-face','/help')+' '+os(a,'erc-bold-face','bold')+' '+os(a,'erc-italic-face','italic')+' '+os(a,'erc-underline-face','underline')+' '+os(a,'erc-inverse-face','inverse')+' '+os(a,'erc-spoiler-face','spoiler')); + L.push(os(a,'erc-keep-place-indicator-arrow','>')+os(a,'erc-keep-place-indicator-line',' ---- last read ---- ')+os(a,'erc-fill-wrap-merge-indicator-face','+')); + L.push(os(a,'erc-prompt-face','craig>')+' '+os(a,'erc-input-face','type a message...')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderOrgdrillPreview(){const a='org-drill',L=[]; + L.push('Q: The capital of France is '+os(a,'org-drill-hidden-cloze-face','[...]')+'.'); + L.push('A: The capital of France is '+os(a,'org-drill-visible-cloze-face','Paris')+'.'); + L.push(' '+os(a,'org-drill-visible-cloze-hint-face','hint: P____')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderOrgnoterPreview(){const a='org-noter',L=[]; + L.push('org-noter paper.pdf'); + L.push(' page 1 '+os(a,'org-noter-notes-exist-face','[notes]')); + L.push(' page 2 '+os(a,'org-noter-no-notes-exist-face','[no notes]')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderSignelPreview(){const a='signel',L=[]; + L.push(os(a,'signel-timestamp-face','[10:24]')+' '+os(a,'signel-my-msg-face','Me: hey, are we still on for tonight?')); + L.push(os(a,'signel-timestamp-face','[10:25]')+' '+os(a,'signel-other-msg-face','Alice: yes! see you at 7')); + L.push(os(a,'signel-error-face','(failed to send -- retrying)')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderPearlPreview(){const a='pearl',L=[]; + L.push(os(a,'pearl-preamble-summary','PEARL-42 Fix the broken picker')); + L.push('State: '+os(a,'pearl-modified-local','In Progress')+' Priority: '+os(a,'pearl-modified-highlight','High')+' Estimate: '+os(a,'pearl-modified-unknown','?')); + L.push(' '+os(a,'pearl-editable-comment','> add a comment (editable)')); + L.push(' '+os(a,'pearl-readonly-comment','> created by automation (read-only)')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderShrPreview(){const a='shr',L=[]; + L.push(os(a,'shr-text','shr renders nov (EPUB), eww (web), elfeed, and HTML mail.')); + L.push(''); + L.push(os(a,'shr-h1','Chapter One: The Beginning')); + L.push(os(a,'shr-h2','A Section Heading')); + L.push(os(a,'shr-h3','A subsection')+' '+os(a,'shr-h4','h4')+' / '+os(a,'shr-h5','h5')+' / '+os(a,'shr-h6','h6')); + L.push(os(a,'shr-text','Body text flows in shr-text, with a ')+os(a,'shr-link','hyperlink')+os(a,'shr-text',' and a ')+os(a,'shr-selected-link','focused link')+os(a,'shr-text',',')); + L.push(os(a,'shr-text','some ')+os(a,'shr-code','inline_code()')+os(a,'shr-text',', a ')+os(a,'shr-mark','highlighted mark')+os(a,'shr-text',', ')+os(a,'shr-strike-through','struck out')+os(a,'shr-text',', a footnote')+os(a,'shr-sup','[1]')+os(a,'shr-text',',')); + L.push(os(a,'shr-text','an ')+os(a,'shr-abbreviation','HTML')+os(a,'shr-text',' abbreviation, and an ')+os(a,'shr-sliced-image','[image]')+os(a,'shr-text',' slice.')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderSlackPreview(){const a='slack',L=[]; + L.push(os(a,'slack-room-info-title-room-name-face','#general')+' '+os(a,'slack-room-info-title-face','Acme Workspace')); + L.push(os(a,'slack-room-info-section-title-face','Topic')+' '+os(a,'slack-room-info-section-label-face','daily standup')+' '+os(a,'slack-room-unread-face','3 unread')); + L.push(os(a,'slack-new-message-marker-face','---------------- new messages ----------------')); + L.push(os(a,'slack-message-output-header','craig 10:24')); + L.push(' '+os(a,'slack-message-output-text','hey ')+os(a,'slack-message-mention-me-face','@craig')+os(a,'slack-message-output-text',', see ')+os(a,'slack-message-mention-face','@alice')+os(a,'slack-message-output-text',' in ')+os(a,'slack-channel-button-face','#general')+' '+os(a,'slack-message-mention-keyword-face','urgent')); + L.push(' '+os(a,'slack-mrkdwn-bold-face','*bold*')+' '+os(a,'slack-mrkdwn-italic-face','_italic_')+' '+os(a,'slack-mrkdwn-code-face','`code`')+' '+os(a,'slack-mrkdwn-strike-face','~strike~')); + L.push(' '+os(a,'slack-mrkdwn-blockquote-face','> quoted')+' '+os(a,'slack-mrkdwn-list-face','- item')); + L.push(' '+os(a,'slack-mrkdwn-code-block-face','``` code block ```')); + L.push(' '+os(a,'slack-message-output-reaction',':thumbsup: 3')+' '+os(a,'slack-message-output-reaction-pressed',':heart: 1')+' '+os(a,'slack-message-deleted-face','(message deleted)')); + L.push(' '+os(a,'slack-all-thread-buffer-thread-header-face','Thread: 2 replies')); + L.push(os(a,'slack-attachment-header','Attachment')+' '+os(a,'slack-attachment-field-title','Field:')+' val '+os(a,'slack-message-attachment-preview-header-face','Preview')+' '+os(a,'slack-preview-face','snippet')+os(a,'slack-attachment-pad',' | ')+os(a,'slack-attachment-footer','footer')); + L.push(os(a,'slack-block-highlight-source-overlay-face',' highlighted source block ')); + L.push('Actions: '+os(a,'slack-message-action-face','Edit')+' '+os(a,'slack-message-action-primary-face','Approve')+' '+os(a,'slack-message-action-danger-face','Delete')); + L.push('Blocks: '+os(a,'slack-button-block-element-face','[Button]')+os(a,'slack-button-primary-block-element-face','[Primary]')+os(a,'slack-button-danger-block-element-face','[Danger]')+os(a,'slack-select-block-element-face','[Select v]')+os(a,'slack-overflow-block-element-face','[...]')+os(a,'slack-date-picker-block-element-face','[Date]')); + L.push('Dialog: '+os(a,'slack-dialog-title-face','Title')+' '+os(a,'slack-dialog-element-label-face','Label')+' '+os(a,'slack-dialog-element-hint-face','(hint)')+' '+os(a,'slack-dialog-element-placeholder-face','placeholder')+' '+os(a,'slack-dialog-element-error-face','error')+' '+os(a,'slack-dialog-select-element-input-face','[input v]')+' '+os(a,'slack-dialog-submit-button-face','[Submit]')+os(a,'slack-dialog-cancel-button-face','[Cancel]')); + L.push('Users: '+os(a,'slack-user-active-face','alice (active)')+' '+os(a,'slack-user-dnd-face','bob (dnd)')+' '+os(a,'slack-profile-image-face','[img]')+' '+os(a,'slack-user-profile-header-face','Profile')+' '+os(a,'slack-user-profile-property-name-face','Title:')+' Dev'); + L.push('Search: '+os(a,'slack-search-result-message-header-face','#general')+' '+os(a,'slack-search-result-message-username-face','craig')); + L.push('Modeline: '+os(a,'slack-modeline-has-unreads-face','* unreads')+' '+os(a,'slack-modeline-channel-has-unreads-face','#ch')+' '+os(a,'slack-modeline-thread-has-unreads-face','thread')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function renderTelegaPreview(){const a='telega',L=[]; + L.push(os(a,'telega-root-heading','Telegram')+' '+os(a,'telega-tracking','[tracking]')+' '+os(a,'telega-unread-unmuted-modeline','5 unread')); + L.push(os(a,'telega-has-chatbuf-brackets','[')+os(a,'telega-username','Alice')+os(a,'telega-has-chatbuf-brackets',']')+' '+os(a,'telega-user-online-status','online')+' '+os(a,'telega-unmuted-count','3')+' '+os(a,'telega-mention-count','@2')+os(a,'telega-delim-face',' | ')+os(a,'telega-secret-title','Secret')+' '+os(a,'telega-muted-count','muted')); + L.push(os(a,'telega-username','Bob')+' '+os(a,'telega-user-non-online-status','last seen recently')+' '+os(a,'telega-contact-birthdays-today','birthday today')+' '+os(a,'telega-shadow','shadow')+' '+os(a,'telega-link','link')+' '+os(a,'telega-blue','blue')+' '+os(a,'telega-red','red')); + L.push(''); + L.push(os(a,'telega-msg-heading','Today')); + L.push(os(a,'telega-msg-user-title','Alice')+' '+os(a,'telega-msg-inline-reply','| reply to Bob')+' '+os(a,'telega-msg-inline-forward','fwd from Carol')+' '+os(a,'telega-msg-inline-other','via bot')); + L.push(' '+os(a,'telega-entity-type-bold','bold')+' '+os(a,'telega-entity-type-italic','italic')+' '+os(a,'telega-entity-type-underline','underline')+' '+os(a,'telega-entity-type-strikethrough','strike')+' '+os(a,'telega-entity-type-code','code')+' '+os(a,'telega-entity-type-spoiler','spoiler')); + L.push(' '+os(a,'telega-entity-type-pre','pre block')+' '+os(a,'telega-entity-type-blockquote','> quote')+' '+os(a,'telega-entity-type-mention','@user')+' '+os(a,'telega-entity-type-hashtag','#tag')+' '+os(a,'telega-entity-type-cashtag','$USD')+' '+os(a,'telega-entity-type-botcommand','/start')+' '+os(a,'telega-entity-type-texturl','link')); + L.push(os(a,'telega-msg-self-title','Me')+' '+os(a,'telega-reaction',':+1: 2')+' '+os(a,'telega-reaction-chosen',':heart: 1')+' '+os(a,'telega-reaction-paid',':star: 5')+' '+os(a,'telega-reaction-paid-chosen',':star: paid')+' '+os(a,'telega-msg-deleted','(deleted)')+' '+os(a,'telega-msg-sponsored','Sponsored')); + L.push(' checklist '+os(a,'telega-checklist-stats-done','2 done')+' / '+os(a,'telega-checklist-stats-todo','3 todo')+' '+os(a,'telega-highlight-text-face','search hit')+' '+os(a,'telega-button-highlight','[active btn]')); + L.push(os(a,'telega-chat-prompt','>')+' '+os(a,'telega-chat-prompt-aux','reply')+' '+os(a,'telega-chat-input-attachment','[photo.jpg]')+' '+os(a,'telega-topic-button','# Topic')+' '+os(a,'telega-filter-active','Main')+' '+os(a,'telega-filter-button-active','[Unread]')+os(a,'telega-filter-button-inactive','[All]')); + L.push('Buttons '+os(a,'telega-box-button','[box]')+os(a,'telega-box-button-active','[on]')+os(a,'telega-box-button-default-active','[def]')+os(a,'telega-box-button-default-passive','[def-]')+os(a,'telega-box-button-primary-active','[pri]')+os(a,'telega-box-button-primary-passive','[pri-]')+os(a,'telega-box-button-success-active','[ok]')+os(a,'telega-box-button-success-passive','[ok-]')); + L.push(' '+os(a,'telega-box-button-danger-active','[del]')+os(a,'telega-box-button-danger-passive','[del-]')+os(a,'telega-box-button-ui-active','[ui]')+os(a,'telega-box-button-ui-passive','[ui-]')+os(a,'telega-box-button2-active','[b2]')+os(a,'telega-box-button2-passive','[b2-]')+os(a,'telega-box-button2-white-foreground','[b2w]')); + L.push('Describe '+os(a,'telega-describe-section-title','Section')+' '+os(a,'telega-describe-subsection-title','Sub')+' '+os(a,'telega-describe-item-title','Item:')+' enckey '+os(a,'telega-enckey-00','00')+os(a,'telega-enckey-01','01')+os(a,'telega-enckey-10','10')+os(a,'telega-enckey-11','11')); + L.push('Palette '+os(a,'telega-palette-builtin-blue','blue')+' '+os(a,'telega-palette-builtin-green','green')+' '+os(a,'telega-palette-builtin-orange','orange')+' '+os(a,'telega-palette-builtin-purple','purple')); + L.push(os(a,'telega-link-preview-sitename','example.com')+' '+os(a,'telega-link-preview-title','Link preview title')); + L.push('Webpage '+os(a,'telega-webpage-title','Title')+' '+os(a,'telega-webpage-subtitle','Subtitle')+' '+os(a,'telega-webpage-header','Header')+' '+os(a,'telega-webpage-subheader','Subheader')+' '+os(a,'telega-webpage-outline','outline')+' '+os(a,'telega-webpage-fixed','fixed')+' '+os(a,'telega-webpage-preformatted','pre')+' '+os(a,'telega-webpage-marked','marked')+' '+os(a,'telega-webpage-strike-through','strike')+' '+os(a,'telega-webpage-chat-link','chat-link')); + return `<div style="padding:12px 16px;font:12pt/1.7 monospace;white-space:pre">${L.join('\n')}</div>`;} +function genericPreview(app){let h='<div style="padding:10px 14px;font:12pt/1.8 monospace">';for(const [face,label,def] of APPS[app].faces){const f=PKGMAP[app][face],efg=effFg(pkgEffFg(app,face)),ebg=pkgEffBg(app,face);h+=`<div data-face="${face}" style="color:${efg};${ebg?'background:'+ebg+';':''}font-weight:${f.bold?'bold':'normal'};font-style:${f.italic?'italic':'normal'};font-size:${(f.height||1)}em">${esc(label)}</div>`;}return h+'</div>';} +function buildPkgPreview(){const app=curApp(),p=document.getElementById('pkgpreview');if(!p)return;const pv=APPS[app].preview;const bespoke=['org','magit','elfeed','ghostel','dashboard','mu4e','lsp','gitgutter','flycheck','dired','dirvish','calibredb','erc','orgdrill','orgnoter','signel','pearl','slack','telega','shr'].includes(pv);p.innerHTML=pv==='org'?renderOrgPreview():pv==='magit'?renderMagitPreview():pv==='elfeed'?renderElfeedPreview():pv==='ghostel'?renderGhostelPreview():pv==='dashboard'?renderDashboardPreview():pv==='mu4e'?renderMu4ePreview():pv==='lsp'?renderLspPreview():pv==='gitgutter'?renderGitGutterPreview():pv==='flycheck'?renderFlycheckPreview():pv==='dired'?renderDiredPreview():pv==='dirvish'?renderDirvishPreview():pv==='calibredb'?renderCalibredbPreview():pv==='erc'?renderErcPreview():pv==='orgdrill'?renderOrgdrillPreview():pv==='orgnoter'?renderOrgnoterPreview():pv==='signel'?renderSignelPreview():pv==='pearl'?renderPearlPreview():pv==='slack'?renderSlackPreview():pv==='telega'?renderTelegaPreview():pv==='shr'?renderShrPreview():genericPreview(app);p.style.background=MAP['bg'];p.onclick=(e)=>{const u=e.target.closest('[data-face]');if(u)flashPkg(u.dataset.face);};const lbl=document.getElementById('pkgprevlabel');if(lbl)lbl.textContent=bespoke?(APPS[app].label+' preview'):'preview (generic — face names in their own colors)';} +function resetApp(){const app=curApp();for(const [face,label,d] of APPS[app].faces)if(!LOCKED.has('pkg:'+app+':'+face))PKGMAP[app][face]=seedFace(d);pkgChanged();notify('reset editable '+app+' faces to package defaults',false);} +function syncPkgHeight(){const t=document.getElementById('pkgtable'),m=document.getElementById('pkgpreview');if(!t||!m)return;const lb=m.previousElementSibling,lbh=lb?lb.getBoundingClientRect().height+10:30;m.style.height=Math.max(t.getBoundingClientRect().height-lbh,220)+'px';} +// --- worst-case readout for the covered overlay faces (spec Phase 4) --------- +// Default WCAG target for the worst-case verdict (AA). AAA is selectable. +let WORST_TARGET=4.5; +// The live v1 foreground set for a covered overlay face: the syntax-token colors +// (every assignable category except the ground) plus the default foreground. +function fgSetForFace(face){ + const syntaxAssignments=CATS.filter(c=>c[0]!=='bg'&&c[0]!=='p').map(c=>({role:c[0],hex:effFg(MAP[c[0]])})); + return fgSetFor(face,{covered:COVERED_FACES,syntaxAssignments,defaultFg:MAP['p']}); +} +// The worst-case contrast cell for a covered face: the floor over its foreground +// set against its effective background, naming the limiting foreground. Returns +// null for an out-of-scope face so the caller keeps the single-pair readout. +function worstCellHtml(face){ + const r=fgSetForFace(face); + if(r.reason==='out-of-scope')return null; + if(r.reason==='empty'||!r.set.length)return '<span title="this overlay has no syntax foreground set yet">no fg set</span>'; + const bg=effBg(uf(face).bg),fl=floor(bg,r.set),verdict=fl.ratio>=WORST_TARGET?'PASS':'FAIL'; + const s='worst: '+fl.limitingLabel+' '+fl.limitingHex+' — '+fl.ratio.toFixed(1)+' '+verdict; + return `<span style="color:${ratingColor(fl.ratio)}" title="${esc(s)}">${esc(s)}</span>`; +} +// Repaint every covered overlay face (their floors depend on the syntax palette, +// so a syntax-color edit has to refresh them even though it doesn't rebuild the table). +function repaintCovered(){COVERED_FACES.forEach(f=>{if(UIMAP[f]&&document.getElementById('uicr-'+f))paintUI(f);});} +function paintUI(face){const pv=document.getElementById('uiprev-'+face);if(!pv)return;const o=UIMAP[face];pv.style.color=effFg(o.fg);pv.style.background=effBg(o.bg);pv.style.fontWeight=o.bold?'bold':'normal';pv.style.fontStyle=o.italic?'italic':'normal';pv.style.textDecoration=(o.underline?'underline ':'')+(o.strike?'line-through':'')||'none';pv.style.boxShadow=boxCss(o.box,effBg(o.bg)); + const cr=document.getElementById('uicr-'+face);if(cr){const w=worstCellHtml(face);if(w!==null){cr.innerHTML=w;}else{const efg=effFg(o.fg),ebg=effBg(o.bg),r=contrast(efg,ebg);cr.innerHTML=crHtml(r);}}} +function buildUITable(){ + const tb=document.getElementById('uibody');tb.innerHTML=''; + for(const [face,label,ex] of UI_FACES){ + const tr=document.createElement('tr');tr.dataset.face=face; + const c0=document.createElement('td');c0.className='cat';c0.textContent=label;c0.style.cursor='pointer';c0.title='flash this face in the live preview';c0.onclick=()=>flashUiPreview(face); + const fgSel=uiSelect(face,'fg'),bgSel=uiSelect(face,'bg'); + const cF=document.createElement('td');cF.appendChild(fgSel); + const cB=document.createElement('td');cB.appendChild(bgSel); + const cS=document.createElement('td'); + const stBtns=mkStyleButtons(at=>UIMAP[face][at],at=>{UIMAP[face][at]=!UIMAP[face][at];paintUI(face);buildMockFrame();}); + stBtns.forEach(b=>cS.appendChild(b)); + const cC=document.createElement('td');cC.id='uicr-'+face;cC.style.whiteSpace='nowrap';cC.style.fontSize='10pt'; + const cP=document.createElement('td');cP.className='ex';cP.id='uiprev-'+face;cP.textContent=ex;cP.style.padding='4px 10px';cP.style.borderRadius='4px'; + const cX=document.createElement('td');const boxCtl=mkBoxControl(()=>UIMAP[face].box,b=>{UIMAP[face].box=b;paintUI(face);buildMockFrame();});cX.appendChild(boxCtl); + const cL=mkLockCell('ui:'+face,[fgSel,bgSel,...stBtns,boxCtl]); + tr.appendChild(c0);tr.appendChild(cL);tr.appendChild(cF);tr.appendChild(cB);tr.appendChild(cS);tr.appendChild(cC);tr.appendChild(cP);tr.appendChild(cX);tb.appendChild(tr);paintUI(face); + } + applyTableSort('uibody'); + updateLockToggle('ui'); +} +// Generic header-click sort, shared by all three tables. Reads a swatch +// dropdown's value, a select value, a numeric input, or cell text (numeric when +// the text leads with a number, e.g. contrast or size). The UI and package +// tables remember the sort (applyTableSort runs on rebuild) so editing a row +// does not reset it; the syntax table sorts on click only. +let tableSort={}; +function cellVal(td){if(!td)return '';const dd=td.querySelector('.cdd');if(dd)return (dd.dataset.val||'').toLowerCase();const s=td.querySelector('select');if(s)return s.value.toLowerCase();const i=td.querySelector('input');if(i)return parseFloat(i.value)||0;const t=td.innerText.trim();const n=parseFloat(t);return (!isNaN(n)&&/^[-\d.]/.test(t))?n:t.toLowerCase();} +function srtTable(tbId,col){tableSort[tbId]={col,asc:!(tableSort[tbId]&&tableSort[tbId].col===col&&tableSort[tbId].asc)};applyTableSort(tbId);} +function applyTableSort(tbId){const s=tableSort[tbId];if(!s)return;const tb=document.getElementById(tbId);if(!tb)return;const dir=s.asc?1:-1;const r=[...tb.rows];r.sort((a,b)=>{const x=cellVal(a.cells[s.col]),y=cellVal(b.cells[s.col]);return ((typeof x==='number'&&typeof y==='number')?x-y:(x<y?-1:x>y?1:0))*dir;});r.forEach(x=>tb.appendChild(x));} +buildLangSel();buildAppSel();renderPalette();buildTable();buildUITable();renderCode();applyGround();updateTitle();initPicker();buildPkgTable();buildPkgPreview();syncMockHeight();syncPkgHeight(); +addEventListener('resize',()=>{syncMockHeight();syncPkgHeight();}); +// Phase-1 self-test (open with #selftest): seed -> export -> import -> compare. +function pkgSelftest(){ + const seeded=seedPkgmap(); + seeded['org-mode']['org-level-2']={fg:'#e8bd30',bg:null,bold:false,italic:false,inherit:'org-level-1',height:1.2,source:'user'}; + const exp=packagesForExport(seeded); + const round=seedPkgmap();mergePackagesInto(round,exp); + const roundtrip=JSON.stringify(exp)===JSON.stringify(packagesForExport(round)); + let oldjson=true;try{const m=seedPkgmap();mergePackagesInto(m,undefined);oldjson=!!(m['org-mode']&&m['org-mode']['org-todo'].source==='default');}catch(e){oldjson=false;} + const l2=exp['org-mode']['org-level-2']; + const inherited=l2.inherit==='org-level-1'&&l2.source==='user'; + const height=l2.height===1.2 && !('height' in (exp['org-mode']['org-todo'])); + const sc=seedPkgmap();sc['org-mode']['org-todo']={fg:null,bg:null,bold:false,italic:false,inherit:null,height:1,source:'cleared'}; + const cleared='org-todo' in packagesForExport(sc)['org-mode']; + const su=seedPkgmap();mergePackagesInto(su,{'zzz-pkg':{'zzz-face':{fg:'#112233',source:'user'}}}); + const unknown=!!(su['zzz-pkg']&&su['zzz-pkg']['zzz-face'].fg==='#112233'); + PKGMAP['__cyc']={a:{fg:null,bg:null,bold:false,italic:false,inherit:'b',height:1,source:'user'},b:{fg:null,bg:null,bold:false,italic:false,inherit:'a',height:1,source:'user'}}; + let cyc=true;try{pkgEffFg('__cyc','a');}catch(e){cyc=false;}delete PKGMAP['__cyc']; + const verdict=(roundtrip&&oldjson&&inherited&&height&&cleared&&unknown&&cyc)?'PASS':'FAIL'; + document.title='SELFTEST '+verdict; + const d=document.createElement('div');d.id='selftest';d.textContent='SELFTEST '+verdict+' roundtrip='+roundtrip+' oldjson='+oldjson+' inherit='+inherited+' height='+height+' cleared='+cleared+' unknown='+unknown+' cycle='+cyc;document.body.appendChild(d); +} +if(location.hash==='#selftest')pkgSelftest(); +// Lock-mechanism gate (open with #locktest): two behaviors the refactor must +// preserve, across all three tiers. (1) Locking a row disables its controls via +// the shared mkLockCell. (2) reset/erase batch actions update editable rows but +// leave locked rows (syntax bare-kind, ui:, pkg: keys) untouched. +if(location.hash==='#locktest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + LOCKED.clear();buildTable(); + {const k=CATS.map(c=>c[0]).filter(k=>k!=='bg'&&k!=='p')[0]; + const tr=document.querySelector('#legbody tr[data-kind="'+k+'"]'),step=tr.querySelector('.cstep'),dd=tr.querySelector('.cdd'),lb=tr.querySelector('.lockbtn'); + A(step.dataset.locked!=='1','syntax-dd-starts-unlocked');lb.click(); + A(step.dataset.locked==='1'&&step.classList.contains('locked')&&step.querySelector('.cstepbtn').disabled,'syntax-lock-disables-dd');lb.click(); + A(step.dataset.locked!=='1'&&!step.classList.contains('locked'),'syntax-unlock-reenables-dd');} + LOCKED.clear();buildUITable(); + {const f=UI_FACES[0][0]; + const tr=document.querySelector('#uibody tr[data-face="'+f+'"]'),step=tr.querySelector('.cstep'),dd=tr.querySelector('.cdd'),lb=tr.querySelector('.lockbtn'); + A(step.dataset.locked!=='1','ui-dd-starts-unlocked');lb.click(); + A(step.dataset.locked==='1'&&step.classList.contains('locked')&&step.querySelector('.cstepbtn').disabled,'ui-lock-disables-dd');lb.click(); + A(step.dataset.locked!=='1'&&!step.classList.contains('locked'),'ui-unlock-reenables-dd');} + {PALETTE=[['#000000','bg','ground'],['#ffffff','fg','ground'],['#222222','gray-dark','gray'],['#888888','gray-mid','gray'],['#dddddd','gray-light','gray']];MAP['bg']='#000000';MAP['p']='#ffffff';MAP['kw']='#888888';LOCKED.clear();buildTable(); + const tr=document.querySelector('#legbody tr[data-kind="kw"]'),btns=tr.querySelectorAll('.cstepbtn');btns[1].click(); + A(MAP['kw']==='#dddddd'&&tr.querySelector('.cdd').dataset.val==='#dddddd','syntax right arrow steps to lighter color');btns[0].click(); + A(MAP['kw']==='#888888','syntax left arrow steps to darker color');} + {UIMAP['region'].bg='#888888';LOCKED.clear();buildUITable();const tr=document.querySelector('#uibody tr[data-face="region"]'),btns=tr.cells[3].querySelectorAll('.cstepbtn');btns[1].click(); + A(UIMAP['region'].bg==='#dddddd','ui right arrow steps to lighter color');btns[0].click(); + A(UIMAP['region'].bg==='#888888','ui left arrow steps to darker color');} + {const app=curApp(),face=APPS[app].faces[0][0];PKGMAP[app][face].fg='#888888';LOCKED.clear();buildPkgTable();const tr=document.querySelector('#pkgbody tr[data-face="'+face+'"]'),btns=tr.cells[2].querySelectorAll('.cstepbtn');btns[1].click(); + A(PKGMAP[app][face].fg==='#dddddd','pkg right arrow steps to lighter color');btns[0].click(); + A(PKGMAP[app][face].fg==='#888888','pkg left arrow steps to darker color');} + {const ks=CATS.map(c=>c[0]).filter(k=>k!=='bg'&&k!=='p'),k1=ks[0],k2=ks[1]; + MAP[k1]='#111111';MAP[k2]='#222222';LOCKED.clear();LOCKED.add(k1);clearUnlocked(); + A(MAP[k1]==='#111111','syntax-erase-keeps-locked');A(MAP[k2]==='','syntax-erase-wipes-unlocked');} + {const ks=CATS.map(c=>c[0]).filter(k=>k!=='bg'&&k!=='p'),k1=ks[0],k2=ks[1]; + MAP[k1]='#111111';MAP[k2]='#222222';LOCKED.clear();LOCKED.add(k1);resetUnlocked(); + A(MAP[k1]==='#111111','syntax-reset-keeps-locked');A(MAP[k2]===DEFAULT_MAP[k2],'syntax-reset-restores-unlocked-default');} + {const f1=UI_FACES[0][0],f2=UI_FACES[1][0]; + UIMAP[f1].fg='#111111';UIMAP[f2].fg='#222222';LOCKED.clear();LOCKED.add('ui:'+f1);clearUnlockedUI(); + A(UIMAP[f1].fg==='#111111','ui-erase-keeps-locked');A(UIMAP[f2].fg===null,'ui-erase-wipes-unlocked');} + {const f1=UI_FACES[0][0],f2=UI_FACES[1][0]; + UIMAP[f1].fg='#111111';UIMAP[f2].fg='#222222';LOCKED.clear();LOCKED.add('ui:'+f1);resetUnlockedUI(); + A(UIMAP[f1].fg==='#111111','ui-reset-keeps-locked');A(JSON.stringify(UIMAP[f2])===JSON.stringify(DEFAULT_UIMAP[f2]),'ui-reset-restores-unlocked-default');} + {const app=curApp(),pf=APPS[app].faces.map(r=>r[0]),p1=pf[0],p2=pf[1]; + PKGMAP[app][p1].fg='#111111';PKGMAP[app][p2].fg='#222222';LOCKED.clear();LOCKED.add('pkg:'+app+':'+p1);clearUnlockedPkg(); + A(PKGMAP[app][p1].fg==='#111111','pkg-erase-keeps-locked');A(PKGMAP[app][p2].fg===null,'pkg-erase-wipes-unlocked');} + {const app=curApp(),rows=APPS[app].faces,p1=rows[0][0],p2=rows[1][0],d2=rows[1][2]; + PKGMAP[app][p1].fg='#111111';PKGMAP[app][p2]=normalizePkgFace({fg:'#222222',bg:'#333333',bold:true,source:'user'},'user'); + LOCKED.clear();LOCKED.add('pkg:'+app+':'+p1);resetApp(); + A(PKGMAP[app][p1].fg==='#111111','pkg-reset-keeps-locked'); + A(JSON.stringify(PKGMAP[app][p2])===JSON.stringify(seedFace(d2)),'pkg-reset-restores-unlocked-default');} + {LOCKED.clear();buildTable();const b=document.getElementById('syntaxlocktoggle');A(b&&b.textContent==='lock all','syntax toggle starts as lock all');b.click(); + A(syntaxLockKeys().every(k=>LOCKED.has(k))&&b.textContent==='unlock all','syntax lock-all locks every syntax row and flips label');b.click(); + A(syntaxLockKeys().every(k=>!LOCKED.has(k))&&b.textContent==='lock all','syntax unlock-all clears every syntax lock and flips label');} + {LOCKED.clear();buildUITable();const b=document.getElementById('uilocktoggle');A(b&&b.textContent==='lock all','ui toggle starts as lock all');b.click(); + A(uiLockKeys().every(k=>LOCKED.has(k))&&b.textContent==='unlock all','ui lock-all locks every UI row and flips label');b.click(); + A(uiLockKeys().every(k=>!LOCKED.has(k))&&b.textContent==='lock all','ui unlock-all clears every UI lock and flips label');} + {LOCKED.clear();buildPkgTable();const b=document.getElementById('pkglocktoggle');A(b&&b.textContent==='lock all','pkg toggle starts as lock all');b.click(); + A(pkgLockKeys().every(k=>LOCKED.has(k))&&b.textContent==='unlock all','pkg lock-all locks every current package row and flips label');b.click(); + A(pkgLockKeys().every(k=>!LOCKED.has(k))&&b.textContent==='lock all','pkg unlock-all clears every current package lock and flips label');} + {LOCKED.clear();const app=curApp(),faces=APPS[app].faces.map(r=>r[0]),filter=document.getElementById('pkgfilter'); + if(filter&&faces.length>1){filter.value=faces[0];buildPkgTable();const b=document.getElementById('pkglocktoggle');b.click(); + A(faces.every(face=>LOCKED.has('pkg:'+app+':'+face)),'pkg lock-all covers the whole package even when filtered'); + filter.value='';buildPkgTable();}} + document.title='LOCKTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='locktest';d.textContent='LOCKTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Sort gate (open with #sorttest): all three tables now share srtTable/cellVal. +// Verifies the syntax table (which used to have its own srt) sorts by color +// value and by element name, that a repeat click reverses, and that the UI and +// package tables still sort. Guards the unified sort for the later stages. +if(location.hash==='#sorttest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const ddVals=tb=>[...document.querySelectorAll('#'+tb+' tr')].map(tr=>{const dd=tr.cells[2].querySelector('.cdd');return dd?(dd.dataset.val||''):'';}); + const txtVals=tb=>[...document.querySelectorAll('#'+tb+' tr')].map(tr=>tr.cells[0].innerText.trim().toLowerCase()); + const asc=a=>a.every((v,i)=>i===0||a[i-1]<=v),desc=a=>a.every((v,i)=>i===0||a[i-1]>=v); + buildTable(); + srtTable('legbody',2);A(asc(ddVals('legbody')),'legbody-color-asc'); + srtTable('legbody',2);A(desc(ddVals('legbody')),'legbody-color-desc'); + srtTable('legbody',0);A(asc(txtVals('legbody')),'legbody-elements-asc'); + buildUITable();srtTable('uibody',0);A(asc(txtVals('uibody')),'uibody-face-asc'); + buildPkgTable();srtTable('pkgbody',2);A(asc(ddVals('pkgbody')),'pkgbody-fg-asc'); + document.title='SORTTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='sorttest';d.textContent='SORTTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Live-buffer rendering gate (open with #mocktest): pins the face-faithfulness +// fixes so they cannot silently regress — overlay faces keep syntax colors and +// honor their styles, the cursor sits on a glyph, line numbers honor weight, the +// fringe shows its foreground indicator, and the mode-line carries its box. +if(location.hash==='#mocktest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const Q=s=>document.querySelector('#mockframe '+s); + buildMockFrame(); + A(Q('[data-face="highlight"] [data-k]'),'highlight-keeps-token-colors'); + A(Q('[data-face="region"] [data-k]'),'region-keeps-token-colors'); + const curCell=Q('[data-face="cursor"]'); + A(curCell&&curCell.textContent.trim().length===1,'cursor-on-glyph'); + const laz=Q('[data-face="lazy-highlight"]'); + A(laz&&/background:\s*(?!transparent)/.test(laz.getAttribute('style')||''),'overlay-honors-background-style'); + A([...document.querySelectorAll('#mockframe .fr')].some(e=>e.textContent.trim()),'fringe-indicator-present'); + const mlbar=Q('[data-face="mode-line"]'); + A(mlbar&&/box-shadow/.test(mlbar.getAttribute('style')||''),'mode-line-box'); + UIMAP['line-number-current-line'].bold=true;buildMockFrame(); + const curNum=Q('[data-face="line-number-current-line"]'); + A(curNum&&/font-weight:\s*bold/.test(curNum.getAttribute('style')||''),'line-number-honors-weight'); + UIMAP['region'].bold=false;buildUITable(); + const uiBold=[...document.querySelectorAll('#uibody tr')].find(r=>r.dataset.face==='region').querySelector('.sbtn[title="bold"]'); + A(uiBold&&!uiBold.classList.contains('on'),'ui style button starts off when model is false'); + uiBold.click(); + A(uiBold.classList.contains('on')&&UIMAP['region'].bold===true,'ui style button visual state turns on with model'); + uiBold.click(); + A(!uiBold.classList.contains('on')&&UIMAP['region'].bold===false,'ui style button visual state turns off with model'); + const app=curApp(),face=APPS[app].faces[0][0];PKGMAP[app][face].bold=false;buildPkgTable(); + const pkgBtn=()=>document.querySelector('#pkgbody tr[data-face="'+face+'"] .sbtn[title="bold"]'); + A(pkgBtn()&&!pkgBtn().classList.contains('on'),'pkg style button starts off when model is false'); + pkgBtn().click(); + A(pkgBtn()&&pkgBtn().classList.contains('on')&&PKGMAP[app][face].bold===true,'pkg style button visual state turns on after rebuild'); + document.title='MOCKTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='mocktest';d.textContent='MOCKTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +if(location.hash.startsWith('#pick')){openPicker();const m=location.hash.slice(5);if(m){const b=document.querySelector('.pmode button[data-m="'+m+'"]');if(b)b.click();}} +if(location.hash==='#cursortest'){document.getElementById('newhexstr').value='#67809c';openPicker();const sc=document.getElementById('svcur'),hc=document.getElementById('huecur');const L=parseFloat(sc.style.left||'0'),T=parseFloat(sc.style.top||'0'),H=parseFloat(hc.style.top||'0');const ok=L>1&&T>1&&H>1;document.title='CURSORTEST '+(ok?'PASS':'FAIL');const d=document.createElement('div');d.id='cursortest';d.textContent='CURSORTEST '+(ok?'PASS':'FAIL')+' left='+sc.style.left+' top='+sc.style.top+' hue='+hc.style.top;document.body.appendChild(d);} +if(location.hash.startsWith('#app')){const ap=location.hash.slice(4),s=document.getElementById('appsel');if(s&&ap){s.value=ap;pkgChanged();}} +if(location.hash==='#planetest'){let ok=true;const notes=[]; + document.getElementById('newhexstr').value='#67809c';openPicker();setPkModel('oklch');paintPicker(); + const sv=document.getElementById('sv'),cv=document.getElementById('svmask'),ctx=cv.getContext('2d'); + const [L,C,H]=readOklch(); + const expLeft=Math.min(1,C/OKLCH_CMAX)*sv.clientWidth,expTop=(1-L)*sv.clientHeight; + const gotLeft=parseFloat(document.getElementById('svcur').style.left),gotTop=parseFloat(document.getElementById('svcur').style.top); + if(Math.abs(gotLeft-expLeft)>2||Math.abs(gotTop-expTop)>2){ok=false;notes.push('crosshair off got '+gotLeft.toFixed(1)+','+gotTop.toFixed(1)+' exp '+expLeft.toFixed(1)+','+expTop.toFixed(1));} + const Coog=0.38,Loog=0.5,labO=oklch2oklab(Loog,Coog,H),oog=!inGamut(oklab2lrgb(labO.L,labO.a,labO.b)); + const oogX=Math.min(cv.width-2,Math.round((Coog/OKLCH_CMAX)*cv.width)),oogY=Math.round((1-Loog)*cv.height); + const dO=ctx.getImageData(oogX,oogY,1,1).data,greyO=Math.abs(dO[0]-0x15)<10&&Math.abs(dO[1]-0x12)<10&&Math.abs(dO[2]-0x0f)<10; + if(oog&&!greyO){ok=false;notes.push('OOG cell not masked rgb '+dO[0]+','+dO[1]+','+dO[2]);} + const inX=Math.round((0.03/OKLCH_CMAX)*cv.width),inY=Math.round(0.5*cv.height); + const dI=ctx.getImageData(inX,inY,1,1).data,greyI=Math.abs(dI[0]-0x15)<10&&Math.abs(dI[1]-0x12)<10&&Math.abs(dI[2]-0x0f)<10; + if(greyI){ok=false;notes.push('in-gamut cell rendered as OOG grey rgb '+dI[0]+','+dI[1]+','+dI[2]);} + document.title='PLANETEST '+(ok?'PASS':'FAIL');const d=document.createElement('div');d.id='planetest';d.textContent='PLANETEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +if(location.hash==='#oklchtest'){let ok=true;const notes=[]; + document.getElementById('newhexstr').value='#67809c';openPicker(); + const before=document.getElementById('newhexstr').value; + setPkModel('oklch'); + if(pkModel!=='oklch'){ok=false;notes.push('model not oklch');} + if(!document.getElementById('oklchctl').classList.contains('show')){ok=false;notes.push('oklch dials hidden');} + if(document.getElementById('newhexstr').value!==before){ok=false;notes.push('color changed on model switch: '+document.getElementById('newhexstr').value);} + pkMode='any';document.querySelector('.pmode button[data-m="aa"]').click(); + if(pkModel!=='oklch'){ok=false;notes.push('mask toggle reset model');} + if(pkMode!=='aa'){ok=false;notes.push('mask did not set aa');} + setPkModel('hsv'); + if(pkMode!=='aa'){ok=false;notes.push('model switch reset mask to '+pkMode);} + if(pkModel!=='hsv'){ok=false;notes.push('model not hsv after switch');} + setPkModel('oklch');setOklchInputs(0.591,0.052,251.6);pkOklchSet(); + const driven=document.getElementById('newhexstr').value,dl=oklab2oklch(srgb2oklab(driven)); + if(!(Math.abs(dl.L-0.591)<0.02&&Math.abs(dl.C-0.052)<0.02)){ok=false;notes.push('dials did not drive color: '+driven);} + const {clamped}=oklch2hex(0.7,0.4,140);setOklchInputs(0.7,0.4,140);pkOklchSet(); + if(!(clamped&&document.getElementById('pkclamp').classList.contains('show'))){ok=false;notes.push('clamp status missing for out-of-gamut C');} + document.title='OKLCHTEST '+(ok?'PASS':'FAIL');const d=document.createElement('div');d.id='oklchtest';d.textContent='OKLCHTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +if(location.hash==='#deltatest'){const save=PALETTE.slice();let ok=true;const notes=[];const W=()=>document.getElementById('palwarn'); + PALETTE=[['#0d0b0a','ground'],['#cdced1','fg'],['#67809c','blue'],['#69829e','blue2']];renderPalette(); + const t1=W().textContent;if(!(W().style.display!=='none'&&/blue \/ blue2/.test(t1)&&/ΔE/.test(t1))){ok=false;notes.push('near-pair did not fire: '+t1);} + PALETTE=[['#0d0b0a','ground'],['#cdced1','fg'],['#67809c','blue'],['#e8bd30','gold'],['#cb6b4d','terra']];renderPalette(); + if(W().style.display!=='none'){ok=false;notes.push('spread palette warned: '+W().textContent);} + PALETTE=[['#0d0b0a','ground'],['#cdced1','fg']];for(let k=0;k<7;k++){const v=(0x67+k).toString(16).padStart(2,'0');PALETTE.push(['#'+v+'809c','c'+k]);}renderPalette(); + const tc=W().textContent;const nums=[...tc.matchAll(/ΔE (\d+\.\d+)/g)].map(m=>parseFloat(m[1])); + if(!/and \d+ more/.test(tc)){ok=false;notes.push('no cap suffix: '+tc);} + if(!(nums.length===5&&nums.every((n,k)=>k===0||n>=nums[k-1]))){ok=false;notes.push('not 5-capped ascending: '+nums.join(','));} + PALETTE=save;renderPalette(); + document.title='DELTATEST '+(ok?'PASS':'FAIL');const d=document.createElement('div');d.id='deltatest';d.textContent='DELTATEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +if(location.hash==='#readouttest'){const hex='#67809c';document.getElementById('newhexstr').value=hex;openPicker();pkReadout(hex); + const o=document.getElementById('pkoklch').textContent,a=document.getElementById('pkapca').textContent,w=document.getElementById('pkcon').textContent; + const lch=oklab2oklch(srgb2oklab(hex)); + const expO='OKLCH '+lch.L.toFixed(3)+' '+lch.C.toFixed(3)+' '+Math.round(lch.H)+'\u00b0'; + const expA='APCA Lc '+apca(hex,MAP['bg']).toFixed(0); + const r=contrast(hex,MAP['bg']),expW=r.toFixed(1)+' '+rating(r); + const wired=o===expO&&a===expA&&w===expW; + const sane=Math.abs(lch.L-0.591)<0.01&&Math.abs(lch.C-0.052)<0.01&&Math.abs(lch.H-251.6)<2; + const ok=wired&&sane;document.title='READOUTTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='readouttest';d.textContent='READOUTTEST '+(ok?'PASS':'FAIL')+' oklch='+o+' | apca='+a+' | wcag='+w;document.body.appendChild(d);} +// Worst-case readout gate (open with #contrasttest): a covered overlay face shows +// the floor over its foreground set and names the limiting foreground, an +// out-of-scope face keeps the single-pair readout, and an empty set reads "no fg set". +if(location.hash==='#contrasttest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const saveMAP=Object.assign({},MAP),saveUI=JSON.parse(JSON.stringify(UIMAP)); + CATS.forEach(c=>{if(c[0]!=='bg'&&c[0]!=='p')MAP[c[0]]='';}); + MAP['p']='#f0fef0';MAP['kw']='#67809c';MAP['str']='#a3b18a';MAP['bg']='#000000'; + UIMAP['region']={fg:null,bg:'#202830',bold:false,italic:false,underline:false,strike:false}; + buildUITable(); + const cell=document.getElementById('uicr-region'); + A(cell&&/^worst:/.test(cell.textContent),'region shows the worst-case readout: '+(cell&&cell.textContent)); + A(cell&&cell.textContent.includes('#67809c'),'limiting fg is keyword blue: '+(cell&&cell.textContent)); + A(cell&&/\b(PASS|FAIL)\b/.test(cell.textContent),'readout carries a verdict'); + const fl=floor('#202830',fgSetForFace('region').set); + A(fl.limitingHex==='#67809c','floor limiting is blue, got '+fl.limitingHex); + A(Math.abs(fl.ratio-contrast('#67809c','#202830'))<1e-9,'floor ratio matches blue-on-bg'); + const ml=document.getElementById('uicr-mode-line'); + A(worstCellHtml('mode-line')===null,'mode-line is out of scope (single-pair)'); + A(ml&&/^\d/.test(ml.textContent.trim()),'mode-line cell is a numeric ratio: '+(ml&&ml.textContent)); + MAP['p']='';CATS.forEach(c=>{if(c[0]!=='bg')MAP[c[0]]='';});buildUITable(); + const empty=document.getElementById('uicr-region'); + A(empty&&empty.textContent.trim()==='no fg set','empty set reads the no-set message: '+(empty&&empty.textContent)); + // A two-color face (own fg AND own bg) rates its own pair, never the ground bg. + UIMAP['mode-line']={fg:'#112233',bg:'#aabbcc',bold:false,italic:false,underline:false,strike:false}; + buildUITable(); + const two=document.getElementById('uicr-mode-line'),twoWant=contrast('#112233','#aabbcc'); + A(two&&Math.abs(parseFloat(two.textContent)-twoWant)<0.06,'ui two-color face rates own fg-on-bg: got '+(two&&two.textContent.trim())+' want '+twoWant.toFixed(1)); + const tApp=Object.keys(APPS)[0],tFace=APPS[tApp].faces[0][0],savePF=JSON.parse(JSON.stringify(PKGMAP[tApp][tFace])); + Object.assign(PKGMAP[tApp][tFace],{fg:'#112233',bg:'#aabbcc',inherit:null});buildPkgTable(); + const prow=document.querySelector('#pkgbody tr[data-face="'+tFace+'"]'),pcell=prow&&prow.children[5]; + A(pcell&&Math.abs(parseFloat(pcell.textContent)-twoWant)<0.06,'pkg two-color face rates own fg-on-bg: got '+(pcell&&pcell.textContent.trim())+' want '+twoWant.toFixed(1)); + PKGMAP[tApp][tFace]=savePF;buildPkgTable(); + // A ground-bg change must not clobber a face's own preview bg, must leave a + // two-color ratio alone, and must re-rate a ground-dependent face's cell. + UIMAP['fringe']={fg:'#ddeeff',bg:null,bold:false,italic:false,underline:false,strike:false}; + buildUITable(); + MAP['bg']='#440000';applyGround(); + const pv=document.getElementById('uiprev-mode-line'); + A(pv&&pv.style.background==='rgb(170, 187, 204)','ground change keeps a face own preview bg: got '+(pv&&pv.style.background)); + const twoAfter=document.getElementById('uicr-mode-line'); + A(twoAfter&&Math.abs(parseFloat(twoAfter.textContent)-twoWant)<0.06,'ground change leaves a two-color ratio alone: got '+(twoAfter&&twoAfter.textContent.trim())); + const frc=document.getElementById('uicr-fringe'),frWant=contrast('#ddeeff','#440000'); + A(frc&&Math.abs(parseFloat(frc.textContent)-frWant)<0.06,'ground change re-rates a ground-dependent face: got '+(frc&&frc.textContent.trim())+' want '+frWant.toFixed(1)); + // A default-fg (p) change through the real syntax dropdown re-rates a face + // whose fg falls back to it. Drives the DOM so the handler wiring is pinned. + UIMAP['fringe']={fg:null,bg:'#aabbcc',bold:false,italic:false,underline:false,strike:false}; + buildUITable(); + const pLocked=LOCKED.has('p');if(pLocked){LOCKED.delete('p');buildTable();} + const pdd=document.querySelector('#legbody tr[data-kind="p"] .cdd'); + if(pdd){pdd.click(); + const pHex=PALETTE.find(p=>p[0]!==MAP['p'])[0]; + const prow=[...document.querySelectorAll('.cddpop .cddrow')].find(r=>r.querySelector('.cddhx').textContent===pHex); + if(prow)prow.click(); + const pf=document.getElementById('uicr-fringe'),pfWant=contrast(pHex,'#aabbcc'); + A(prow&&pf&&Math.abs(parseFloat(pf.textContent)-pfWant)<0.06,'default-fg change re-rates a p-fallback face: got '+(pf&&pf.textContent.trim())+' want '+pfWant.toFixed(1)); + }else A(false,'syntax table has a p row with a dropdown'); + if(pLocked){LOCKED.add('p');buildTable();} + for(const k in MAP)delete MAP[k];Object.assign(MAP,saveMAP);for(const f in UIMAP)delete UIMAP[f];Object.assign(UIMAP,saveUI);buildUITable();applyGround(); + document.title='CONTRASTTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='contrasttest';d.textContent='CONTRASTTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Bevel gate (open with #beveltest): released/pressed boxes derive their +// highlight and shadow from the face's effective bg per Emacs's relief +// algorithm, and pressed draws the shadow edge first. +if(location.hash==='#beveltest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const saveUI=JSON.parse(JSON.stringify(UIMAP)),saveP=PALETTE.slice(),savePK=JSON.parse(JSON.stringify(PKGMAP)); + UIMAP['mode-line']={fg:'#d8dee9',bg:'#30343c',bold:false,italic:false,underline:false,strike:false,box:{style:'released',width:1,color:null}}; + buildUITable(); + const pv=document.getElementById('uiprev-mode-line'); + const bs=pv&&pv.style.boxShadow; + A(bs&&bs.includes('rgb(113, 118, 127)'),'released highlight derives from the face bg (#71767f): '+bs); + A(bs&&bs.includes('rgb(15, 17, 22)'),'released shadow derives from the face bg (#0f1116): '+bs); + UIMAP['mode-line'].box={style:'pressed',width:1,color:null};paintUI('mode-line'); + const bs2=pv&&pv.style.boxShadow; + A(bs2&&bs2.includes('rgb(15, 17, 22)')&&bs2.includes('rgb(113, 118, 127)')&&bs2.indexOf('rgb(15, 17, 22)')<bs2.indexOf('rgb(113, 118, 127)'),'pressed swaps the pair (shadow edge first): '+bs2); + UIMAP['mode-line'].box={style:'line',width:1,color:'#ff0000'};paintUI('mode-line'); + A(pv&&pv.style.boxShadow.includes('rgb(255, 0, 0)'),'line style keeps its explicit color: '+(pv&&pv.style.boxShadow)); + UIMAP['mode-line'].box={style:'released',width:1,color:'#ff0000'};paintUI('mode-line'); + const bs3=pv&&pv.style.boxShadow; + A(bs3&&bs3.includes('rgb(255, 42, 42)')&&bs3.includes('rgb(143, 0, 0)'),'released style derives relief from explicit box color: '+bs3); + PALETTE=[['#ff0000','red','red'],['#30343c','slate','slate']]; + buildUITable(); + const mlrow=document.querySelector('#uibody tr[data-face="mode-line"]'),boxCell=mlrow&&mlrow.cells[7],boxSel=boxCell&&boxCell.querySelector('select'),boxDd=boxCell&&boxCell.querySelector('.cdd'); + if(boxSel&&boxDd){boxSel.value='line';boxSel.dispatchEvent(new Event('change',{bubbles:true}));boxDd.click();const redRow=[...document.querySelectorAll('.cddpop .cddrow')].find(r=>r.textContent.includes('red'));if(redRow)redRow.click();} + A(UIMAP['mode-line'].box&&UIMAP['mode-line'].box.color==='#ff0000','UI box color dropdown writes box.color'); + const app=curApp(),face=APPS[app].faces[0][0];PKGMAP[app][face].box={style:'line',width:1,color:null};buildPkgTable(); + const prow=document.querySelector('#pkgbody tr[data-face="'+face+'"]'),pbox=prow&&prow.cells[8],pdd=pbox&&pbox.querySelector('.cdd'); + if(pdd){pdd.click();const redRow=[...document.querySelectorAll('.cddpop .cddrow')].find(r=>r.textContent.includes('red'));if(redRow)redRow.click();} + A(PKGMAP[app][face].box&&PKGMAP[app][face].box.color==='#ff0000','package box color dropdown writes box.color'); + PALETTE=saveP;PKGMAP=savePK;for(const f in UIMAP)delete UIMAP[f];Object.assign(UIMAP,saveUI);buildUITable();buildPkgTable(); + document.title='BEVELTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='beveltest';d.textContent='BEVELTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Preview-link gate (open with #previewlinktest): known bespoke-preview face +// mappings stay wired to the face that Emacs actually uses. +if(location.hash==='#previewlinktest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const box=document.createElement('div'); + box.innerHTML=renderOrgPreview(); + const headline=[...box.querySelectorAll('[data-face="org-headline-todo"]')].find(e=>e.textContent.includes('Heading three')); + A(!!headline&&headline.previousElementSibling&&headline.previousElementSibling.dataset.face==='org-todo','org headline-todo follows a TODO keyword span'); + box.innerHTML=renderFlycheckPreview(); + const delim=[...box.querySelectorAll('[data-face="flycheck-error-delimiter"]')].map(e=>e.textContent).join(''); + const enclosed=[...box.querySelectorAll('[data-face="flycheck-delimited-error"]')].map(e=>e.textContent).join(''); + A(delim==='[]','flycheck delimiters use flycheck-error-delimiter'); + A(enclosed==='err','flycheck enclosed text uses flycheck-delimited-error'); + box.innerHTML=renderErcPreview(); + const own=[...box.querySelectorAll('[data-face="erc-input-face"]')].some(e=>e.textContent.includes('hello everyone')); + const bob=[...box.querySelectorAll('[data-face="erc-default-face"]')].some(e=>e.textContent.includes('hi craig')); + A(own,'erc own sent message uses erc-input-face'); + A(bob,'erc remote message uses erc-default-face'); + document.title='PREVIEWLINKTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='previewlinktest';d.textContent='PREVIEWLINKTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Safe-lightness gate (open with #safetest): the OKLCH picker shades the unsafe +// lightness band for a selected covered face and hides it when no face is selected. +if(location.hash==='#safetest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const saveMAP=Object.assign({},MAP); + MAP['p']='#f0fef0';MAP['kw']='#67809c';MAP['bg']='#000000'; + document.getElementById('newhexstr').value='#202830';openPicker();setPkModel('oklch'); + setSafeFace('region'); + const band=document.getElementById('svsafe'); + A(band&&band.style.display==='block','safe band shows for an in-scope face'); + A(band&&parseFloat(band.style.height)>0,'safe band has a positive height: '+(band&&band.style.height)); + setSafeFace(''); + A(band&&band.style.display==='none','safe band hidden when no face is selected'); + for(const k in MAP)delete MAP[k];Object.assign(MAP,saveMAP); + setPkModel('hsv');closePicker(); + document.title='SAFETEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='safetest';d.textContent='SAFETEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Gone-rebind gate (open with #healtest): deleting a named color then recreating +// the name re-points the assignments stranded on the old hex to the new color. +if(location.hash==='#healtest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const saveP=PALETTE.slice(),saveM=Object.assign({},MAP),saveU=JSON.parse(JSON.stringify(UIMAP)),savePK=JSON.parse(JSON.stringify(PKGMAP)),saveG=Object.assign({},lastGone),saveSel=selectedIdx; + PALETTE=[['#0d0b0a','ground'],['#cdced1','fg'],['#67809c','blue']];MAP['kw']='#67809c';lastGone={};selectedIdx=null;renderPalette();buildTable(); + const blue=[...document.querySelectorAll('#pals .pchip')].find(c=>c.querySelector('.nm')&&c.querySelector('.nm').value==='blue'); + A(!!(blue&&blue.querySelector('.rm')),'blue chip has a remove button'); + if(blue&&blue.querySelector('.rm'))blue.querySelector('.rm').click(); + A(!PALETTE.some(p=>p[1]==='blue'),'blue was deleted'); + A(lastGone['blue']==='#67809c','delete recorded the gone name->hex'); + document.getElementById('newhexstr').value='#5a7a9a';document.getElementById('newname').value='blue';selectedIdx=null;addColor(); + A(MAP['kw']==='#5a7a9a','assignment re-bound to the recreated name, got '+MAP['kw']); + A(!('blue' in lastGone),'heal consumed the gone entry'); + PALETTE=saveP;for(const k in MAP)delete MAP[k];Object.assign(MAP,saveM);for(const f in UIMAP)delete UIMAP[f];Object.assign(UIMAP,saveU);PKGMAP=savePK;lastGone=saveG;selectedIdx=saveSel; + renderPalette();buildTable();buildUITable();if(document.getElementById('pkgbody'))buildPkgTable(); + document.title='HEALTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='healtest';d.textContent='HEALTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Column-strip gate (open with #columntest): the palette renders as a pinned +// ground column plus structural columns, chips keep their controls, and renaming +// a color leaves it in the same strip because the column id is stable. +if(location.hash==='#columntest'||location.hash==='#familytest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const saveP=PALETTE.slice(),saveM=Object.assign({},MAP),saveG=Object.assign({},lastGone),saveSel=selectedIdx; + MAP['bg']='#0d0b0a';MAP['p']='#f0fef0'; + PALETTE=[['#0d0b0a','ground'],['#f0fef0','fg'],['#c0402a','red'],['#3a6ea5','blue'],['#808080','gray']];selectedIdx=null;renderPalette(); + const strips=[...document.querySelectorAll('#pals .fstrip')]; + A(strips.length&&strips[0].dataset.column==='ground','ground column is pinned first'); + A(strips[0].querySelectorAll('.pchip').length===2,'ground column carries bg + fg endpoints'); + A(!!strips[0].querySelector('.fhead + .fcount + .pchip'),'span control sits between header and tiles for ground'); + A(strips.length>=4,'ground + red + blue + gray columns, got '+strips.length); + PALETTE=[['#3a6ea5','blue','blue']];MAP['bg']='#0d0b0a';MAP['p']='#f0fef0';selectedIdx=null;renderPalette(); + const fgChip=[...document.querySelectorAll('#pals .fstrip[data-column="ground"] .pchip')].find(c=>c.querySelector('.nm')&&c.querySelector('.nm').value==='fg'); + A(!!fgChip&&!fgChip.querySelector('.nm').disabled,'missing fg endpoint is normalized into a selectable real chip'); + if(fgChip)fgChip.click(); + A(selectedIdx!==null&&PALETTE[selectedIdx]&&PALETTE[selectedIdx][1]==='fg'&&document.getElementById('newhexstr').value.toLowerCase()==='#f0fef0','clicking normalized fg selects it and updates the color editor'); + PALETTE=[['#0d0b0a','ground'],['#f0fef0','fg'],['#c0402a','red'],['#3a6ea5','blue'],['#808080','gray']];selectedIdx=null;renderPalette(); + const resetStrips=[...document.querySelectorAll('#pals .fstrip')]; + const blueHead=resetStrips.find(s=>s.dataset.column==='blue')&&resetStrips.find(s=>s.dataset.column==='blue').querySelector('.ctitle'); + A(!!blueHead,'normal column header has a selectable title'); + if(blueHead)blueHead.click(); + A(selectedIdx!==null&&PALETTE[selectedIdx][1]==='blue'&&document.getElementById('newhexstr').value.toLowerCase()==='#3a6ea5','clicking a column title selects its base color'); + const blueRight=resetStrips.find(s=>s.dataset.column==='blue')&&resetStrips.find(s=>s.dataset.column==='blue').querySelector('.cmove.right'); + if(blueRight)blueRight.click(); + const moved=[...document.querySelectorAll('#pals .fstrip')].map(s=>s.dataset.column); + A(moved.indexOf('blue')>moved.indexOf('gray'),'right arrow moves a color column after its neighbor'); + A(!document.querySelector('#pals .fstrip[data-column="ground"] .cdel'),'ground column has no delete button'); + const redChip=[...document.querySelectorAll('#pals .pchip')].find(c=>c.querySelector('.nm')&&c.querySelector('.nm').value==='red'); + A(!!redChip&&!!redChip.querySelector('.rm')&&!!redChip.querySelector('.nm'),'a column chip keeps remove + rename controls'); + if(redChip){ + const redName=redChip.querySelector('.nm');selectedIdx=null;redName.click(); + A(selectedIdx!==null&&PALETTE[selectedIdx][1]==='red','single-clicking a tile name selects the whole tile'); + const chipHex=chip=>rgb2hex(...getComputedStyle(chip).backgroundColor.match(/\d+/g).slice(0,3).map(Number)); + openPicker();setHex('#00ff00'); + A(chipHex(redChip)==='#00ff00','picker edits preview on the selected palette chip'); + closePicker(); + A(chipHex(redChip)==='#c0402a'&&PALETTE[selectedIdx][0]==='#c0402a','closing picker restores selected chip without mutating palette'); + A(redName.readOnly===true&&!redName.classList.contains('editing'),'single-clicking a tile name does not enter name edit mode'); + redName.dispatchEvent(new MouseEvent('dblclick',{bubbles:true,cancelable:true})); + A(redName.readOnly===false&&redName.classList.contains('editing'),'double-clicking a tile name enters edit mode'); + A(redName.selectionStart===0&&redName.selectionEnd===0,'double-clicking places the cursor at the beginning of the name'); + redName.blur(); + } + const redColumn=redChip&&redChip.closest('.fstrip').dataset.column; + const ri=PALETTE.findIndex(p=>p[1]==='red');PALETTE[ri][1]='zztop-absurd';renderPalette(); + const renamed=[...document.querySelectorAll('#pals .pchip')].find(c=>c.querySelector('.nm')&&c.querySelector('.nm').value==='zztop-absurd'); + A(!!renamed&&renamed.closest('.fstrip').dataset.column===redColumn,'a renamed color stays in the same strip'); + PALETTE=[['#0d0b0a','bg','ground'],['#f0fef0','fg','ground'],['#0d0b0a','bg2'],['#0d0b0a','bg-alt']];MAP['bg']='#0d0b0a';MAP['p']='#f0fef0';selectedIdx=null;renderPalette(); + const bg2Chip=[...document.querySelectorAll('#pals .pchip')].find(c=>c.querySelector('.nm')&&c.querySelector('.nm').value==='bg2'); + A(!!bg2Chip&&bg2Chip.closest('.fstrip').dataset.column==='bg2'&&!!bg2Chip.querySelector('.rm')&&!bg2Chip.querySelector('.lock'),'same-hex bg2 remains a normal removable color column chip'); + if(bg2Chip){bg2Chip.click();document.getElementById('newhexstr').value='#101820';document.getElementById('newname').value='bg2';updateColor();} + A(MAP['bg']==='#0d0b0a','editing same-hex bg2 does not repoint the real bg assignment'); + A(PALETTE.some(p=>p[1]==='bg2'&&p[0]==='#101820'),'editing same-hex bg2 updates only that palette tile'); + PALETTE=[['#0d0b0a','bg','ground'],['#f0fef0','fg','ground'],['#c0402a','red','red'],['#3a6ea5','blue','blue'],['#92acc2','blue+1','blue'],['#808080','gray','gray']]; + MAP['kw']='#92acc2';lastGone={};selectedIdx=PALETTE.findIndex(p=>p[1]==='blue+1');renderPalette(); + const del=document.querySelector('#pals .fstrip[data-column="blue"] .cdel'); + A(!!del,'normal column has a delete button'); + const beforeDelete=PALETTE.map(p=>p.join('|')).join('||'),oldConfirm=window.confirm; + window.confirm=()=>false; + if(del)del.click(); + A(PALETTE.map(p=>p.join('|')).join('||')===beforeDelete,'canceling column delete leaves the palette unchanged'); + window.confirm=()=>true; + if(del)del.click(); + window.confirm=oldConfirm; + A(!PALETTE.some(p=>p[2]==='blue'),'column delete removes every entry with the stable column id'); + A(PALETTE.some(p=>p[1]==='red')&&PALETTE.some(p=>p[1]==='gray'),'column delete leaves neighboring columns alone'); + A(PALETTE.some(p=>groundRoleOfEntry(p,{bg:MAP['bg'],fg:MAP['p']})==='bg')&&PALETTE.some(p=>groundRoleOfEntry(p,{bg:MAP['bg'],fg:MAP['p']})==='fg'),'column delete leaves ground entries alone'); + A(MAP['kw']==='#92acc2','column delete leaves assignments on removed hexes'); + A(lastGone['blue']==='#3a6ea5'&&lastGone['blue+1']==='#92acc2','column delete records every removed name for recovery'); + A(selectedIdx===null,'column delete clears selected color'); + PALETTE=[['#0d0b0a','bg','ground'],['#f0fef0','fg','ground'],['#c0402a','red','red'],['#3a6ea5','blue','blue'],['#92acc2','blue+1','blue']]; + MAP['kw']='#3a6ea5';selectedIdx=2;clearPalette(); + A(PALETTE.length===2&&PALETTE.every(p=>groundRoleOfEntry(p,{bg:MAP['bg'],fg:MAP['p']})),'clear palette leaves only bg and fg tiles'); + A(!PALETTE.some(p=>p[1]==='red'||p[1]==='blue'||p[1]==='blue+1'),'clear palette removes normal color columns and spans'); + A(MAP['kw']==='#3a6ea5','clear palette leaves existing assignments on gone hexes'); + A(lastGone['blue']==='#3a6ea5'&&lastGone['blue+1']==='#92acc2','clear palette records removed names for recovery'); + A(selectedIdx===null,'clear palette clears selected color'); + PALETTE=saveP;for(const k in MAP)delete MAP[k];Object.assign(MAP,saveM);lastGone=saveG;selectedIdx=saveSel;renderPalette(); + document.title='COLUMNTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='columntest';d.textContent='COLUMNTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Count-control gate (open with #counttest): the per-column count regenerates the +// column — count up adds symmetric steps, count down drops the extremes, a +// reference to a surviving step follows the new hex, a reference to a removed step +// is left on its old (now-gone) hex. +if(location.hash==='#counttest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const saveP=PALETTE.slice(),saveM=Object.assign({},MAP),saveU=JSON.parse(JSON.stringify(UIMAP)),saveSel=selectedIdx; + MAP['bg']='#204060';MAP['p']='#f0fef0'; + PALETTE=[['#204060','bg'],['#f0fef0','fg']]; + setGroundSpan(2); + A(MAP['bg']==='#204060'&&MAP['p']==='#f0fef0','spanning ground keeps bg/fg assignments on endpoints'); + A(PALETTE.some(p=>p[1]==='ground+1')&&PALETTE.some(p=>p[1]==='ground+2'),'spanning ground adds interior ground+N entries'); + A(document.querySelector('#pals .fstrip[data-column="ground"] .fhead + .fcount + .pchip'),'ground span control renders before tiles'); + MAP['bg']='#ffffff';MAP['p']='#000000'; + PALETTE=[['#ffffff','bg'],['#bbbbbb','ground+1','ground'],['#777777','ground+2','ground'],['#000000','fg']]; + renderPalette(); + const groundNames=[...document.querySelectorAll('#pals .fstrip[data-column="ground"] .pchip .nm')].map(e=>e.value); + A(groundNames.join('|')==='bg|ground+1|ground+2|fg','ground column order is bg, ground steps, fg even when bg is lighter: '+groundNames.join('|')); + MAP['bg']='#204060';MAP['p']='#f0fef0'; + setGroundSpan(1); + A(!PALETTE.some(p=>p[1]==='ground+2'),'lowering ground span removes dropped interior steps'); + PALETTE=[['#204060','bg'],['#f0fef0','fg'],['#e0e0e0','near-white','near-white']]; + setColumnCount('#e0e0e0',4); + A(!PALETTE.some(p=>p[0].toLowerCase()==='#ffffff'&&p[1]!=='fg'),'spanning a near-white base skips generated pure-white tiles'); + PALETTE=[['#204060','bg'],['#f0fef0','fg'],['#101010','near-black','near-black']]; + setColumnCount('#101010',4); + A(!PALETTE.some(p=>p[0].toLowerCase()==='#000000'&&p[1]!=='bg'),'spanning a near-black base skips generated pure-black tiles'); + PALETTE=[['#204060','bg'],['#f0fef0','fg']]; + regenColumn('#67809c',2).members.forEach(m=>PALETTE.push([m.hex,m.offset===0?'blue':'blue'+(m.offset>0?'+'+m.offset:m.offset)])); + const innerOld=regenColumn('#67809c',2).members.find(m=>m.offset===1).hex; // survives a count change + const outerOld=regenColumn('#67809c',2).members.find(m=>m.offset===2).hex; // dropped on count-down + UIMAP['region']={fg:null,bg:innerOld,bold:false,italic:false,underline:false,strike:false}; + UIMAP['highlight']={fg:null,bg:outerOld,bold:false,italic:false,underline:false,strike:false}; + selectedIdx=null;renderPalette(); + const blueSpanInput=document.querySelector('#pals .fstrip[data-column="blue"] .fcount input'); + A(blueSpanInput&&blueSpanInput.max==='8','normal column span control allows up to 8 per side'); + setColumnCount('#67809c',1); + const palHexes=new Set(PALETTE.map(p=>p[0].toLowerCase())); + A(!palHexes.has(outerOld.toLowerCase()),'outer step removed from palette on count down'); + A(UIMAP['highlight'].bg.toLowerCase()===outerOld.toLowerCase(),'a removed-step reference stays on its old (gone) hex'); + const newInner=regenColumn('#67809c',1).members.find(m=>m.offset===1).hex; + A(UIMAP['region'].bg.toLowerCase()===newInner.toLowerCase(),'a surviving-step reference followed the regenerate, got '+UIMAP['region'].bg); + setColumnCount('#67809c',3); + const want3=regenColumn('#67809c',3).members.map(m=>m.hex.toLowerCase()); + const have=new Set(PALETTE.map(p=>p[0].toLowerCase())); + A(want3.every(h=>have.has(h)),'count up to 3 adds all 7 span colors to the palette'); + PALETTE=saveP;for(const k in MAP)delete MAP[k];Object.assign(MAP,saveM);for(const f in UIMAP)delete UIMAP[f];Object.assign(UIMAP,saveU);selectedIdx=saveSel;renderPalette(); + document.title='COUNTTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='counttest';d.textContent='COUNTTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Base-edit + ground-edit gate (open with #baseedittest): editing a column base +// recolors the whole column at the same count and references follow; editing a +// ground swatch writes the bg/fg assignment. +if(location.hash==='#baseedittest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const saveP=PALETTE.slice(),saveM=Object.assign({},MAP),saveU=JSON.parse(JSON.stringify(UIMAP)),saveSel=selectedIdx; + MAP['bg']='#0d0b0a';MAP['p']='#f0fef0'; + PALETTE=[['#0d0b0a','ground'],['#f0fef0','fg']]; + regenColumn('#67809c',2).members.forEach(m=>PALETTE.push([m.hex,m.offset===0?'blue':'blue'+(m.offset>0?'+'+m.offset:m.offset)])); + UIMAP['region']={fg:null,bg:'#67809c',bold:false,italic:false,underline:false,strike:false}; + renderPalette();buildUITable(); + selectedIdx=PALETTE.findIndex(p=>p[0].toLowerCase()==='#67809c'); + document.getElementById('newhexstr').value='#3a8a8a';document.getElementById('newname').value='teal'; + updateColor(); + const column=columnsFromPalette(PALETTE,{bg:MAP['bg'],fg:MAP['p']}).columns[0]; + A(column&&column.members.some(m=>m.hex.toLowerCase()==='#3a8a8a'),'column base recolored to the new hex'); + A(fam&&fam.members.length===5,'count preserved (±2 → 5 members), got '+(fam&&fam.members.length)); + A(!new Set(PALETTE.map(p=>p[0].toLowerCase())).has('#67809c'),'old base removed from palette'); + A(UIMAP['region'].bg.toLowerCase()==='#3a8a8a','a reference to the base followed to the new base hex'); + // ground edit: select bg, change hex, MAP.bg follows + selectedIdx=PALETTE.findIndex(p=>p[0].toLowerCase()==='#0d0b0a'); + document.getElementById('newhexstr').value='#101010';document.getElementById('newname').value='ground'; + updateColor(); + A(MAP['bg'].toLowerCase()==='#101010','editing the bg swatch wrote the bg assignment, got '+MAP['bg']); + // fg edit: even when a normal column shares the old fg hex, editing fg must not regenerate that column as fg-*. + MAP['bg']='#0d0b0a';MAP['p']='#e0e0e0'; + PALETTE=[['#0d0b0a','bg','ground'],['#e0e0e0','fg','ground'],['#c0c0c0','silver-1','silver'],['#e0e0e0','silver','silver'],['#f4f4f4','silver+1','silver']]; + selectedIdx=PALETTE.findIndex(p=>p[1]==='fg'); + document.getElementById('newhexstr').value='#d8d8d8';document.getElementById('newname').value='fg'; + updateColor(); + A(MAP['p'].toLowerCase()==='#d8d8d8','editing the fg swatch wrote the fg assignment, got '+MAP['p']); + A(PALETTE.some(p=>p[1]==='silver'&&p[2]==='silver'),'editing fg does not rename a same-hex normal column base'); + A(!PALETTE.some(p=>/^fg[+-]\d+$/.test(p[1])),'editing fg does not generate fg span tiles from a same-hex normal column'); + A(PALETTE.find(p=>p[1]==='fg')[2]==='ground','editing fg preserves the ground column id'); + PALETTE=saveP;for(const k in MAP)delete MAP[k];Object.assign(MAP,saveM);for(const f in UIMAP)delete UIMAP[f];Object.assign(UIMAP,saveU);selectedIdx=saveSel;renderPalette(); + document.title='BASEEDITTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='baseedittest';d.textContent='BASEEDITTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +// Round-trip gate (open with #roundtriptest): export stays a flat palette with +// stable column ids, and import does not need color-derived column reconstruction. +if(location.hash==='#roundtriptest'){let ok=true;const notes=[];const A=(c,n)=>{if(!c){ok=false;notes.push(n);}}; + const saveP=PALETTE.slice(),saveM=Object.assign({},MAP),saveL=new Set(LOCKED); + PALETTE=[['#ffffff','bg','ground'],['#000000','fg','ground'],['#224466','blue','blue'],['#446688','renamed-blue','blue']]; + MAP['bg']='#ffffff';MAP['p']='#000000'; + LOCKED=new Set(['kw','ui:region','pkg:'+curApp()+':'+APPS[curApp()].faces[0][0]]); + const before=JSON.stringify(exportObj()); + applyImported(before); + const after=JSON.stringify(exportObj()); + A(before===after,'export → import → export is byte-identical'); + const obj=JSON.parse(after); + A(Array.isArray(obj.palette)&&obj.palette.every(e=>Array.isArray(e)&&e.length>=3&&typeof e[2]==='string'),'exported palette carries flat [hex,name,columnId] entries'); + A(obj.palette.some(e=>e[1]==='renamed-blue'&&e[2]==='blue'),'renamed color keeps its stable column id through export/import'); + A(obj.locks&&obj.locks.includes('kw')&&obj.locks.includes('ui:region'),'lock state survives export/import'); + PALETTE=saveP;for(const k in MAP)delete MAP[k];Object.assign(MAP,saveM);LOCKED=saveL; + document.title='ROUNDTRIPTEST '+(ok?'PASS':'FAIL'); + const d=document.createElement('div');d.id='roundtriptest';d.textContent='ROUNDTRIPTEST '+(ok?'PASS':'FAIL')+(notes.length?' | '+notes.join(' ; '):'');document.body.appendChild(d);} +</script> diff --git a/scripts/theme-studio/theme-studio.template.html b/scripts/theme-studio/theme-studio.template.html new file mode 100644 index 00000000..99bad35e --- /dev/null +++ b/scripts/theme-studio/theme-studio.template.html @@ -0,0 +1,88 @@ +<!doctype html><meta charset=utf-8><title>theme-studio</title> +<style> +STYLES_CSS</style> +<div class="topbar"> + <h1 id="pagetitle">Untitled: theme</h1> + <div class="saveload"> + <div class="filebar end"> + <label style="color:#b4b1a2">theme name</label><input type="text" id="themename" value="" placeholder="untitled" oninput="updateTitle()" style="background:#161412;border:1px solid #252321;color:#cdced1;border-radius:4px;padding:5px 8px;font:10pt monospace;width:200px"> + <button onclick="exportTheme()">⬇ export</button> + <button class="fbtn" onclick="importTheme()">⬆ import</button><input type="file" id="fileinput" accept=".json" onchange="importFile(event)" style="display:none"> + <button id="jsonbtn" onclick="toggleJSON()">show</button> + </div> + <textarea id="export" style="display:none" readonly></textarea> + </div> +</div> + <section class="pane grow"> + <h1>palette</h1> + <div class="palctl"> + <div id="swatch" class="swatch" title="open color picker"></div> + <input type="text" id="newhexstr" placeholder="#rrggbb" value="#67809c" oninput="syncHex()" onkeydown="if(event.key==='Enter')applyEdit()" style="width:110px"> + <input type="text" id="newname" placeholder="name" onkeydown="if(event.key==='Enter')applyEdit()"> + <button onclick="addColor()">+ add color</button> + <button onclick="updateColor()">↻ update selected</button> + <button onclick="clearPalette()" title="remove every palette color except the bg and fg tiles">clear palette</button> + <span id="palmsg"></span> + <div id="picker" class="picker"> + <div class="prow"> + <div id="sv" class="sv"><canvas id="svmask" class="svmask"></canvas><div id="svsafe" class="svsafe" style="display:none"></div><div id="svcur" class="svcur"></div></div> + <div id="hue" class="hue"><div id="huecur" class="huecur"></div></div> + </div> + <div class="pmodel">edit <button data-pm="hsv" class="on">HSV</button><button data-pm="oklch">OKLCH</button></div> + <div class="pmodel" title="in OKLCH mode, shade the lightness too light to keep this overlay face readable over its foreground set">safe for <select id="safefor" onchange="setSafeFace(this.value)"><option value="">none</option></select></div> + <div class="oklchctl" id="oklchctl"> + <div class="ocrow"><label title="perceptual lightness">L</label><input type="range" id="okL" min="0" max="1" step="0.001"><input type="number" id="okLn" min="0" max="1" step="0.001"></div> + <div class="ocrow"><label title="chroma (colorfulness)">C</label><input type="range" id="okC" min="0" max="0.4" step="0.001"><input type="number" id="okCn" min="0" max="0.4" step="0.001"></div> + <div class="ocrow"><label title="hue angle, degrees">H</label><input type="range" id="okH" min="0" max="360" step="1"><input type="number" id="okHn" min="0" max="360" step="1"></div> + <div class="pclamp" id="pkclamp"></div> + </div> + <div class="pinfo"><span id="pkhex">#67809c</span><span id="pkcon"></span></div> + <div class="pinfo2"><span id="pkoklch" title="OKLCH perceptual coordinates: lightness L (0..1), chroma C, hue H in degrees"></span><span id="pkapca"></span></div> + <div class="pmode">limit <button data-m="any" class="on">any</button><button data-m="aa">AA+</button><button data-m="aaa">AAA</button></div> + <div id="pkchips" class="pkchips"></div> + </div> + </div> + <div class="pals" id="pals"></div> + <div class="palwarn" id="palwarn"></div> + </section> +<h1>code/color assignments</h1> +<div class="cols"> + <section class="pane"> + <div class="legctl"><button id="syntaxlocktoggle" class="fbtn" onclick="toggleAllLocks('syntax')" title="lock or unlock every syntax row">lock all</button><button class="fbtn" onclick="resetUnlocked()" title="reset to captured defaults, preserving locked rows">↻ reset</button><button class="fbtn" onclick="clearUnlocked()" title="erase, preserving locked rows">erase</button></div> + <table class="leg" id="legtable"><thead><tr><th onclick="srtTable('legbody',0)">elements △</th><th title="lock a decided element↔color association"></th><th onclick="srtTable('legbody',2)">color △</th><th>style</th><th title="WCAG contrast of this color on the background">contrast</th><th>example</th></tr></thead><tbody id="legbody"></tbody></table> + </section> + <section class="pane grow"> + <div class="langbar"><label style="color:#b4b1a2">language</label><select id="langsel" class="chip" style="width:auto;font:bold 10pt monospace" onchange="renderCode()"></select></div> + <pre id="codepre"></pre> + </section> +</div> +<h1>ui faces</h1> +<div class="cols stretch"> + <section class="pane"> + <div class="legctl"><button id="uilocktoggle" class="fbtn" onclick="toggleAllLocks('ui')" title="lock or unlock every UI face row">lock all</button><button class="fbtn" onclick="resetUnlockedUI()" title="reset to captured defaults, preserving locked rows">↻ reset</button><button class="fbtn" onclick="clearUnlockedUI()" title="erase, preserving locked rows">erase</button></div> + <table class="leg" id="uitable"><thead><tr><th onclick="srtTable('uibody',0)">face △</th><th title="lock a decided face"></th><th onclick="srtTable('uibody',2)">foreground △</th><th onclick="srtTable('uibody',3)">background △</th><th>style</th><th onclick="srtTable('uibody',5)" title="WCAG contrast: this face's foreground on its background (or the ground)">contrast △</th><th>preview</th><th title="face :box (border)">box</th></tr></thead><tbody id="uibody"></tbody></table> + </section> + <section class="pane grow" style="display:flex;flex-direction:column"> + <div class="langbar"><label style="color:#b4b1a2">live buffer preview</label></div> + <div id="mockframe" class="mock"></div> + </section> +</div> +<h1>package faces</h1> +<div class="pkgbar"> + <label style="color:#b4b1a2">application</label><select id="appsel" class="chip" style="width:auto;font:bold 10pt monospace"></select> + <label style="color:#b4b1a2">filter</label><input id="pkgfilter" type="text" placeholder="face name" oninput="buildPkgTable()" style="background:#161412;border:1px solid #252321;color:#cdced1;border-radius:4px;padding:5px 8px;font:10pt monospace;width:160px"> + <button onclick="resetApp()" title="reset to captured defaults, preserving locked rows">↻ reset</button> + <button id="pkglocktoggle" class="fbtn" onclick="toggleAllLocks('pkg')" title="lock or unlock every face row in the current package">lock all</button> + <button class="fbtn" onclick="clearUnlockedPkg()" title="erase, preserving locked rows">erase</button> +</div> +<div class="cols stretch"> + <section class="pane"> + <table class="leg" id="pkgtable"><thead><tr><th onclick="srtTable('pkgbody',0)">face △</th><th title="lock a decided face"></th><th onclick="srtTable('pkgbody',2)">fg △</th><th onclick="srtTable('pkgbody',3)">bg △</th><th>style</th><th onclick="srtTable('pkgbody',5)">contrast △</th><th onclick="srtTable('pkgbody',6)">inherit △</th><th onclick="srtTable('pkgbody',7)">size △</th><th title="face :box (border)">box</th><th></th></tr></thead><tbody id="pkgbody"></tbody></table> + </section> + <section class="pane grow" style="display:flex;flex-direction:column"> + <div class="langbar"><label id="pkgprevlabel" style="color:#b4b1a2">preview</label></div> + <div id="pkgpreview" class="mock" style="overflow:auto"></div> + </section> +</div> +<script> +APP_JS</script> diff --git a/scripts/theme-studio/theme.json b/scripts/theme-studio/theme.json new file mode 100644 index 00000000..e4412951 --- /dev/null +++ b/scripts/theme-studio/theme.json @@ -0,0 +1,10576 @@ +{ + "name": "theme", + "palette": [ + [ + "#f0fef0", + "fg" + ], + [ + "#000000", + "bg" + ], + [ + "#151311", + "bg+0" + ], + [ + "#252321", + "bg+1" + ], + [ + "#474544", + "bg+2" + ], + [ + "#58574e", + "gray-2" + ], + [ + "#6c6a60", + "gray-1" + ], + [ + "#969385", + "gray" + ], + [ + "#b4b1a2", + "gray+1" + ], + [ + "#d0cbc0", + "gray+2" + ], + [ + "#8a9496", + "steel" + ], + [ + "#acb0b3", + "steel+1" + ], + [ + "#c0c7ca", + "steel+2" + ], + [ + "#67809c", + "blue" + ], + [ + "#b2c3cc", + "blue+1" + ], + [ + "#d9e2ff", + "blue+2" + ], + [ + "#646d14", + "green-2" + ], + [ + "#869038", + "green-1" + ], + [ + "#a4ac64", + "green" + ], + [ + "#ccc768", + "green+1" + ], + [ + "#3f1c0f", + "red-3" + ], + [ + "#7c2a09", + "red-2" + ], + [ + "#a7502d", + "red-1" + ], + [ + "#d47c59", + "red" + ], + [ + "#edb08f", + "red+1" + ], + [ + "#edbca2", + "red+2" + ], + [ + "#875f00", + "yellow-2" + ], + [ + "#8e784c", + "yellow-1" + ], + [ + "#d7af5f", + "yellow" + ], + [ + "#ffd75f", + "yellow+1" + ], + [ + "#f9ee98", + "yellow+2" + ], + [ + "#ff2a00", + "intense-red" + ] + ], + "assignments": { + "bg": "#000000", + "p": "#f0fef0", + "kw": "#67809c", + "bi": "#d7af5f", + "pp": "#acb0b3", + "fnd": "#d47c59", + "fnc": "", + "dec": "", + "ty": "#a4ac64", + "prop": "", + "con": "#d7af5f", + "num": "#d7af5f", + "str": "#a4ac64", + "esc": "", + "re": "", + "doc": "#969385", + "cm": "#969385", + "cmd": "#969385", + "var": "#b2c3cc", + "op": "", + "punc": "" + }, + "bold": [ + "kw", + "bi", + "pp", + "fnd", + "ty", + "con" + ], + "italic": [ + "pp", + "cm", + "var", + "cmd" + ], + "ui": { + "cursor": { + "fg": null, + "bg": "#f0fef0" + }, + "region": { + "fg": null, + "bg": "#474544" + }, + "hl-line": { + "fg": null, + "bg": "#151311" + }, + "highlight": { + "fg": null, + "bg": "#646d14" + }, + "mode-line": { + "fg": "#000000", + "bg": "#67809c", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "mode-line-inactive": { + "fg": "#67809c", + "bg": "#000000", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "fringe": { + "fg": "#58574e", + "bg": "#151311" + }, + "line-number": { + "fg": "#58574e", + "bg": null + }, + "line-number-current-line": { + "fg": "#d7af5f", + "bg": null + }, + "minibuffer-prompt": { + "fg": "#d7af5f", + "bg": null + }, + "isearch": { + "fg": null, + "bg": null + }, + "lazy-highlight": { + "fg": null, + "bg": "#8e784c", + "underline": true + }, + "isearch-fail": { + "fg": "#f0fef0", + "bg": "#a7502d" + }, + "show-paren-match": { + "fg": "#000000", + "bg": "#a4ac64", + "underline": true + }, + "show-paren-mismatch": { + "fg": "#f0fef0", + "bg": "#a7502d" + }, + "link": { + "fg": "#b2c3cc", + "bg": null, + "underline": true + }, + "error": { + "fg": "#d47c59", + "bg": null, + "bold": true + }, + "warning": { + "fg": "#ffd75f", + "bg": null, + "bold": true + }, + "success": { + "fg": "#a4ac64", + "bg": null, + "bold": true + }, + "vertical-border": { + "fg": "#58574e", + "bg": null + } + }, + "locks": [ + "kw", + "bg", + "p", + "bi", + "pp", + "fnd", + "ty", + "con", + "str", + "var", + "cm", + "doc", + "cmd", + "num", + "ui:mode-line", + "ui:mode-line-inactive", + "ui:link", + "ui:hl-line", + "ui:warning", + "ui:success", + "ui:error", + "ui:line-number-current-line", + "ui:minibuffer-prompt", + "ui:show-paren-mismatch", + "ui:show-paren-match", + "ui:vertical-border", + "ui:line-number", + "ui:fringe", + "ui:region" + ], + "packages": { + "org-mode": { + "org-document-title": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.5 + }, + "org-document-info": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-document-info-keyword": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-level-1": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.3 + }, + "org-level-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.2 + }, + "org-level-3": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.15 + }, + "org-level-4": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.1 + }, + "org-level-5": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-level-6": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-level-7": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-level-8": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-headline-todo": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-headline-done": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-todo": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-done": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-priority": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-tag": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-tag-group": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-special-keyword": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "user" + }, + "org-drawer": { + "fg": "#969385", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "user" + }, + "org-property-value": { + "fg": "#969385", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "user" + }, + "org-checkbox": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-checkbox-statistics-todo": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-checkbox-statistics-done": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-warning": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-link": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-footnote": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-date": { + "fg": "#acb0b3", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "user" + }, + "org-sexp-date": { + "fg": "#acb0b3", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "user" + }, + "org-date-selected": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-target": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-macro": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-cite": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-cite-key": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-block": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-block-begin-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-block-end-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-code": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-verbatim": { + "fg": "#acb0b3", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "user" + }, + "org-inline-src-block": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-quote": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-verse": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-latex-and-related": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-table": { + "fg": "#acb0b3", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "user" + }, + "org-table-header": { + "fg": null, + "bg": "#58574e", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-table-row": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-formula": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-column": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-column-title": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-list-dt": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-meta-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": "fixed-pitch", + "source": "default" + }, + "org-ellipsis": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-hide": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-indent": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-archived": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-default": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-dispatcher-highlight": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-structure": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.1 + }, + "org-agenda-structure-secondary": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-structure-filter": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-date": { + "fg": "#acb0b3", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "user", + "height": 1.05 + }, + "org-agenda-date-today": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.05 + }, + "org-agenda-date-weekend": { + "fg": "#acb0b3", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "user" + }, + "org-agenda-date-weekend-today": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-current-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-done": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-dimmed-todo-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-calendar-event": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-calendar-sexp": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-calendar-daterange": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-diary": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-clocking": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-column-dateline": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-restriction-lock": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-filter-category": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-filter-effort": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-filter-regexp": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-agenda-filter-tags": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-scheduled": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-scheduled-today": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-scheduled-previously": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-upcoming-deadline": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-upcoming-distant-deadline": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-imminent-deadline": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-time-grid": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-clock-overlay": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-mode-line-clock": { + "fg": "#acb0b3", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "user" + }, + "org-mode-line-clock-overrun": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "magit": { + "magit-section-heading": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-secondary-heading": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-child-count": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-added": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-added-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-removed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-removed-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-context": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-context-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-file-heading": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-file-heading-highlight": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-file-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-hunk-heading": { + "fg": "#acb0b3", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "user" + }, + "magit-diff-hunk-heading-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-hunk-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-hunk-region": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-lines-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-lines-boundary": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-base": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-base-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-our": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-our-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-their": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-their-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-conflict-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-conflict-heading-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-revision-summary": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-revision-summary-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diff-whitespace-warning": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diffstat-added": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-diffstat-removed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-current": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "line", + "width": 1, + "color": null + } + }, + "magit-branch-local": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-remote": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-remote-head": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "line", + "width": 1, + "color": null + } + }, + "magit-branch-upstream": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-branch-warning": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-head": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-tag": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-hash": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-filename": { + "fg": "#acb0b3", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "user" + }, + "magit-dimmed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-keyword": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-keyword-squash": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-refname": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-refname-stash": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-refname-wip": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-refname-pullreq": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-log-author": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-log-date": { + "fg": "#acb0b3", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "user" + }, + "magit-log-graph": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-header-line": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-header-line-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-header-line-log-select": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-process-ok": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-process-ng": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-mode-line-process": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-mode-line-process-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-bisect-good": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-bisect-bad": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-bisect-skip": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-heading": { + "fg": "#acb0b3", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "user" + }, + "magit-blame-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-hash": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-name": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-date": { + "fg": "#acb0b3", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "user" + }, + "magit-blame-summary": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-dimmed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-blame-margin": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-cherry-equivalent": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-cherry-unmatched": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-good": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-bad": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-untrusted": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-expired": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-expired-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-revoked": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-signature-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-commit": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-amend": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-merge": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-checkout": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-reset": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-rebase": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-cherry-pick": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-reflog-remote": { + "fg": "#acb0b3", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "user" + }, + "magit-reflog-other": { + "fg": "#acb0b3", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "user" + }, + "magit-sequence-pick": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-stop": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-part": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-head": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-drop": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-done": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-onto": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-sequence-exec": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-left-margin": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "elfeed": { + "elfeed-search-date-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-title-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-unread-title-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-feed-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-tag-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-unread-count-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-filter-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-search-last-update-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-date-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-error-level-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-warn-level-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-info-level-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "elfeed-log-debug-level-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "mu4e": { + "mu4e-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-context-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-modeline-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-ok-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-warning-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-key-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-face": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-header-marks-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-unread-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-flagged-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-replied-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-forwarded-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-draft-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-trashed-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "mu4e-related-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-contact-face": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-special-header-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-url-number-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-link-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-footer-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-region-code": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-system-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-highlight-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "mu4e-compose-separator-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "ghostel": { + "ghostel-default": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-fake-cursor": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-fake-cursor-box": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-black": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-red": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-green": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-yellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-blue": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-magenta": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-cyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-white": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-black": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-red": { + "fg": "#de4949", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-green": { + "fg": "#84b068", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-yellow": { + "fg": "#eed376", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-blue": { + "fg": "#7a9abe", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-magenta": { + "fg": "#b07fd0", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-cyan": { + "fg": "#7fc0a8", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "ghostel-color-bright-white": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "dashboard": { + "dashboard-banner-logo-title": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-text-banner": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-heading": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-items-face": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-navigator": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-no-items-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-footer-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dashboard-footer-icon-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "lsp-mode": { + "lsp-signature-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-signature-highlight-function-argument": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-signature-posframe": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-face-highlight-read": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-face-highlight-write": { + "fg": null, + "bg": "#3d2f4a", + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-face-highlight-textual": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-face-rename": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-rename-placeholder-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-inlay-hint-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-inlay-hint-parameter-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-inlay-hint-type-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-details-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 0.8 + }, + "lsp-installation-buffer-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "lsp-installation-finished-buffer-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "git-gutter": { + "git-gutter:added": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "git-gutter:modified": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "git-gutter:deleted": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "git-gutter:unchanged": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "git-gutter:separator": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "flycheck": { + "flycheck-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-warning": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-info": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-fringe-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-fringe-warning": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-fringe-info": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-delimited-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-delimiter": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-warning": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-info": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-error-message": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-checker-name": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-column-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-line-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-filename": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-id": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-error-list-id-with-explainer": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "flycheck-error-list-highlight": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "flycheck-verify-select-checker": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + } + }, + "dired": { + "dired-header": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-directory": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-symlink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-broken-symlink": { + "fg": "#de4949", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-special": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-set-id": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-perm-write": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-mark": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-marked": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-flagged": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-ignored": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dired-warning": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "dirvish": { + "dirvish-inactive": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-free-space": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-hl-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-hl-line-inactive": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-modes": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-link-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-user-id": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-group-id": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-size": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-inode-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-file-device-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-subtree-guide": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-subtree-state": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-collapse-dir-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-collapse-empty-dir-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-collapse-file-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-emerge-group-title": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-media-info-heading": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-media-info-property-key": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-match-face-0": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-match-face-1": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-match-face-2": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-match-face-3": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-narrow-split": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-proc-running": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-proc-finished": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-proc-failed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-git-commit-message-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-added-state": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-edited-state": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-removed-state": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-conflict-state": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-locked-state": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-missing-state": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-needs-merge-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-needs-update-state": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "dirvish-vc-unregistered-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "calibredb": { + "calibredb-search-header-library-name-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-library-path-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-total-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-filter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-sort-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-search-header-highlight-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-id-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-author-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-format-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-size-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-tag-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-date-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-mark-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-series-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-publisher-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-pubdate-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-language-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-archive-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-favorite-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-file-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-ids-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-highlight-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-current-page-button-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.1 + }, + "calibredb-mouse-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-title-detailed-view-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "calibredb-edit-annotation-header-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "erc": { + "erc-header-line": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-timestamp-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-notice-face": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-default-face": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-current-nick-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-my-nick-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-my-nick-prefix-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-nick-default-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-nick-prefix-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-button-nick-default-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-nick-msg-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-direct-msg-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-action-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-keyword-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-pal-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-fool-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-dangerous-host-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-error-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-input-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-prompt-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-command-indicator-face": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-information": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-button": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-bold-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-italic-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-underline-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-inverse-face": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-spoiler-face": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-fill-wrap-merge-indicator-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-keep-place-indicator-arrow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "erc-keep-place-indicator-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "org-drill": { + "org-drill-hidden-cloze-face": { + "fg": "#000000", + "bg": "#8a9496", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-drill-visible-cloze-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-drill-visible-cloze-hint-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "org-noter": { + "org-noter-notes-exist-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-noter-no-notes-exist-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "signel": { + "signel-timestamp-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "signel-my-msg-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "signel-other-msg-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "signel-error-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "pearl": { + "pearl-preamble-summary": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-editable-comment": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-readonly-comment": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-modified-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-modified-local": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "pearl-modified-unknown": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "slack": { + "slack-room-info-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-room-info-title-room-name-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-room-info-section-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-room-info-section-label-face": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-room-unread-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-output-header": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-output-text": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-output-reaction": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "slack-message-output-reaction-pressed": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "slack-message-deleted-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-new-message-marker-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-all-thread-buffer-thread-header-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-mention-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-mention-me-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-mention-keyword-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-channel-button-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-bold-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-italic-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-code-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-code-block-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-strike-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-blockquote-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-mrkdwn-list-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-attachment-header": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-attachment-footer": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-attachment-pad": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-attachment-field-title": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-attachment-preview-header-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-preview-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-block-highlight-source-overlay-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-message-action-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "slack-message-action-primary-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "slack-message-action-danger-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "slack-button-block-element-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "slack-button-primary-block-element-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "slack-button-danger-block-element-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "slack-select-block-element-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "slack-overflow-block-element-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "slack-date-picker-block-element-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "slack-dialog-title-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-element-label-face": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-element-hint-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-element-placeholder-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-element-error-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-dialog-submit-button-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "slack-dialog-cancel-button-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "slack-dialog-select-element-input-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "slack-user-active-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-user-dnd-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-user-profile-header-face": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-user-profile-property-name-face": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-profile-image-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-search-result-message-header-face": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-search-result-message-username-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-modeline-has-unreads-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-modeline-channel-has-unreads-face": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "slack-modeline-thread-has-unreads-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "telega": { + "telega-root-heading": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-tracking": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-unread-unmuted-modeline": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-username": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-user-online-status": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-user-non-online-status": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-secret-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-contact-birthdays-today": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-muted-count": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-unmuted-count": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-mention-count": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-has-chatbuf-brackets": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-delim-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-shadow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-link": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-blue": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-red": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-heading": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-user-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-self-title": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-deleted": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-sponsored": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-inline-reply": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-inline-forward": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-msg-inline-other": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-bold": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-italic": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-underline": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-strikethrough": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "telega-entity-type-code": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-pre": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-blockquote": { + "fg": null, + "bg": null, + "bold": false, + "italic": true, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-mention": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-hashtag": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-cashtag": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-botcommand": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-texturl": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-entity-type-spoiler": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-reaction": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-reaction-chosen": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-reaction-paid": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-reaction-paid-chosen": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-highlight-text-face": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-button-highlight": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-chat-prompt": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-chat-prompt-aux": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-chat-input-attachment": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-topic-button": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-filter-active": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-filter-button-active": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-filter-button-inactive": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-checklist-stats-done": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-checklist-stats-todo": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "telega-box-button-active": { + "fg": "#000000", + "bg": "#67809c", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "telega-box-button-default-active": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "telega-box-button-default-passive": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "telega-box-button-primary-active": { + "fg": "#000000", + "bg": "#67809c", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "telega-box-button-primary-passive": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "telega-box-button-success-active": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "telega-box-button-success-passive": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "telega-box-button-danger-active": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "telega-box-button-danger-passive": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "telega-box-button-ui-active": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "telega-box-button-ui-passive": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "box": { + "style": "released", + "width": 1, + "color": null + } + }, + "telega-box-button2-active": { + "fg": "#000000", + "bg": "#67809c", + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button2-passive": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-box-button2-white-foreground": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-describe-item-title": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-describe-section-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-describe-subsection-title": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-enckey-00": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-enckey-01": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-enckey-10": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-enckey-11": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-palette-builtin-blue": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-palette-builtin-green": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-palette-builtin-orange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-palette-builtin-purple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-subtitle": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-header": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-subheader": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-outline": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-fixed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-preformatted": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-marked": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-webpage-strike-through": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "telega-webpage-chat-link": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-link-preview-sitename": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "telega-link-preview-title": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "shr": { + "shr-h1": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.4 + }, + "shr-h2": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 1.2 + }, + "shr-h3": { + "fg": "#67809c", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-h4": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-h5": { + "fg": "#8a9496", + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-h6": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-text": { + "fg": "#cdced1", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-link": { + "fg": "#67809c", + "bg": null, + "bold": false, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-selected-link": { + "fg": null, + "bg": null, + "bold": true, + "italic": false, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-code": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-mark": { + "fg": "#000000", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-strike-through": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": true, + "inherit": null, + "source": "default" + }, + "shr-sup": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default", + "height": 0.8 + }, + "shr-abbreviation": { + "fg": "#8a9496", + "bg": null, + "bold": false, + "italic": true, + "underline": true, + "strike": false, + "inherit": null, + "source": "default" + }, + "shr-sliced-image": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "2048-game": { + "twentyfortyeight-face-1024": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-128": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-16": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-2048": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-256": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-32": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-4": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-512": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-64": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "twentyfortyeight-face-8": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "alert": { + "alert-high-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-low-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-moderate-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-normal-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-trivial-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "alert-urgent-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "all-the-icons": { + "all-the-icons-blue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-blue-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-cyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-cyan-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dblue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dcyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dgreen": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dmaroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dorange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dpink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dpurple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dred": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dsilver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-dyellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-green": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lblue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lcyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lgreen": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lmaroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lorange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lpink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lpurple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lred": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lsilver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-lyellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-maroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-orange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-pink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-purple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-purple-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-red": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-red-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-silver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "all-the-icons-yellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "company": { + "company-echo": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-echo-common": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-preview": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-preview-common": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-preview-search": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-annotation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-annotation-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-common": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-common-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-deprecated": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-mouse": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-quick-access": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-quick-access-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-scrollbar-thumb": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-scrollbar-track": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-search": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-search-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-tooltip-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "company-box": { + "company-box-annotation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-background": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-candidate": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-numbers": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-scrollbar": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "company-box-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "consult": { + "consult-async-failed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-async-finished": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-async-running": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-async-split": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-bookmark": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-buffer": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-file": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-grep-context": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-help": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-highlight-mark": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-highlight-match": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-line-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-line-number-prefix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-line-number-wrapped": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-narrow-indicator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-preview-insertion": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-preview-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-preview-match": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "consult-separator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "embark": { + "embark-collect-annotation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-collect-candidate": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-collect-group-separator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-collect-group-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-keybinding": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-keybinding-repeat": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-keymap": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-selected": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-target": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-verbose-indicator-documentation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-verbose-indicator-shadowed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "embark-verbose-indicator-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "emms": { + "emms-browser-album-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-albumartist-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-artist-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-composer-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-performer-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-track-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-browser-year/genre-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-metaplaylist-mode-current-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-metaplaylist-mode-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-playlist-selected-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "emms-playlist-track-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "flyspell-correct": { + "flyspell-correct-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "highlight-indent-guides": { + "highlight-indent-guides-character-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-even-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-odd-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-stack-character-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-stack-even-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-stack-odd-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-top-character-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-top-even-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "highlight-indent-guides-top-odd-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "hl-todo": { + "hl-todo": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "hl-todo-flymake-type": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "json-mode": { + "json-mode-object-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "llama": { + "llama-##-macro": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "llama-deleted-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "llama-llama-macro": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "llama-mandatory-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "llama-optional-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "lv": { + "lv-separator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "magit-section": { + "magit-left-margin": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-child-count": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "magit-section-secondary-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "malyon": { + "malyon-face-bold": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "malyon-face-error": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "malyon-face-italic": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "malyon-face-plain": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "malyon-face-reverse": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "marginalia": { + "marginalia-archive": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-char": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-date": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-documentation": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-name": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-owner": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-dir": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-exec": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-link": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-no": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-other": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-rare": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-read": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-file-priv-write": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-function": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-installed": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-lighter": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-list": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-mode": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-modified": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-null": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-number": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-off": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-on": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-size": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-string": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-symbol": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-true": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-type": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-value": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "marginalia-version": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "markdown-mode": { + "markdown-blockquote-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-bold-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-code-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-footnote-marker-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-footnote-text-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-gfm-checkbox-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-delimiter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-1": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-3": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-4": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-5": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-face-6": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-header-rule-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-highlighting-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-hr-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-attr-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-attr-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-entity-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-tag-delimiter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-html-tag-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-inline-code-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-italic-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-language-info-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-language-keyword-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-line-break-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-link-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-link-title-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-list-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-markup-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-math-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-metadata-key-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-metadata-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-missing-link-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-plain-url-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-pre-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-reference-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-strike-through-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-table-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "markdown-url-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "nerd-icons": { + "nerd-icons-blue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-blue-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-cyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-cyan-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dblue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dcyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dgreen": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dmaroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dorange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dpink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dpurple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dred": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dsilver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-dyellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-green": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lblue": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lcyan": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lgreen": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lmaroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lorange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lpink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lpurple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lred": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lsilver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-lyellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-maroon": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-orange": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-pink": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-purple": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-purple-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-red": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-red-alt": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-silver": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "nerd-icons-yellow": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "nerd-icons-completion": { + "nerd-icons-completion-dir-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "orderless": { + "orderless-match-face-0": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "orderless-match-face-1": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "orderless-match-face-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "orderless-match-face-3": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "org-roam": { + "org-roam-dailies-calendar-note": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-dim": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-header-line": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-olp": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-preview-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-preview-heading-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-preview-heading-selection": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-preview-region": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-roam-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "org-superstar": { + "org-superstar-first": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-superstar-header-bullet": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-superstar-item": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "org-superstar-leading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "prescient": { + "prescient-primary-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "prescient-secondary-highlight": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "rainbow-delimiters": { + "rainbow-delimiters-base-error-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-base-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-1-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-2-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-3-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-4-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-5-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-6-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-7-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-8-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-depth-9-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-mismatched-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "rainbow-delimiters-unmatched-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "symbol-overlay": { + "symbol-overlay-default-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-1": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-2": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-3": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-4": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-5": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-6": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-7": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "symbol-overlay-face-8": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "tmr": { + "tmr-description": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-duration": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-end-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-finished": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-is-acknowledged": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-must-be-acknowledged": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-start-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-acknowledgement": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-description": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-end-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-remaining-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "tmr-tabulated-start-time": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "transient": { + "transient-active-infix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-delimiter": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-disabled-suffix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-enabled-suffix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-heading": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-higher-level": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-inactive-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-inactive-value": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-inapt-argument": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-inapt-suffix": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-exit": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-noop": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-recurse": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-return": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-stack": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-key-stay": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-mismatched-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-nonstandard-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-unreachable": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-unreachable-key": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "transient-value": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "vertico": { + "vertico-current": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "vertico-group-separator": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "vertico-group-title": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "vertico-multiline": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "web-mode": { + "web-mode-annotation-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-annotation-html-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-annotation-tag-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-annotation-type-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-annotation-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-attr-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-attr-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-control-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-delimiter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-block-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-bold-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-builtin-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-comment-keyword-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-constant-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-at-rule-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-color-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-function-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-priority-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-property-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-pseudo-class-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-selector-class-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-selector-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-selector-tag-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-css-variable-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-current-column-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-current-element-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-doctype-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-error-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-filter-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-folded-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-function-call-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-function-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-custom-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-engine-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-equal-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-attr-value-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-entity-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-bracket-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-custom-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-namespaced-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-html-tag-unclosed-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-inlay-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-interpolate-color1-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-interpolate-color2-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-interpolate-color3-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-interpolate-color4-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-italic-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-javascript-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-javascript-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-json-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-json-context-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-json-key-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-json-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-1-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-2-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-3-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-4-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-jsx-depth-5-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-keyword-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-param-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-part-comment-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-part-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-part-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-preprocessor-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-script-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-sql-keyword-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-string-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-style-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-symbol-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-type-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-underline-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-variable-name-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-warning-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "web-mode-whitespace-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + }, + "yasnippet": { + "yas--field-debug-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + }, + "yas-field-highlight-face": { + "fg": null, + "bg": null, + "bold": false, + "italic": false, + "underline": false, + "strike": false, + "inherit": null, + "source": "default" + } + } + } +}
\ No newline at end of file |
