revise colorscheme integration plan for Paper Tonic
- Update phases for modern Paper Tonic colorscheme - Outline decisions and tasks for extraction and structure - Include validation and plugin configuration steps
This commit is contained in:
parent
cd80d074b4
commit
a2ec276705
|
|
@ -334,39 +334,95 @@ Source of truth for the step-by-step rebuild. Keep this concise and up to date.
|
|||
- [x] Persistent folds (via UFO) -- no need, this is no longer required.
|
||||
- [x] Note: UFO handles folding; no explicit persistence mechanism needed
|
||||
|
||||
## Phase 11 — Colorscheme Integration
|
||||
## Phase 11 — Colorscheme: Modern Paper Tonic
|
||||
|
||||
## Phase 11.1 — Confirm scope and priorities
|
||||
- [x] Confirm scope and priorities for this phase
|
||||
- [x] Decision: Port Paper Tonic colorscheme from `~/projects/nvim-paper-tonic`
|
||||
- [x] Decision: Install as local plugin via lazy.nvim (use `dir = '~/projects/nvim-paper-tonic'`)
|
||||
- [x] Decision: Test first, then extend with missing highlights as needed
|
||||
- [x] Custom TreeSitter captures to verify/define: `@CssClassName`, `@CssIdentifier`, `@DataAttribute`, `@DataAttributeValue`, `@cssPseudoClass`, `@cssNestingSelector`, etc.
|
||||
- [x] Decision: Create modern Paper Tonic fork from scratch
|
||||
- [x] Decision: Name = "paper-tonic-modern"
|
||||
- [x] Decision: Location = inside nvim config initially, move to repo later
|
||||
- [x] Decision: Structure = modular Lua colorscheme (colors.lua, groups/*.lua)
|
||||
- [x] Phased approach:
|
||||
- Phase 11.2-11.4: Extract palette and base groups
|
||||
- Phase 11.5-11.6: General TreeSitter highlights (modern @* groups)
|
||||
- Phase 11.7: Semantic highlighting (custom CSS/HTML captures)
|
||||
- Phase 11.8: Plugin support (LSP, Telescope, Gitsigns, etc.)
|
||||
|
||||
## Phase 11.2 — Install Paper Tonic colorscheme
|
||||
- [x] Create `lua/plugins/colorscheme.lua` with Paper Tonic as local plugin
|
||||
- [x] Set `lazy = false` and `priority = 1000` to load first
|
||||
- [x] Apply colorscheme in config function
|
||||
## Phase 11.2 — Extract Paper Tonic color palette
|
||||
- [ ] Create `lua/paper-tonic-modern/colors.lua`
|
||||
- [ ] Extract all `c_*` color variables from Paper Tonic
|
||||
- [ ] Document what each color represents (foreground, background, accent colors)
|
||||
- [ ] Convert to modern format (keep hex, 256-color, ANSI mappings)
|
||||
|
||||
## Phase 11.3 — Verify custom TreeSitter highlights
|
||||
- [ ] Open HTML/CSS files and verify custom captures have colors
|
||||
- [ ] Check if `@CssClassName` (HTML class attributes) matches CSS class selector colors
|
||||
- [ ] Check if `@CssIdentifier` (HTML id attributes) matches CSS id selector colors
|
||||
- [ ] Check if `@DataAttribute` and `@DataAttributeValue` are distinct
|
||||
- [ ] Check CSS-specific captures: `@cssPseudoClass`, `@cssNestingSelector`, `@CssUniversalSelector`, etc.
|
||||
## Phase 11.3 — Create colorscheme structure
|
||||
- [ ] Create directory structure:
|
||||
- `colors/paper-tonic-modern.lua` (entry point)
|
||||
- `lua/paper-tonic-modern/init.lua` (main logic)
|
||||
- `lua/paper-tonic-modern/colors.lua` (palette)
|
||||
- `lua/paper-tonic-modern/groups/` (highlight group definitions)
|
||||
- [ ] Create helper function for setting highlights
|
||||
- [ ] Set up colorscheme loading mechanism
|
||||
|
||||
## Phase 11.4 — Verify plugin highlights
|
||||
- [ ] Telescope UI (borders, selection, prompts)
|
||||
- [ ] Gitsigns (add, change, delete signs in gutter)
|
||||
- [ ] nvim-cmp (completion menu, selected item, kind icons)
|
||||
- [ ] LSP diagnostics (ERROR, WARN, HINT, INFO signs and virtual text)
|
||||
- [ ] Oil.nvim (if distinctive colors needed)
|
||||
## Phase 11.4 — Base vim highlight groups
|
||||
- [ ] Create `lua/paper-tonic-modern/groups/editor.lua`
|
||||
- [ ] Map Paper Tonic colors to base groups: Normal, Comment, LineNr, CursorLine, etc.
|
||||
- [ ] Create `lua/paper-tonic-modern/groups/syntax.lua`
|
||||
- [ ] Map to syntax groups: Function, String, Keyword, Identifier, etc.
|
||||
- [ ] Test with simple Lua file to verify base colors work
|
||||
|
||||
## Phase 11.5 — Add missing highlights (if needed)
|
||||
- [ ] Create `lua/colorscheme-overrides.lua` if custom highlights needed
|
||||
- [ ] Define highlights for custom TreeSitter captures not in colorscheme
|
||||
- [ ] Define highlights for plugins not covered by colorscheme
|
||||
- [ ] Load overrides after colorscheme applies (use autocmd or lazy.nvim config)
|
||||
## Phase 11.5 — Modern TreeSitter highlight groups
|
||||
- [ ] Create `lua/paper-tonic-modern/groups/treesitter.lua`
|
||||
- [ ] Map modern `@*` groups to Paper Tonic colors:
|
||||
- Core: @variable, @function, @keyword, @string, @number, @boolean, @comment
|
||||
- Types: @type, @property, @field, @parameter
|
||||
- Operators: @operator, @punctuation.delimiter, @punctuation.bracket
|
||||
- Language constructs: @keyword.function, @keyword.return, @keyword.conditional
|
||||
- [ ] Use `:help treesitter-highlight-groups` as reference
|
||||
- [ ] Test with multiple languages: Lua, PHP, JavaScript, HTML, CSS
|
||||
|
||||
## Phase 11.6 — Language-specific TreeSitter groups
|
||||
- [ ] Add language-specific overrides (e.g., @variable.php, @tag.html)
|
||||
- [ ] Ensure HTML tags, CSS selectors, PHP variables have appropriate colors
|
||||
- [ ] Test across primary languages (HTML, PHP, JS, CSS, Markdown)
|
||||
|
||||
## Phase 11.7 — Semantic highlighting (custom captures)
|
||||
- [ ] Create `lua/paper-tonic-modern/groups/semantic.lua`
|
||||
- [ ] Define your custom semantic captures:
|
||||
- @CssClassName (for CSS .class and HTML class="" - same color)
|
||||
- @CssIdentifier (for CSS #id and HTML id="" - same color)
|
||||
- @DataAttribute, @DataAttributeValue (HTML data-* attributes)
|
||||
- @cssPseudoClass, @cssNestingSelector, @CssUniversalSelector (CSS-specific)
|
||||
- [ ] Verify cross-language consistency: class names in HTML match CSS
|
||||
- [ ] Test with existing custom queries (after/queries/css/highlights.scm, after/queries/html/highlights.scm)
|
||||
|
||||
## Phase 11.8 — Plugin highlight groups
|
||||
- [ ] Create `lua/paper-tonic-modern/groups/lsp.lua`
|
||||
- [ ] Define LSP diagnostics: DiagnosticError, DiagnosticWarn, DiagnosticHint, DiagnosticInfo
|
||||
- [ ] Define LSP UI: LspReferenceText, LspReferenceRead, LspReferenceWrite
|
||||
- [ ] Create `lua/paper-tonic-modern/groups/plugins.lua`
|
||||
- [ ] Add Telescope highlights (TelescopeNormal, TelescopeBorder, TelescopeSelection)
|
||||
- [ ] Add Gitsigns highlights (GitSignsAdd, GitSignsChange, GitSignsDelete)
|
||||
- [ ] Add nvim-cmp highlights (CmpItemKind*, CmpItemMenu, etc.)
|
||||
- [ ] Add Oil.nvim highlights if needed
|
||||
|
||||
## Phase 11.9 — Update plugin configuration
|
||||
- [ ] Update `lua/plugins/colorscheme.lua` to use paper-tonic-modern
|
||||
- [ ] Remove old Paper Tonic reference
|
||||
- [ ] Remove colorscheme-overrides.lua (no longer needed)
|
||||
- [ ] Test full config reload
|
||||
|
||||
## Phase 11.10 — Validation and polish
|
||||
- [ ] Test all primary languages (Lua, PHP, HTML, CSS, JS, Markdown)
|
||||
- [ ] Verify semantic consistency (CSS classes in HTML match CSS files)
|
||||
- [ ] Check plugin UI colors (Telescope, Gitsigns, nvim-cmp)
|
||||
- [ ] Verify LSP diagnostics are visible and distinct
|
||||
- [ ] Document color scheme in README
|
||||
|
||||
## Phase 11.11 — Extract to separate repo (later)
|
||||
- [ ] Move to `~/projects/paper-tonic-modern/`
|
||||
- [ ] Update plugin config to point to new location
|
||||
- [ ] Add proper README, LICENSE, screenshots
|
||||
- [ ] Consider publishing to GitHub
|
||||
|
||||
## Phase 12 — Cleanup & Validation
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue