Skip to content

Latest commit

 

History

History
 
 

vscode

Semantic Lunaria

This extension is based on the Lunaria palette and adds semantic highlighting.

Lunaria

Lunaria is a fam­ily of sooth­ing, moderate-​contrast color palettes. Lunaria's col­ors were gen­er­ated al­go­rith­mi­cally, em­ploy­ing the cut­ting edge of color sci­ence: the CAM16 color ap­pear­ance model and its as­so­ci­ated uni­form color space and chro­matic adap­ta­tion trans­form.

Lunaria in­cludes three dis­tinct palettes:

  • The Light palette is for users who pre­fer to read dark text on a light back­ground. It is de­signed to pro­vide the best fac­sim­ile of ink-​on-paper that an LCD mon­i­tor can pos­si­bly achieve. Its col­ors are op­ti­mized for view­ing in the bright window-​lit con­di­tions typ­i­cal of 21st cen­tury of­fice build­ings, but hold up well in a broad range of con­di­tions.

  • The Dark palette is for users who pre­fer light text on a dark back­ground. Its neu­tral col­ors are de­signed to give an im­pres­sion of a moon­lit night and are de­rived from ac­tual spec­tral data col­lected from the Fred Lawrence Whip­ple moun­tain­top as­tro­nom­i­cal ob­ser­va­tory. It is op­ti­mized for night­time view­ing under dim, warm LED il­lu­mi­na­tion.

  • The Eclipse palette is al­most iden­ti­cal to the Dark palette, but op­ti­mized for the same brighter view­ing con­di­tions as the Light palette is. The most vis­i­ble dif­fer­ence is that the back­ground is darker as a re­sult of com­pen­sat­ing for in­creased view­ing flare (am­bi­ent light re­flected off the mon­i­tor sur­face).

For more information about how Lunaria was constructed and how you can incorporate it into your own work (such as themes for other IDEs or terminals), see https://lunaria.design. For the sources of this extension, see https://github.com/ifplusor/lunaria. And other ready-made Lunaria color themes, see https://github.com/dfoxfranke/lunaria.

Semantic Highlighting

Principles

  1. Font:

    • Bold: keywords
    • Italic: members
    • Underline: declaration
  2. Color:

    • emphFg: define function, define namespace
    • deEmphFg: comment, macro
    • Red: define type, return value, manage memory
    • Yellow: module
    • Green: string
    • Blue: keywords
    • Violet: type
    • Magenta: parameter

Screenshots

TBD