falcon/TODO.md
Michael Welford d1e050b645 Todo.
2023-04-10 10:31:38 +09:30

7.2 KiB

Falcon Todo

Zen todo, to release

  • Move classic docs stuff into its own place

v3 release

  • Doc how to use
  • Screenshots
  • Palette stuff pics and values
  • New logo, simpler

Todo include statusline config

  • Set StatusLineNC to take into account inactive bg

Todo v3

Update instructions for neovim

e.g.

vim.opt.background = 'dark'
vim.g.colors_name = 'falcon'
vim.g.falcon_settings = {
  italic_comments = true,
  bold = true,
  undercurl = true,
  underline_for_undercurl = false,
  transparent_bg = false,
  inactive_bg = false
}

package.loaded['falcon'] = nil
require('lush')(require('falcon').setup())

What

  • dynamic colour scheme, lua based for neovim, use current colours, could tweak a bit?
  • more minimal in colour use in general
  • different modes:
    • LSP (highlight just the LSP things)
      • minimal with colours for errors
    • outline (can this be done with dynamic treesitter queries?)
    • comments are more important
    • traditional (all things at once)
    • minimal (as little as possible):
      • strings are underlined or diff background colour
      • comments in italic still? but same colour otherwise
      • keywords vs non-keywords
    • clear (good for markdown where the things like #, _ etc. are dropped back)
  • possibility to output colours to other files using simple templating
  • programmatically tweak things such as:
    • increase contrast
    • turn things off / on e.g. bold, italic, underline
  • single colour statusline vs full colour
  • chrome full colour or mono
  • syntax full colour or minimal
  • light mode? change warmth / cool dependent on season / time of day

Concept

  • In code, functionally it's all very similar, so don't differentiate unneccessarily
  • Differentiate on it's effect (strings) vs keywords vs user written
  • Also differentiate meta information such as what comes from the LSP, linter etc.
  • Don't put in meaning where there wasn't any
  • Make it programmatic, allow swapping out "highlight colours", tweaking the other things (contrast, warm, cool)
  • Fun features: only showing certain things

How

  • contrast: define different colours to reference - apprentice does this, could be done programmatically maybe using colour commands like saturation, lightness etc.
  • how to turn modes off and on? commands, refreshes all the highlights
  • estilo does some rounding to closest cterm vals, maybe not care? someday
  • lush allows merge, yay, probably go with this
  • nvim_set_hl sholuld work now, 0.7
  • TIL: https://www.hsluv.org/ colour space like HSL but more "tuned" for humans re lightness, saturation etc.
  • pumblend and winblend, blend is just for things that overlay
  • resty templating for other stuff
  • config file is external, have a dist, then generate

Lush stuff

special keys:

bold: boolean, enables or disables bold. italic: boolean, enables or disables italics. underline: boolean, enables or disables underline. underlineline: boolean, enables or disables double underline. underdouble: boolean, underlineline in nvim 0.8 undercurl: boolean, enables or disables undercurl. underdot: boolean, enables or disables underdot. underdotted: boolean, underdot in nvim 0.8 underdash: boolean, enables or disables underdash. underdashed: boolean, underdash in nvim 0.8 strikethrough: boolean, enables or disables strikethrough. reverse: boolean, enables or disables flipping fg and bg values. standout: boolean, enables or disables standout. nocombine: boolean, enables or disables nocombine.

references

Rando

Tools

VSCode refs

Someday

  • increase contrast in markdown for code blocks - maybe another gray...
  • check gnome
  • add in palette file with rbg and hex and names
  • vscode scheme
  • update other themes with indigo for selection colour
  • fzf colors, check PR
  • Light version?
  • More support:
    • Mutt
    • TeX
  • Setup page under projects on michaelwelford.com, point to blog posts about it.
  • Add in some lean prompt stuff, fix up brackets to be delimiter colour etc.
  • Automate the screenshot taking