Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mitchmedeiros/midnight-xenon

A minimalistic VS Code theme with consistent syntax highlighting inspired by Dark Modern.
https://github.com/mitchmedeiros/midnight-xenon

Last synced: 12 days ago
JSON representation

A minimalistic VS Code theme with consistent syntax highlighting inspired by Dark Modern.

Awesome Lists containing this project

README

        

Midnight Xenon Theme

Maintains similar syntax highlighting as the default Dark Modern and Dark+ themes while:


  • Improving the cross-language consistency of syntax highlighting with semantic highlighting enabled

  • Reducing the sharing of colors between distinctly different code elements

  • Providing a more minimalistic UI with blue rather than brown undertones

Theme Example Photos

**Minimal UI:**

**Full UI:**

Syntax Highlighting

In order to have consistent cross-language syntax highlighting, it is necessary to declare the language server (LSP) extension used for each programming language. This is because different LSPs tokenize and assign scope names to text differently. This theme was created using the most popular LSPs for each language:

- Python - Pylance

- Java - Language Support for Java

- Scala - Metals


Other Customized File Types

- Jupyter Notebooks
- Markdown
- HTML
- JSON
- XML
- YAML
- .env - DotENV recommended for full highlighting
- .ini
- .toml
- .log
- .gradle - extension such as DotENV needed for full highlighting

Syntax Color Palette

| Scope | Color | HEX |
| -------------------- | -------------------------------------------------- | --------- |
| Class | ![#30E5BE](https://fakeimg.pl/35/30E5BE/?text=+) | #30E5BE |
| Method/Function | ![#FFFFA8](https://fakeimg.pl/35/FFFFA8/?text=+) | #FFFFA8 |
| Variable | ![#88D5FF](https://fakeimg.pl/35/88D5FF/?text=+) | #88D5FF |
| Primitive/Constant | ![#AEFF7F](https://fakeimg.pl/35/AEFF7F/?text=+) | #AEFF7F |
| Library/Module | ![#8F97FF](https://fakeimg.pl/35/8F97FF/?text=+) | #8F97FF |
| Flow/Import Keywords | ![#C586C0](https://fakeimg.pl/35/C586C0/?text=+) | #C586C0 |
| Definition Keywords | ![#22ADF8](https://fakeimg.pl/35/22ADF8/?text=+) | #22ADF8 |
| Logic Keywords | ![#22ADF8](https://fakeimg.pl/35/22ADF8/?text=+) | #22ADF8 |
| This/Self | ![#B9CEDA](https://fakeimg.pl/35/B9CEDA/?text=+) | #B9CEDA |
| Number | ![#B5CEA8](https://fakeimg.pl/35/B5CEA8/?text=+) | #B5CEA8 |
| String | ![#EEBC70](https://fakeimg.pl/35/EEBC70/?text=+) | #EEBC70 |
| Comment | ![#60737D](https://fakeimg.pl/35/60737D/?text=+) | #60737D |
| Operator/Punctuation | ![#D4D4D4](https://fakeimg.pl/35/D4D4D4/?text=+) | #D4D4D4 |

Highlighting Differences to Dark Modern/Dark+

- Imported libraries and modules receive a unique color rather than sharing the same color as classes
- Primitive types have a unique color to differentiate them from wrapper class objects
- Multiple colors are slightly more vibrant
- Comments are much more muted

To-do

Add consistent highlighting for:

- CSS
- SQL
- C
- C++
- JavaScript
- TypeScript
- Go
- Lua

Credits

`test.md` and `.env` forked from uloco/syntax-highlighting-samples for testing syntax highlighting.