diff --git a/.codespellrc b/.codespellrc index 7c4b7e5..f68f48b 100644 --- a/.codespellrc +++ b/.codespellrc @@ -1,3 +1,24 @@ [codespell] +# The pre-commit hook passes these on the command line. Naming them here is what +# makes a bare `codespell` at the repo root agree with what the gate enforces — +# without it, a developer checking their own work gets a pass on the very files +# the hook rejects. +builtin = clear,rare,en-GB_to_en-US + # noice = the folke/noice.nvim plugin (highlight-group name), not a typo ignore-words-list = noice + +# `align=centre` is tmux's spelling and the only one its style parser accepts: +# `align=center` is refused as "invalid style", the same error a nonsense value +# gets. Every align= site in this repo is inside a *format* rather than a style, +# and a format validates nothing — `#[align=center]` and `#[align=bogusvalue]` +# both set at exit 0 and simply draw left. The wrong spelling fails silently, so +# the literal is exempted here rather than the word. The word in prose is still +# a finding. +# +# The second alternation is a bash associative-array subscript. The only one +# holding British words is `SETTLED` in scripts/check-spelling.sh, where each +# subscript is a regex naming the spelling it settles — a citation rather than a +# use, and unwritable any other way. Scoping to the subscript keeps that script's +# own prose gated, which skipping the file would not. +ignore-regex = align=centre|\["[^"]*"\] diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d75a775..9957121 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,4 +1,4 @@ -# forge-toolchain: 20 +# forge-toolchain: 21 fail_fast: true default_stages: [pre-commit] repos: @@ -106,6 +106,22 @@ repos: # two-letter sequence codespell corrects. Nobody writes prose in them and # nobody would fix a hit, since the next install would put it back. - id: codespell + # `clear,rare` is codespell's own default and is restated because naming + # any dictionary replaces the list rather than adding to it. The third + # makes American spelling a gate instead of a habit — the -ise, -our and + # -re families become findings at the moment they are typed. + # + # No example is spelled out here, for the reason the go.mod note below + # gives: an example would trip this hook on this very file, in every repo + # this block is generated into. + # + # `-H` because codespell skips any file whose *basename* starts with a + # dot and exits 0 rather than saying it read nothing. Without it this + # very file sits outside the check it installs, along with every other + # dot-named tracked file. A dot-named *directory* was always read, so + # `.github/**` never needed it. pre-commit passes tracked paths, so the + # flag widens what is read rather than reaching untracked files. + args: ['-H', '--builtin', 'clear,rare,en-GB_to_en-US'] # The second alternation is sops output. Ciphertext is base64, so it # produces the same false hits a lock file's hashes do. The plain # `secrets.yaml` name is covered alongside the *.enc.env convention. @@ -116,7 +132,14 @@ repos: # module name codespell wants spelled differently, and no edit fixes it — # the next `go mod tidy` writes it straight back. Naming such a module # here would trip this hook on this very file. - exclude: '(^|/)(.*-lock\.json|.*\.lock|uv\.lock|package-lock\.json|go\.sum|go\.mod|secrets?[^/]*\.(ya?ml|env|json)|.*\.enc\.[^/]+)$' + # + # A delimited data file is values rather than prose, and a British place + # or company name in one is the record. Respelling it corrupts the data, + # so the whole file class is out of scope the way a lock file is — one + # repo's datasets carry 3,575 such values across thirteen files, and not + # one of them is a misspelling. `.tsv` is named beside `.csv` as the same + # format with a different delimiter. + exclude: '(^|/)(.*-lock\.json|.*\.lock|uv\.lock|package-lock\.json|go\.sum|go\.mod|secrets?[^/]*\.(ya?ml|env|json)|.*\.enc\.[^/]+|.*\.[ct]sv)$' # generated:refcheck - Reference checking # diff --git a/CLAUDE.md b/CLAUDE.md index 5c58603..6307ddf 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -126,7 +126,7 @@ says which theme it is running, every theme applied stays installed beside the others, and an exported config is self-describing. Nothing is pruned, deliberately: these are also the directories a user's own themes -live in, and an installer that deletes what it does not recognise is worse than a +live in, and an installer that deletes what it does not recognize is worse than a few stale kilobytes. Four apps have no pointer at all and are not part of this — dunst reads @@ -209,7 +209,7 @@ Run from the repo root (`~/tools/theme`). Writing `theme.yml` is the whole job; every app config is derived from it. 1. **Write `themes/{id}/theme.yml`** — meta, base16, ansi, special, extended. - Mapping a palette into those slots is the only part that takes judgement: + Mapping a palette into those slots is the only part that takes judgment: see "Mapping a Palette into theme.yml" below. 2. **Generate every app config in one call.** Never invoke generators one by one @@ -228,7 +228,7 @@ every app config is derived from it. 3. **Verify against the source, not by eye.** When a theme comes from a plugin that ships its own terminal configs, diff the generated file against theirs — - an exact match on every colour is the proof the transcription is right: + an exact match on every color is the proof the transcription is right: ```bash diff <(rg -N "^(background|foreground|cursor|selection|palette)" themes/{id}/ghostty.conf) \ @@ -244,14 +244,14 @@ every app config is derived from it. ### Mapping a Palette into theme.yml -Upstream palettes are organised by *role* ("keywords", "types"); base16 slots are -organised by *hue*. When they conflict, **follow hue** — every theme here does, +Upstream palettes are organized by *role* ("keywords", "types"); base16 slots are +organized by *hue*. When they conflict, **follow hue** — every theme here does, and the generators mix `base16` and `ansi` values in the same output file, so a role-based mapping puts a green in the slot a generator draws its red from. - `base0D` is the single most-used slot (`rg -c BASE0D lib/generators/*.sh`), and generators treat it as the primary UI accent, not as "the blue". If a theme's - true blue is a loud diagnostic colour, set `base0D` to the restrained blue and + true blue is a loud diagnostic color, set `base0D` to the restrained blue and put the intended accent in `extended.ui_accent`, which overrides `BASE0D` in every generator that draws UI chrome. - `base06`/`base07` are "lighter/lightest foreground". Duplicating `base05` when @@ -263,6 +263,14 @@ role-based mapping puts a green in the slot a generator draws its red from. rg -o --no-filename "EXTENDED_[A-Z0-9_]+" lib/ | sort -u ``` +- **Spell American, except where you are quoting upstream's own slot name.** The + repo spells identifiers and prose American and the codespell hook gates it, so + the British form in a key or a sentence is a finding. A comment naming the + upstream slot a value came from is a citation and keeps upstream's spelling — + everforest calls its slots `grey1` and `grey2`, and `gray1` would name nothing. + `scripts/check-spelling.sh` is what tells the two apart, because neither the + hook nor a `\b`-anchored search can see a digit-suffixed token like `grey1`. + ### The Generated Neovim Colorscheme Every theme has one, and `generate-all.sh` produces it like any other artifact — @@ -272,7 +280,7 @@ directory, neither of which the job runner cares about: it passes the mapped value through as `$2` and nothing else reads it. The PEP 723 header is what makes it directly executable, so it needs no `uv run` wrapper at the call site. -**The name it emits depends on where the theme's colours come from**, and this is +**The name it emits depends on where the theme's colors come from**, and this is the constraint to preserve: | `neovim_colorscheme_source` | Emits | Why | @@ -339,7 +347,7 @@ theme costs 0.25s. moved on, not as noise. - **A generated colorscheme is a fallback, not a substitute**: it is derived from the palette, where the plugin was tuned by hand against real buffers. It exists - so a machine without the plugin still changes colour, and `theme apply` says so + so a machine without the plugin still changes color, and `theme apply` says so by name when it is what Neovim will land on. - **Generate only through `generate-all.sh`**: a one-off generator invocation is how `mako.ini` came back a week after the migration that deleted it — eight @@ -362,7 +370,7 @@ theme costs 0.25s. nobody can see is worse than none, because a quiet run reads as a correct one. - **The one failure with no output is Neovim.** A plugin theme names a colorscheme this tool does not ship, so a machine that never installed it gets a terminal - that changes colour and an editor that does not — while every tick still says + that changes color and an editor that does not — while every tick still says the apply worked. `check_neovim_colorscheme` looks for the `colors/.{lua,vim}` that `:colorscheme` actually needs, deliberately not asking lazy.nvim where it puts plugins, so the `vim.pack` migration cannot turn @@ -447,10 +455,10 @@ runtime. Worth running once or twice a year, and after adding a plugin theme. Two things it can find, and the second is the common one: -- **Upstream changed a colour** after the transcription. +- **Upstream changed a color** after the transcription. - **The transcription was wrong from the start.** This was the one real finding: `nightfox` had a bright-black of `#475072`, a blue-purple, where upstream - computes `#575860`, a grey — `Shade.new("#393b44", 0.15)`. + computes `#575860`, a gray — `Shade.new("#393b44", 0.15)`. A third outcome the check cannot tell from the second: **deliberate divergence.** `solarized-osaka` carries *classic* Solarized (Schoonover) rather than craftzdog's @@ -465,11 +473,11 @@ It picks its method per theme: - Repos shipping a terminal config (`extras/ghostty`, `extra//.ghostty`, `extras/alacritty/…`) get an **exact** check — that file is generated from the - same palette the colorscheme uses, so comparing colour sets settles it without - parsing Lua. Only colours *we* have and upstream lacks are errors; the reverse + same palette the colorscheme uses, so comparing color sets settles it without + parsing Lua. Only colors *we* have and upstream lacks are errors; the reverse is normally an extended slot past the 16 ANSI that we do not generate. - Everything else gets a **history** check: did any added or removed line in - upstream carry a colour since `theme.yml` was last written? That only says + upstream carry a color since `theme.yml` was last written? That only says "look at this", never "this is wrong". Two traps it exists to encode: @@ -480,11 +488,11 @@ Two traps it exists to encode: - **A repo can host several colorschemes.** flexoki ships one file per variant, so a change to one would otherwise flag all four. The check keeps only changed files naming this theme's variant. -- **Judge by colours changed, never by filename.** flexoki's `colors/*.lua` are - two-line loaders holding no colours, and a repo may keep its palette anywhere. +- **Judge by colors changed, never by filename.** flexoki's `colors/*.lua` are + two-line loaders holding no colors, and a repo may keep its palette anywhere. Filtering on paths produced three false positives out of five on the first run. - **A shipped extra can be as stale as our own copy.** kanagawa's - `extras/alacritty` calls terminal black `#090618`, a colour in none of its Lua + `extras/alacritty` calls terminal black `#090618`, a color in none of its Lua source, while `themes.lua` sets `term[1]` to `sumiInk0` (`#16161d`) — ours was right. It is out of the exact-check map for that reason. Where a repo ships several formats that disagree, prefer the freshest and check it against the @@ -493,6 +501,31 @@ Two traps it exists to encode: When it flags something, read the upstream palette and fix `theme.yml`, then `lib/generate-all.sh --themes `. +## Checking Spelling + +`scripts/check-spelling.sh` finds British spellings the commit gate cannot see. +Run it before a release and after transcribing a plugin palette. + +**The gate has two blind spots and they overlap.** codespell tokenizes on its +default word regex, which keeps `display-panes-colour` and `grey1` whole — there +is no word boundary between a letter and a digit, so an `rg` pattern anchored on +`\b` misses the same two. codespell also refuses to open a dot-prefixed file +without `-H`, so `.codespellrc` and `.pre-commit-config.yaml` are outside it. The +script widens the token regex to letters only and passes `-H`, which reaches all +three classes in one call. + +**Widening it is what makes the settled list necessary.** A British spelling that +is genuinely correct then surfaces on every run, so `SETTLED` declares each one +with its reason and the run reports them as a count rather than as findings. It +holds the five places the spelling deliberately stays: tmux's three `*-colour` +option names, `align=centre`, everforest's `grey1`/`grey2`, hex fragments the +widened regex reads as words, and a backticked citation of a spelling being +discussed. Anything not matching one is printed with its source line and the +script exits non-zero. + +`--list-settled` prints the settled findings too, which is how you check a +pattern is still earning its place rather than absorbing something new. + ## Tests `bats tests/` — also run by the pre-commit hook and in CI, both generated by @@ -554,6 +587,7 @@ is not deterministic. | `lib/generators/neovim.py` | Generates the Neovim colorscheme; see The Generated Neovim Colorscheme | | `install.sh` | Installation script for fresh installs | | `scripts/check-plugin-drift.sh` | Compares plugin themes against upstream; see Checking Plugin Themes Against Upstream | +| `scripts/check-spelling.sh` | Finds British spellings the pre-commit hook cannot see, and declares the ones that stay; see Checking Spelling | | `scripts/test-all-themes.sh` | Generates and validates every theme | | `scripts/test-theme-apps.sh` | Checks each app's generated output | | `tests/helpers.bash` | Suite isolation, fixture builders, command stubs — see Tests | diff --git a/lib/generators/background-ascii.sh b/lib/generators/background-ascii.sh index 838b066..6ead58f 100755 --- a/lib/generators/background-ascii.sh +++ b/lib/generators/background-ascii.sh @@ -49,8 +49,8 @@ bg_rgb=$(hex_to_rgb "$BASE00") # -C colors each glyph from the source pixel underneath it, which also makes # --font-color a no-op — passing both produced byte-identical output. Keep the -# per-glyph colour, since recoloring below maps it into the palette and a single -# flat font colour would throw the image away entirely. +# per-glyph color, since recoloring below maps it into the palette and a single +# flat font color would throw the image away entirely. # -s takes a directory; the filename is auto-generated as -ascii-art.png temp_dir="/tmp/ascii_$$" mkdir -p "$temp_dir" @@ -72,7 +72,7 @@ if [[ ! -f "$generated_file" ]]; then exit 1 fi -# --save-bg themes the ground but the glyphs keep the photo's colours, so the +# --save-bg themes the ground but the glyphs keep the photo's colors, so the # result only half-matched the theme. Hand it to the recolor generator, but not # on the settings lowpoly and recolor use: ASCII output is mostly ground, so it # arrives dark already (mean ~20 of 100) and the darkening pass crushes it to diff --git a/lib/generators/background-recolor.sh b/lib/generators/background-recolor.sh index 2ba9007..37103c4 100755 --- a/lib/generators/background-recolor.sh +++ b/lib/generators/background-recolor.sh @@ -8,7 +8,7 @@ # # The defaults are what recolor and lowpoly both want: the full palette, then a # darkening pass. A photo's brightness survives recoloring — gowall maps each -# pixel to the nearest palette colour, so a bright sky lands on the theme's +# pixel to the nearest palette color, so a bright sky lands on the theme's # foreground and stays a pale expanse. Backgrounds are seen through terminal # transparency, where that washes out. # @@ -106,7 +106,7 @@ palette_name="theme-$theme_id-dark" # The full palette adds the foreground tier and the lightest accent back. Those # four are exactly what a bright region maps onto, so the dark variant is this # same palette with its top end removed rather than a different set of hues. -# Removing more than this pushes bright areas onto a coloured accent and tints +# Removing more than this pushes bright areas onto a colored accent and tints # the sky - salmon on a warm theme, lavender on a cool one. if [[ "$palette_variant" == "full" ]]; then colors+=("$BASE05" "$BASE06" "$BASE07" "$BASE0A") @@ -114,7 +114,7 @@ if [[ "$palette_variant" == "full" ]]; then fi # Rewritten on every run rather than reused when present. The old config-append -# skipped regeneration once a name existed, so editing a colour in theme.yml +# skipped regeneration once a name existed, so editing a color in theme.yml # never reached gowall and the wallpaper kept the palette from first use. palette_file="$palette_dir/${palette_name}.json" { diff --git a/lib/generators/neovim.py b/lib/generators/neovim.py index a68df1e..91cac76 100755 --- a/lib/generators/neovim.py +++ b/lib/generators/neovim.py @@ -32,7 +32,7 @@ def slug_to_module(slug: str) -> str: def colorscheme_name_for(meta: dict, slug: str) -> str: """Name the colorscheme this theme's generated plugin provides. - A theme whose colours come from a plugin gets a `theme-` prefix, because its + A theme whose colors come from a plugin gets a `theme-` prefix, because its id is usually the plugin's own colorscheme name — `kanagawa`, `gruvbox` and ten others — and two `colors/kanagawa.lua` on the runtimepath is a coin toss over which one `:colorscheme` finds. The prefixed copy is the fallback for a @@ -56,7 +56,7 @@ def get_color(extended: dict, extended_key: str, base16_fallback: str) -> str: def resolve_color(base16: dict, extended: dict, extended_key: str, base16_fallback: str) -> str: - """Resolve a semantic colour to its hex value rather than a palette reference. + """Resolve a semantic color to its hex value rather than a palette reference. `get_color` emits `M.palette.foo` so a highlight file can stay symbolic. A band has to be computed here instead, which needs the value. @@ -73,8 +73,8 @@ def resolve_color(base16: dict, extended: dict, extended_key: str, base16_fallba DIFF_EMPHASIS_CONTRAST = 2.2 -def _channels(colour: str) -> tuple[int, int, int]: - h = colour.lstrip("#") +def _channels(color: str) -> tuple[int, int, int]: + h = color.lstrip("#") return int(h[0:2], 16), int(h[2:4], 16), int(h[4:6], 16) @@ -269,7 +269,7 @@ def generate_editor_lua() -> str: Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/lib/generators/tmux.sh b/lib/generators/tmux.sh index 8da5bca..5295a2c 100755 --- a/lib/generators/tmux.sh +++ b/lib/generators/tmux.sh @@ -40,13 +40,13 @@ GIT_ADD="${EXTENDED_GIT_ADD:-$BASE0B}" # doing one job, which flattens the spacing so proximity carries no information # and the line only looks busier. Gestalt proximity groups on relative distance, # so the gap between entries being wider than the gap inside a name is the whole -# mechanism — see docs/architecture/tmux-sessions.md in dotfiles. +# mechanism. SESSION_GAP=" " # Conditionals wrap whole #[...] blocks rather than sitting inside one (no # "fg=#{?...}") — tmux resolves a style at draw time and does not expand formats # within it. Same idiom as pane-border-style below. Alert mirrors the window -# bell style: inverted rather than merely recoloured. +# bell style: inverted rather than merely recolored. SESSION_ENTRY="#[range=session|#{session_id}]#{?session_alert,#[fg=${BASE00}]#[bg=${DIAG_ERROR}]#[bold],#[fg=${BASE04}]#[bg=${BASE00}]} #{session_name} #[nobold]#[norange]#[default]${SESSION_GAP}" SESSION_ENTRY_CURRENT="#[range=session|#{session_id} list=focus]#[fg=${GIT_ADD}]#[bg=${BASE00}]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default]${SESSION_GAP}" @@ -105,6 +105,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=${DIAG_ set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=${DIAG_ERROR} bold,fg=${BASE0A}}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "${DIAG_WARNING}" set-option -g display-panes-colour "${BASE03}" @@ -160,7 +168,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator "${SESSION_GAP}" set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -172,16 +180,17 @@ set-option -g status-right "#[fg=${BASE04}]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by \`tmux-sessions -# install-status\`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:${SESSION_ENTRY},${SESSION_ENTRY_CURRENT}}" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/lib/lib.sh b/lib/lib.sh index ad24143..8f64f53 100755 --- a/lib/lib.sh +++ b/lib/lib.sh @@ -285,7 +285,7 @@ get_library_path() { # others instead of overwriting one file forever. # # Nothing is pruned. These directories are also where a user's own themes live, and -# an installer that deletes what it does not recognise is worse than a few stale +# an installer that deletes what it does not recognize is worse than a few stale # kilobytes. install_themed_artifact() { local source="$1" dir="$2" named="$3" pointer="$4" @@ -355,11 +355,11 @@ neovim_colorscheme_available() { [[ ${#found[@]} -gt 0 ]] } -# Warn when Neovim cannot honour the theme being applied. +# Warn when Neovim cannot honor the theme being applied. # # A plugin theme names a colorscheme this tool does not ship. On a machine that # never installed it — no network, a locked-down box, a plugin sync that has not -# run — the terminal changes colour and the editor does not, with nothing on screen +# run — the terminal changes color and the editor does not, with nothing on screen # saying so. That silence is the whole reason this exists; a fallback that nobody # is told about is indistinguishable from the theme having applied. # @@ -392,7 +392,7 @@ check_neovim_colorscheme() { if [[ -f "$THEMES_DIR/$theme/neovim/colors/$fallback.lua" ]]; then apply_warn "Neovim colorscheme '$colorscheme' is not installed ($plugin) — falling back to '$fallback', generated from this palette rather than tuned by the theme's author." else - apply_warn "Neovim colorscheme '$colorscheme' is not installed ($plugin) and this theme ships no generated fallback — the editor keeps its previous colours." + apply_warn "Neovim colorscheme '$colorscheme' is not installed ($plugin) and this theme ships no generated fallback — the editor keeps its previous colors." fi } diff --git a/scripts/check-plugin-drift.sh b/scripts/check-plugin-drift.sh index f239836..2ed486c 100755 --- a/scripts/check-plugin-drift.sh +++ b/scripts/check-plugin-drift.sh @@ -7,7 +7,7 @@ # scripts/check-plugin-drift.sh --since 2026-01-18 # history mode # # A plugin theme's theme.yml is a hand transcription of that plugin's palette, -# taken once and never re-read. Two things go wrong: upstream changes a colour +# taken once and never re-read. Two things go wrong: upstream changes a color # after we transcribed it, or the transcription was wrong to begin with. This # checks for both, and the second turns out to be the common one. # @@ -75,7 +75,7 @@ declare -A UPSTREAM_TERMINAL=( ) # A shipped extra can itself be stale, so prefer the freshest format a repo # publishes and drop any that contradicts the plugin. kanagawa is deliberately -# absent: its extras/alacritty gives terminal black as #090618, a colour that +# absent: its extras/alacritty gives terminal black as #090618, a color that # appears nowhere in its lua source, while themes.lua sets term[1] to # palette.sumiInk0 (#16161d) -- what we already have. That file was last touched # in Feb 2025. solarized-osaka is pointed at ghostty rather than alacritty for @@ -130,14 +130,14 @@ for id in "${themes[@]}"; do if [[ -n "$path_tpl" ]]; then path="${path_tpl//\{variant\}/$variant}" if gh api "repos/$repo/contents/$path" --jq '.content' 2>/dev/null | base64 -d >"$tmp/up" && [[ -s "$tmp/up" ]]; then - # Compare colour sets, not lines: upstream ships whatever terminal format - # it likes, and ours is generated. A colour we lack that upstream has is + # Compare color sets, not lines: upstream ships whatever terminal format + # it likes, and ours is generated. A color we lack that upstream has is # usually an extended slot beyond the 16 ANSI, so report both directions. only_up=$(comm -23 <(colors_of "$tmp/up") <(colors_of "themes/$id/ghostty.conf") | tr '\n' ' ') only_ours=$(comm -13 <(colors_of "$tmp/up") <(colors_of "themes/$id/ghostty.conf") | tr '\n' ' ') - # Only "ours" matters. A colour upstream has and we do not is almost + # Only "ours" matters. A color upstream has and we do not is almost # always an extended slot past the 16 ANSI (nightfox ships palette 16), - # which we deliberately do not generate. A colour *we* have that upstream + # which we deliberately do not generate. A color *we* have that upstream # does not means the transcription invented a value. if [[ -z "$only_ours" ]]; then printf " ok %-22s matches %s" "$id" "$path" @@ -145,7 +145,7 @@ for id in "${themes[@]}"; do printf "\n" ((++exact)) else - printf " !! %-22s has colours upstream does not: %s\n" "$id" "$only_ours" + printf " !! %-22s has colors upstream does not: %s\n" "$id" "$only_ours" printf " compare against %s\n" "$path" ((++flagged)) fi @@ -154,9 +154,9 @@ for id in "${themes[@]}"; do fi # No shipped terminal config: fall back to asking whether upstream changed a - # colour since we wrote our copy. Test the patch content, not the filename -- + # color since we wrote our copy. Test the patch content, not the filename -- # guessing which paths hold a palette is wrong in both directions. flexoki's - # colors/*.lua matched a path filter while containing no colours at all (they + # colors/*.lua matched a path filter while containing no colors at all (they # are two-line loaders), and a repo can keep its palette anywhere. base="${since:-$(git log -1 --format=%ad --date=short -- "$yml")T00:00:00Z}" [[ "$base" == *T* ]] || base="${base}T00:00:00Z" @@ -169,7 +169,7 @@ for id in "${themes[@]}"; do # jq uses Oniguruma, where ^ anchors to the start of the *string* and the "m" # flag means "dot matches newline" rather than enabling line anchors. Hence the - # explicit (^|\n). Colours appear as #rrggbb and as 0xrrggbb (alacritty), and + # explicit (^|\n). Colors appear as #rrggbb and as 0xrrggbb (alacritty), and # [^+\-\n] keeps the +++/--- file headers out. out=$(gh api "repos/$repo/compare/${sha}...HEAD" \ --jq '"\(.ahead_by)\n" + ([.files[] | select((.patch // "") | test("(^|\n)[+-][^+\\-\n]*(#|0x)[0-9a-fA-F]{6}")) | .filename] | join("\n"))' \ @@ -182,13 +182,13 @@ for id in "${themes[@]}"; do mine=$(printf '%s' "$changed" | { rg -F "$variant" || true; }) if [[ -z "$changed" ]]; then - printf " ok %-22s %s commits upstream since %s, no colour changed\n" "$id" "$ahead" "${base%%T*}" + printf " ok %-22s %s commits upstream since %s, no color changed\n" "$id" "$ahead" "${base%%T*}" ((++exact)) elif [[ -z "$mine" ]]; then - printf " ok %-22s upstream changed colours only in other variants\n" "$id" + printf " ok %-22s upstream changed colors only in other variants\n" "$id" ((++exact)) else - printf " !! %-22s colours changed upstream since %s\n" "$id" "${base%%T*}" + printf " !! %-22s colors changed upstream since %s\n" "$id" "${base%%T*}" printf " %s\n" "$(printf '%s' "$mine" | head -4 | tr '\n' ' ')" ((++flagged)) fi diff --git a/scripts/check-spelling.sh b/scripts/check-spelling.sh new file mode 100755 index 0000000..7dee0ef --- /dev/null +++ b/scripts/check-spelling.sh @@ -0,0 +1,104 @@ +#!/usr/bin/env bash +# Find British spellings anywhere in the repo, including the places the +# pre-commit hook cannot reach. Development tooling, not part of the theme CLI — +# worth running before a release and after transcribing a new plugin palette. +# +# Usage: scripts/check-spelling.sh [--list-settled] +# +# The hook runs codespell with its default word regex, which keeps a hyphenated +# or digit-suffixed token whole. `display-panes-colour` and `grey1` therefore +# exit 0 there, and an rg pattern anchored on \b misses both for the same reason +# — there is no word boundary between a letter and a digit. This widens the +# token regex to letters only, so `-`, `_` and digits all split, and adds -H so +# the dot-prefixed files codespell otherwise refuses to open are read too. +# +# Widening the regex is what makes the settled list below necessary: a British +# spelling that is genuinely correct now surfaces on every run, so each one is +# declared here with its reason rather than being re-argued each time. + +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +THEME_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" +cd "$THEME_DIR" + +for tool in codespell rg git; do + command -v "$tool" >/dev/null || { + echo "Error: $tool is required" >&2 + exit 1 + } +done + +# A finding is settled when its source line matches one of these. Keyed on the +# line rather than the word, because the same word is correct in one place and +# wrong three lines later. +declare -A SETTLED=( + ["display-panes-colour|display-panes-active-colour|clock-mode-colour|(^|[^a-zA-Z])-colour([^a-zA-Z]|$)"]="tmux's own option names, and the -colour suffix where the comments name it" + ["align=centre"]="tmux's style parser accepts no other spelling; the generated sites are filtered earlier by .codespellrc's ignore-regex, so these are the prose ones" + ["grey[0-9]"]="everforest's own palette slot names, quoted where a value was transcribed" + ["(^|[^A-Za-z])(EDE|CAF|DAA|caf)([^A-Za-z]|$)"]="hex fragments, read as words once the token regex splits on digits" + ["theme_get's"]="a possessive of the function name, split at the underscore" + ["\`[a-z*-]*(colour|centre|grey|behaviour|artefact|licence)[a-z0-9-]*\`"]="a backticked citation of the spelling under discussion, not a use of it" +) + +list_settled=0 +[[ ${1:-} == "--list-settled" ]] && list_settled=1 + +# A finding is attributed to the first pattern that matches it, and bash gives no +# order to an associative array's keys. Sorting makes the per-pattern counts the +# same on every run, so a change in them means the tree changed. +mapfile -t SETTLED_ORDER < <(printf '%s\n' "${!SETTLED[@]}" | sort) + +echo "Scanning $(git ls-files | wc -l) tracked files" +echo "" + +findings=$(git ls-files | tr '\n' '\0' \ + | xargs -0 -r codespell --builtin 'clear,rare,en-GB_to_en-US' -H --regex "[a-zA-Z']+" 2>/dev/null || true) + +settled=0 +review=0 +declare -A settled_by + +while IFS= read -r finding; do + [[ -z "$finding" ]] && continue + file=${finding%%:*} + rest=${finding#*:} + lineno=${rest%%:*} + [[ -f "$file" ]] || continue + src=$(sed -n "${lineno}p" "$file") + + matched="" + for pattern in "${SETTLED_ORDER[@]}"; do + if printf '%s' "$src" | rg -q "$pattern"; then + matched="$pattern" + break + fi + done + + if [[ -n "$matched" ]]; then + ((++settled)) + settled_by["$matched"]=$((${settled_by["$matched"]:-0} + 1)) + [[ $list_settled -eq 1 ]] && printf " -- %s\n" "$finding" + else + ((++review)) + printf " !! %s\n" "$finding" + printf " %s\n" "$(printf '%s' "$src" | sed -E 's/^[[:space:]]+//')" + fi +done <<<"$findings" + +if [[ $list_settled -eq 1 || $review -gt 0 ]]; then + echo "" +fi +echo " Settled:" +for pattern in "${SETTLED_ORDER[@]}"; do + printf " %3d %s\n" "${settled_by["$pattern"]:-0}" "${SETTLED[$pattern]}" +done + +echo "" +if [[ $review -eq 0 ]]; then + echo " $settled settled, nothing to review" +else + echo " $settled settled, $review to review" +fi + +[[ $review -eq 0 ]] diff --git a/tests/apply-warnings.bats b/tests/apply-warnings.bats index ce8ca16..fc5ac98 100755 --- a/tests/apply-warnings.bats +++ b/tests/apply-warnings.bats @@ -77,7 +77,7 @@ installed_colorscheme() { assert [ "${#APPLY_WARNINGS[@]}" -eq 0 ] } -@test "the warning says the editor keeps its old colours when there is no fallback" { +@test "the warning says the editor keeps its old colors when there is no fallback" { plugin_theme oceanic upstream/oceanic-next OceanicNext check_neovim_colorscheme oceanic diff --git a/tests/backgrounds.bats b/tests/backgrounds.bats index 8a9d5a8..4511726 100755 --- a/tests/backgrounds.bats +++ b/tests/backgrounds.bats @@ -168,7 +168,7 @@ setup() { assert_output "bg:one 2" } -@test "get_recent_backgrounds returns applies newest first, honouring the limit" { +@test "get_recent_backgrounds returns applies newest first, honoring the limit" { add_background_record "2025-01-01T00:00:00Z" "bg:one" gruvbox apply add_background_record "2025-01-02T00:00:00Z" "bg:two" gruvbox apply add_background_record "2025-01-03T00:00:00Z" "bg:three" gruvbox apply @@ -194,7 +194,7 @@ setup() { @test "compute_background_weights ranks liked above neutral above disliked" { # The rotation is weighted, not filtered: a disliked background keeps a small - # chance rather than disappearing, so a snap judgement is recoverable. + # chance rather than disappearing, so a snap judgment is recoverable. add_background_record "2025-01-01T00:00:00Z" "bg:liked" gruvbox like add_background_record "2025-01-02T00:00:00Z" "bg:neutral" gruvbox note "seen it" add_background_record "2025-01-03T00:00:00Z" "bg:disliked" gruvbox dislike diff --git a/tests/generators.bats b/tests/generators.bats index a7b7d39..3af35f9 100755 --- a/tests/generators.bats +++ b/tests/generators.bats @@ -117,7 +117,7 @@ count_theme_artifacts() { @test "a mapped generator with no script is a hard error, not a skipped job" { # What should have happened when the subscripts were mangled. Asserted through - # the script rather than by reading it, since the guard is the behaviour. + # the script rather than by reading it, since the guard is the behavior. local sandbox="$BATS_TEST_TMPDIR/repo" mkdir -p "$sandbox/lib/generators" "$sandbox/themes/only" cp "$GENERATE_ALL" "$sandbox/lib/generate-all.sh" @@ -211,7 +211,7 @@ count_theme_artifacts() { assert_regex "$uuid_one" '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}' } -@test "a generator carries the theme's own colours into its output" { +@test "a generator carries the theme's own colors into its output" { # The fixture's base00 is #000000 and its foreground falls back to base05, # #050505 — values no real theme has, so finding them proves the output came # from this theme.yml rather than from a default baked into the generator. diff --git a/tests/helpers.bash b/tests/helpers.bash index 6e0e7f7..59e2963 100755 --- a/tests/helpers.bash +++ b/tests/helpers.bash @@ -61,7 +61,7 @@ use_fixture_themes_dir() { # Writes a theme.yml carrying meta and base16 only, so the ANSI and special # fallbacks in load_theme are what gets exercised. Each base16 slot holds the -# colour that names its own index — base0D is #0d0d0d — which is what lets a +# color that names its own index — base0D is #0d0d0d — which is what lets a # fallback assertion read as the slot it fell back to. # # Usage: make_fixture_theme [display_name] [colorscheme_source] diff --git a/tests/opacity.bats b/tests/opacity.bats index eb60672..85f77ad 100755 --- a/tests/opacity.bats +++ b/tests/opacity.bats @@ -139,7 +139,7 @@ setup() { @test "tmux gets a transparent override below full opacity and none at full" { # tmux cannot be translucent itself; it has to stop painting its own background - # so the terminal's shows through. At full opacity the theme owns the colour + # so the terminal's shows through. At full opacity the theme owns the color # again, so the override has to come back out. set_tmux_opacity 0.85 run cat "$TMUX_OPACITY_FILE" diff --git a/tests/selection.bats b/tests/selection.bats index 45a6226..5347b61 100755 --- a/tests/selection.bats +++ b/tests/selection.bats @@ -123,7 +123,7 @@ at_days_offset() { assert_equal "$drawn" 3 } -@test "weighted_random_choice favours the heavier candidate" { +@test "weighted_random_choice favors the heavier candidate" { local heavy=0 for _ in $(seq 40); do [[ "$(printf 'heavy\t9\nlight\t1\n' | weighted_random_choice)" == "heavy" ]] && heavy=$((heavy + 1)) diff --git a/tests/theme-yml.bats b/tests/theme-yml.bats index 36a7e55..d75861b 100755 --- a/tests/theme-yml.bats +++ b/tests/theme-yml.bats @@ -4,7 +4,7 @@ # lib/theme.sh is the only thing that reads theme.yml, and every generator # consumes what it emits via `eval "$(load_colors ...)"`. So this file asserts on # the variables after the eval, not on the text of the assignments: the fallbacks -# are written as literal "$BASE08" strings that only become colours when the eval +# are written as literal "$BASE08" strings that only become colors when the eval # runs, and a generator sees the resolved value. load "$HOME/.local/lib/bats-support/load.bash" @@ -97,7 +97,7 @@ YAML eval "$(load_theme "$FIXTURE")" assert_equal "$ANSI_RED" "#ff0000" assert_equal "$ANSI_BRIGHT_BLACK" "#444444" - # An ansi block that names only some colours still falls back for the rest. + # An ansi block that names only some colors still falls back for the rest. assert_equal "$ANSI_GREEN" "#0b0b0b" } @@ -159,7 +159,7 @@ YAML assert_equal "$via_alias" "$via_direct" } -@test "to_upper uppercases a hex colour for btop" { +@test "to_upper uppercases a hex color for btop" { run to_upper "#a3be8c" assert_success assert_output "#A3BE8C" diff --git a/tests/themes.bats b/tests/themes.bats index 79303c9..41442aa 100755 --- a/tests/themes.bats +++ b/tests/themes.bats @@ -156,7 +156,7 @@ setup() { } @test "get_theme_display_info adds no label for an unrecognized source" { - # Only "generated" and "plugin" are labelled. A typo in the field is therefore + # Only "generated" and "plugin" are labeled. A typo in the field is therefore # invisible here, and equally invisible to Neovim's picker, which reads the # same field. yq -i '.meta.neovim_colorscheme_source = "typo"' "$THEMES_DIR/alpha-dark/theme.yml" diff --git a/themes/cendre-medium/neovim/lua/theme_cendre_medium/highlights/editor.lua b/themes/cendre-medium/neovim/lua/theme_cendre_medium/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/cendre-medium/neovim/lua/theme_cendre_medium/highlights/editor.lua +++ b/themes/cendre-medium/neovim/lua/theme_cendre_medium/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/cendre-medium/tmux.conf b/themes/cendre-medium/tmux.conf index 8ec9030..f58ad1c 100644 --- a/themes/cendre-medium/tmux.conf +++ b/themes/cendre-medium/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#d25780 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#d25780 bold,fg=#fcba81}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#f4a21c" set-option -g display-panes-colour "#73665b" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#a09384]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#1d1917]#[bg=#d25780]#[bold],#[fg=#a09384]#[bg=#1d1917]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#43b16a]#[bg=#1d1917]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/cendre-soft/neovim/lua/theme_cendre_soft/highlights/editor.lua b/themes/cendre-soft/neovim/lua/theme_cendre_soft/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/cendre-soft/neovim/lua/theme_cendre_soft/highlights/editor.lua +++ b/themes/cendre-soft/neovim/lua/theme_cendre_soft/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/cendre-soft/tmux.conf b/themes/cendre-soft/tmux.conf index c5c41ae..e21fcbc 100644 --- a/themes/cendre-soft/tmux.conf +++ b/themes/cendre-soft/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#d25780 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#d25780 bold,fg=#fcba81}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#f4a21c" set-option -g display-panes-colour "#73665b" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#a09384]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#231f1d]#[bg=#d25780]#[bold],#[fg=#a09384]#[bg=#231f1d]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#43b16a]#[bg=#231f1d]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/cendre/neovim/lua/theme_cendre/highlights/editor.lua b/themes/cendre/neovim/lua/theme_cendre/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/cendre/neovim/lua/theme_cendre/highlights/editor.lua +++ b/themes/cendre/neovim/lua/theme_cendre/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/cendre/tmux.conf b/themes/cendre/tmux.conf index 1fad433..596643e 100644 --- a/themes/cendre/tmux.conf +++ b/themes/cendre/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#d25780 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#d25780 bold,fg=#fcba81}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#f4a21c" set-option -g display-panes-colour "#73665b" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#a09384]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#171311]#[bg=#d25780]#[bold],#[fg=#a09384]#[bg=#171311]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#43b16a]#[bg=#171311]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/charcoal-ember/neovim/lua/charcoal_ember/highlights/editor.lua b/themes/charcoal-ember/neovim/lua/charcoal_ember/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/charcoal-ember/neovim/lua/charcoal_ember/highlights/editor.lua +++ b/themes/charcoal-ember/neovim/lua/charcoal_ember/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/charcoal-ember/tmux.conf b/themes/charcoal-ember/tmux.conf index 1abbd71..f70e5ab 100644 --- a/themes/charcoal-ember/tmux.conf +++ b/themes/charcoal-ember/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#c90d00 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#c90d00 bold,fg=#ffc400}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#f79802" set-option -g display-panes-colour "#969896" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#969896]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#1d1f21]#[bg=#c90d00]#[bold],#[fg=#969896]#[bg=#1d1f21]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#60b45a]#[bg=#1d1f21]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/everforest-dark-hard/neovim/lua/theme_everforest_dark_hard/highlights/editor.lua b/themes/everforest-dark-hard/neovim/lua/theme_everforest_dark_hard/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/everforest-dark-hard/neovim/lua/theme_everforest_dark_hard/highlights/editor.lua +++ b/themes/everforest-dark-hard/neovim/lua/theme_everforest_dark_hard/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/everforest-dark-hard/theme.yml b/themes/everforest-dark-hard/theme.yml index 0aa222e..f53f6bc 100644 --- a/themes/everforest-dark-hard/theme.yml +++ b/themes/everforest-dark-hard/theme.yml @@ -7,6 +7,10 @@ meta: derived_from: neanias/everforest-nvim variant: dark author: sainnhe +# Each comment below names the everforest slot the value was transcribed from, +# so `grey1` and `grey2` keep everforest's spelling. Renaming them to `gray` +# would leave the comment pointing at slots the plugin does not have, and +# nothing would report it. base16: base00: '#1e2326' # bg_dim - main background base01: '#2e383c' # bg1 - lighter background diff --git a/themes/everforest-dark-hard/tmux.conf b/themes/everforest-dark-hard/tmux.conf index 6dde6f6..a46f42f 100644 --- a/themes/everforest-dark-hard/tmux.conf +++ b/themes/everforest-dark-hard/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#e67e80 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#e67e80 bold,fg=#dbbc7f}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#dbbc7f" set-option -g display-panes-colour "#859289" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#9da9a0]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#1e2326]#[bg=#e67e80]#[bold],#[fg=#9da9a0]#[bg=#1e2326]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#a7c080]#[bg=#1e2326]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/flexoki-moon-black/neovim/lua/theme_flexoki_moon_black/highlights/editor.lua b/themes/flexoki-moon-black/neovim/lua/theme_flexoki_moon_black/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/flexoki-moon-black/neovim/lua/theme_flexoki_moon_black/highlights/editor.lua +++ b/themes/flexoki-moon-black/neovim/lua/theme_flexoki_moon_black/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/flexoki-moon-black/tmux.conf b/themes/flexoki-moon-black/tmux.conf index c544e8e..7f26bc3 100644 --- a/themes/flexoki-moon-black/tmux.conf +++ b/themes/flexoki-moon-black/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#d14d41 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#d14d41 bold,fg=#d0a215}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#da702c" set-option -g display-panes-colour "#575653" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#878580]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#100f0f]#[bg=#d14d41]#[bold],#[fg=#878580]#[bg=#100f0f]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#66800b]#[bg=#100f0f]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/flexoki-moon-green/neovim/lua/theme_flexoki_moon_green/highlights/editor.lua b/themes/flexoki-moon-green/neovim/lua/theme_flexoki_moon_green/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/flexoki-moon-green/neovim/lua/theme_flexoki_moon_green/highlights/editor.lua +++ b/themes/flexoki-moon-green/neovim/lua/theme_flexoki_moon_green/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/flexoki-moon-green/tmux.conf b/themes/flexoki-moon-green/tmux.conf index cabcc57..58db3fb 100644 --- a/themes/flexoki-moon-green/tmux.conf +++ b/themes/flexoki-moon-green/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#d14d41 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#d14d41 bold,fg=#d0a215}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#da702c" set-option -g display-panes-colour "#6b7d6e" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#8f8a98]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#08120b]#[bg=#d14d41]#[bold],#[fg=#8f8a98]#[bg=#08120b]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#66800b]#[bg=#08120b]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/flexoki-moon-purple/neovim/lua/theme_flexoki_moon_purple/highlights/editor.lua b/themes/flexoki-moon-purple/neovim/lua/theme_flexoki_moon_purple/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/flexoki-moon-purple/neovim/lua/theme_flexoki_moon_purple/highlights/editor.lua +++ b/themes/flexoki-moon-purple/neovim/lua/theme_flexoki_moon_purple/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/flexoki-moon-purple/tmux.conf b/themes/flexoki-moon-purple/tmux.conf index 8205635..586d342 100644 --- a/themes/flexoki-moon-purple/tmux.conf +++ b/themes/flexoki-moon-purple/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#d14d41 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#d14d41 bold,fg=#d0a215}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#da702c" set-option -g display-panes-colour "#625f68" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#8f8a98]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#12101d]#[bg=#d14d41]#[bold],#[fg=#8f8a98]#[bg=#12101d]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#66800b]#[bg=#12101d]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/flexoki-moon-red/neovim/lua/theme_flexoki_moon_red/highlights/editor.lua b/themes/flexoki-moon-red/neovim/lua/theme_flexoki_moon_red/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/flexoki-moon-red/neovim/lua/theme_flexoki_moon_red/highlights/editor.lua +++ b/themes/flexoki-moon-red/neovim/lua/theme_flexoki_moon_red/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/flexoki-moon-red/tmux.conf b/themes/flexoki-moon-red/tmux.conf index a55de48..c65f917 100644 --- a/themes/flexoki-moon-red/tmux.conf +++ b/themes/flexoki-moon-red/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#d14d41 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#d14d41 bold,fg=#d0a215}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#da702c" set-option -g display-panes-colour "#8a6b60" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#b5967e]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#18090b]#[bg=#d14d41]#[bold],#[fg=#b5967e]#[bg=#18090b]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#66800b]#[bg=#18090b]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/github-dark-dimmed/neovim/lua/theme_github_dark_dimmed/highlights/editor.lua b/themes/github-dark-dimmed/neovim/lua/theme_github_dark_dimmed/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/github-dark-dimmed/neovim/lua/theme_github_dark_dimmed/highlights/editor.lua +++ b/themes/github-dark-dimmed/neovim/lua/theme_github_dark_dimmed/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/github-dark-dimmed/tmux.conf b/themes/github-dark-dimmed/tmux.conf index 61064ee..c69f5e1 100644 --- a/themes/github-dark-dimmed/tmux.conf +++ b/themes/github-dark-dimmed/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#e5534b set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#e5534b bold,fg=#c69026}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#c69026" set-option -g display-panes-colour "#768390" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#636e7b]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#22272e]#[bg=#e5534b]#[bold],#[fg=#636e7b]#[bg=#22272e]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#46954a]#[bg=#22272e]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/gruvbox-dark-hard/neovim/lua/gruvbox_dark_hard/highlights/editor.lua b/themes/gruvbox-dark-hard/neovim/lua/gruvbox_dark_hard/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/gruvbox-dark-hard/neovim/lua/gruvbox_dark_hard/highlights/editor.lua +++ b/themes/gruvbox-dark-hard/neovim/lua/gruvbox_dark_hard/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/gruvbox-dark-hard/tmux.conf b/themes/gruvbox-dark-hard/tmux.conf index b38d870..5a26b7c 100644 --- a/themes/gruvbox-dark-hard/tmux.conf +++ b/themes/gruvbox-dark-hard/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#fb4934 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#fb4934 bold,fg=#fabd2f}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#fe8019" set-option -g display-panes-colour "#665c54" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#928374]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#1d2021]#[bg=#fb4934]#[bold],#[fg=#928374]#[bg=#1d2021]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#b8bb26]#[bg=#1d2021]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/gruvbox/neovim/lua/theme_gruvbox/highlights/editor.lua b/themes/gruvbox/neovim/lua/theme_gruvbox/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/gruvbox/neovim/lua/theme_gruvbox/highlights/editor.lua +++ b/themes/gruvbox/neovim/lua/theme_gruvbox/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/gruvbox/tmux.conf b/themes/gruvbox/tmux.conf index b8c779e..294541b 100644 --- a/themes/gruvbox/tmux.conf +++ b/themes/gruvbox/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#fb4934 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#fb4934 bold,fg=#fabd2f}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#fabd2f" set-option -g display-panes-colour "#665c54" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#928374]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#1d2021]#[bg=#fb4934]#[bold],#[fg=#928374]#[bg=#1d2021]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#b8bb26]#[bg=#1d2021]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/kanagawa/neovim/lua/theme_kanagawa/highlights/editor.lua b/themes/kanagawa/neovim/lua/theme_kanagawa/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/kanagawa/neovim/lua/theme_kanagawa/highlights/editor.lua +++ b/themes/kanagawa/neovim/lua/theme_kanagawa/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/kanagawa/tmux.conf b/themes/kanagawa/tmux.conf index 6337fff..c34cc08 100644 --- a/themes/kanagawa/tmux.conf +++ b/themes/kanagawa/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#e82424 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#e82424 bold,fg=#c0a36e}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#ff9e3b" set-option -g display-panes-colour "#727169" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#c8c093]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#1f1f28]#[bg=#e82424]#[bold],#[fg=#c8c093]#[bg=#1f1f28]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#76946a]#[bg=#1f1f28]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/nightfox/neovim/lua/theme_nightfox/highlights/editor.lua b/themes/nightfox/neovim/lua/theme_nightfox/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/nightfox/neovim/lua/theme_nightfox/highlights/editor.lua +++ b/themes/nightfox/neovim/lua/theme_nightfox/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/nightfox/tmux.conf b/themes/nightfox/tmux.conf index d2b9ddd..68e325f 100644 --- a/themes/nightfox/tmux.conf +++ b/themes/nightfox/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#c94f6d set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#c94f6d bold,fg=#dbc074}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#dbc074" set-option -g display-panes-colour "#738091" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#71839b]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#192330]#[bg=#c94f6d]#[bold],#[fg=#71839b]#[bg=#192330]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#81b29a]#[bg=#192330]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/nordic/neovim/lua/theme_nordic/highlights/editor.lua b/themes/nordic/neovim/lua/theme_nordic/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/nordic/neovim/lua/theme_nordic/highlights/editor.lua +++ b/themes/nordic/neovim/lua/theme_nordic/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/nordic/tmux.conf b/themes/nordic/tmux.conf index 9629971..805dd29 100644 --- a/themes/nordic/tmux.conf +++ b/themes/nordic/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#C5727A set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#C5727A bold,fg=#EBCB8B}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#EBCB8B" set-option -g display-panes-colour "#4C566A" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#60728A]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#242933]#[bg=#C5727A]#[bold],#[fg=#60728A]#[bg=#242933]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#A3BE8C]#[bg=#242933]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/oceanic-next/neovim/lua/theme_oceanic_next/highlights/editor.lua b/themes/oceanic-next/neovim/lua/theme_oceanic_next/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/oceanic-next/neovim/lua/theme_oceanic_next/highlights/editor.lua +++ b/themes/oceanic-next/neovim/lua/theme_oceanic_next/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/oceanic-next/tmux.conf b/themes/oceanic-next/tmux.conf index 604aa59..6fe2a09 100644 --- a/themes/oceanic-next/tmux.conf +++ b/themes/oceanic-next/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#ec5f67 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#ec5f67 bold,fg=#fac863}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#fce094" set-option -g display-panes-colour "#65737e" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#ffffff]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#162c35]#[bg=#ec5f67]#[bold],#[fg=#ffffff]#[bg=#162c35]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#99c794]#[bg=#162c35]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/popping-and-locking/neovim/lua/popping_and_locking/highlights/editor.lua b/themes/popping-and-locking/neovim/lua/popping_and_locking/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/popping-and-locking/neovim/lua/popping_and_locking/highlights/editor.lua +++ b/themes/popping-and-locking/neovim/lua/popping_and_locking/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/popping-and-locking/tmux.conf b/themes/popping-and-locking/tmux.conf index 7f66ba6..9fc7dc2 100644 --- a/themes/popping-and-locking/tmux.conf +++ b/themes/popping-and-locking/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#cc241d set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#cc241d bold,fg=#d79921}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#f42c3e" set-option -g display-panes-colour "#928374" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#a89984]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#181921]#[bg=#cc241d]#[bold],#[fg=#a89984]#[bg=#181921]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#98971a]#[bg=#181921]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/retrobox/neovim/lua/theme_retrobox/highlights/editor.lua b/themes/retrobox/neovim/lua/theme_retrobox/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/retrobox/neovim/lua/theme_retrobox/highlights/editor.lua +++ b/themes/retrobox/neovim/lua/theme_retrobox/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/retrobox/neovim/lua/theme_retrobox/palette.lua b/themes/retrobox/neovim/lua/theme_retrobox/palette.lua index e3edf9b..97c446b 100644 --- a/themes/retrobox/neovim/lua/theme_retrobox/palette.lua +++ b/themes/retrobox/neovim/lua/theme_retrobox/palette.lua @@ -34,7 +34,7 @@ M.palette = { fg2 = "#d5c4a1", fg3 = "#bdae93", fg4 = "#a89984", - grey = "#928374", + gray = "#928374", neutral_red = "#cc241d", neutral_green = "#98971a", neutral_yellow = "#d79921", diff --git a/themes/retrobox/theme.yml b/themes/retrobox/theme.yml index 9b449b3..2a334de 100644 --- a/themes/retrobox/theme.yml +++ b/themes/retrobox/theme.yml @@ -17,7 +17,7 @@ base16: base00: "#1c1c1c" # Background (bg0) base01: "#3c3836" # Lighter background (bg1) base02: "#504945" # Selection background (bg2) - base03: "#928374" # Comments (grey) + base03: "#928374" # Comments (gray) base04: "#a89984" # Dark foreground (fg4) base05: "#ebdbb2" # Default foreground (fg1) base06: "#d5c4a1" # Light foreground (fg2) @@ -41,7 +41,7 @@ ansi: magenta: "#b16286" # ANSI 5 - neutralpurple cyan: "#689d6a" # ANSI 6 - neutralaqua white: "#a89984" # ANSI 7 - fg4 - bright_black: "#928374" # ANSI 8 - grey + bright_black: "#928374" # ANSI 8 - gray bright_red: "#fb4934" # ANSI 9 - red bright_green: "#b8bb26" # ANSI 10 - green bright_yellow: "#fabd2f" # ANSI 11 - yellow @@ -77,7 +77,7 @@ extended: fg2: "#d5c4a1" fg3: "#bdae93" fg4: "#a89984" - grey: "#928374" + gray: "#928374" # Neutral colors (darker) neutral_red: "#cc241d" diff --git a/themes/retrobox/tmux.conf b/themes/retrobox/tmux.conf index 3944286..93ef793 100644 --- a/themes/retrobox/tmux.conf +++ b/themes/retrobox/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#fb4934 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#fb4934 bold,fg=#fabd2f}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#fabd2f" set-option -g display-panes-colour "#928374" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#a89984]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#1c1c1c]#[bg=#fb4934]#[bold],#[fg=#a89984]#[bg=#1c1c1c]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#b8bb26]#[bg=#1c1c1c]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/rose-pine-darker/neovim/lua/rose_pine_darker/highlights/editor.lua b/themes/rose-pine-darker/neovim/lua/rose_pine_darker/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/rose-pine-darker/neovim/lua/rose_pine_darker/highlights/editor.lua +++ b/themes/rose-pine-darker/neovim/lua/rose_pine_darker/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/rose-pine-darker/tmux.conf b/themes/rose-pine-darker/tmux.conf index adbd309..abe4bf3 100644 --- a/themes/rose-pine-darker/tmux.conf +++ b/themes/rose-pine-darker/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#eb6f92 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#eb6f92 bold,fg=#ebbcba}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#f6c177" set-option -g display-panes-colour "#6e6a86" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#908caa]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#191724]#[bg=#eb6f92]#[bold],#[fg=#908caa]#[bg=#191724]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#31748f]#[bg=#191724]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/rose-pine/neovim/lua/theme_rose_pine/highlights/editor.lua b/themes/rose-pine/neovim/lua/theme_rose_pine/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/rose-pine/neovim/lua/theme_rose_pine/highlights/editor.lua +++ b/themes/rose-pine/neovim/lua/theme_rose_pine/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/rose-pine/tmux.conf b/themes/rose-pine/tmux.conf index 3538908..6f1eb10 100644 --- a/themes/rose-pine/tmux.conf +++ b/themes/rose-pine/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#eb6f92 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#eb6f92 bold,fg=#ebbcba}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#f6c177" set-option -g display-panes-colour "#6e6a86" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#908caa]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#191724]#[bg=#eb6f92]#[bold],#[fg=#908caa]#[bg=#191724]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#31748f]#[bg=#191724]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/smyck/neovim/lua/smyck/highlights/editor.lua b/themes/smyck/neovim/lua/smyck/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/smyck/neovim/lua/smyck/highlights/editor.lua +++ b/themes/smyck/neovim/lua/smyck/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/smyck/tmux.conf b/themes/smyck/tmux.conf index 0290ea7..ec3dca4 100644 --- a/themes/smyck/tmux.conf +++ b/themes/smyck/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#b84131 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#b84131 bold,fg=#c4a500}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#d6837c" set-option -g display-panes-colour "#7a7a7a" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#a1a1a1]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#1b1b1b]#[bg=#b84131]#[bold],#[fg=#a1a1a1]#[bg=#1b1b1b]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#7da900]#[bg=#1b1b1b]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/solarized-osaka/neovim/lua/theme_solarized_osaka/highlights/editor.lua b/themes/solarized-osaka/neovim/lua/theme_solarized_osaka/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/solarized-osaka/neovim/lua/theme_solarized_osaka/highlights/editor.lua +++ b/themes/solarized-osaka/neovim/lua/theme_solarized_osaka/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/solarized-osaka/tmux.conf b/themes/solarized-osaka/tmux.conf index 9f1136c..ac6604c 100644 --- a/themes/solarized-osaka/tmux.conf +++ b/themes/solarized-osaka/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#db302d set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#db302d bold,fg=#b28500}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#b28500" set-option -g display-panes-colour "#586e75" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#657b83]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#001419]#[bg=#db302d]#[bold],#[fg=#657b83]#[bg=#001419]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#849900]#[bg=#001419]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/sora/neovim/lua/theme_sora/highlights/editor.lua b/themes/sora/neovim/lua/theme_sora/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/sora/neovim/lua/theme_sora/highlights/editor.lua +++ b/themes/sora/neovim/lua/theme_sora/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/sora/tmux.conf b/themes/sora/tmux.conf index e91ab6d..ca905d0 100644 --- a/themes/sora/tmux.conf +++ b/themes/sora/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#c46c78 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#c46c78 bold,fg=#d4b878}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#c8a860" set-option -g display-panes-colour "#586478" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#9aa4b8]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#0e1018]#[bg=#c46c78]#[bold],#[fg=#9aa4b8]#[bg=#0e1018]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#68b080]#[bg=#0e1018]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/terafox/neovim/lua/theme_terafox/highlights/editor.lua b/themes/terafox/neovim/lua/theme_terafox/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/terafox/neovim/lua/theme_terafox/highlights/editor.lua +++ b/themes/terafox/neovim/lua/theme_terafox/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/terafox/tmux.conf b/themes/terafox/tmux.conf index 678468d..4819030 100644 --- a/themes/terafox/tmux.conf +++ b/themes/terafox/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#e85c51 set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#e85c51 bold,fg=#fda47f}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#fda47f" set-option -g display-panes-colour "#6d7f8b" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#587b7b]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#152528]#[bg=#e85c51]#[bold],#[fg=#587b7b]#[bg=#152528]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#7aa4a1]#[bg=#152528]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine. diff --git a/themes/treehouse/neovim/lua/treehouse/highlights/editor.lua b/themes/treehouse/neovim/lua/treehouse/highlights/editor.lua index 43da454..533af9a 100644 --- a/themes/treehouse/neovim/lua/treehouse/highlights/editor.lua +++ b/themes/treehouse/neovim/lua/treehouse/highlights/editor.lua @@ -16,7 +16,7 @@ function M.setup(colors) Directory = { fg = theme.syn.fun }, -- Diff. No foreground on any of them: a foreground here wins over - -- treesitter and flattens a whole hunk to one shade, which is the colour + -- treesitter and flattens a whole hunk to one shade, which is the color -- you least want flattened. DiffAdd = { bg = theme.diff.add }, DiffChange = { bg = theme.diff.change }, diff --git a/themes/treehouse/tmux.conf b/themes/treehouse/tmux.conf index 3fa8140..d7312f1 100644 --- a/themes/treehouse/tmux.conf +++ b/themes/treehouse/tmux.conf @@ -51,6 +51,14 @@ set-option -g pane-border-style "#{?#{==:#{pane_current_command},ssh},fg=#b2270e set-option -g pane-active-border-style "#{?#{==:#{pane_current_command},ssh},fg=#b2270e bold,fg=#aa820c}" # Pane number display (prefix + q) +# +# The -colour ending here, and on clock-mode below, is tmux's own spelling +# rather than a British one that escaped the spell gate. tmux does accept +# display-panes-color and stores it back under -colour, which is what +# show-options prints and what its manpage documents, so a rename reads as +# working while this file stops matching what tmux reports. Nothing catches +# that: codespell keeps a hyphenated token whole, so a file holding +# display-panes-colour exits 0 either way. set-option -g display-panes-active-colour "#ed5d20" set-option -g display-panes-colour "#504332" @@ -106,7 +114,7 @@ set-option -g status-left "" # Window status: the same shape as the session list above, so the two lines read # as one bar. Separation is whitespace only; the current window is told apart by -# colour and weight, which is preattentive and needs no reading. +# color and weight, which is preattentive and needs no reading. set-window-option -g window-status-separator " " set-window-option -g window-status-format " #W " set-window-option -g window-status-current-format " #W " @@ -118,16 +126,17 @@ set-option -g status-right "#[fg=#786b53]%I:%M%p %m.%d.%Y " # Session list, drawn on the first status line above the window row. list=focus # on the current session keeps it scrolled into view once the list outgrows the # terminal, with < > markers on the ends. -# tmux's stock window row is relocated to the second line by `tmux-sessions -# install-status`, which dotfiles runs before sourcing this file. +# tmux draws its stock window row on the first status line, where this session +# list needs the room. Relocating that row to the second line is a status +# installer's job rather than a theme's, so this file assumes it has happened. set-option -g "status-format[0]" "#[align=left]#[list=on]#[list=left-marker]<#[list=right-marker]>#[list=on]#{S:#[range=session|#{session_id}]#{?session_alert,#[fg=#191919]#[bg=#b2270e]#[bold],#[fg=#786b53]#[bg=#191919]} #{session_name} #[nobold]#[norange]#[default] ,#[range=session|#{session_id} list=focus]#[fg=#44a900]#[bg=#191919]#[bold] #{session_name} #[nobold]#[norange]#[list=on]#[default] }" # Pane border format: index, command, path (normal) — or a red host badge when # the pane is running ssh. Host-side remote indicator: the local tmux detects the # ssh process via pane_current_command, so any SSH target lights up red (theme's # diagnostic_error) with zero setup on the remote — bare servers work. The badge -# shows pane_title, which a dotfiles remote sets to "host:cwd" via an OSC 2 prompt -# hook (falling back to the local "ssh: " label, or plain SSH). Style +# shows pane_title, which a remote shell can set to "host:cwd" with an OSC 2 +# prompt hook (falling back to the local "ssh: " label, or plain SSH). Style # attributes are space-separated (not comma) so they don't collide with the # #{?...} branch separator; the nested #{?#{pane_title}...} is brace-scoped so its # commas are fine.