This PR adds the ability to export tokens for each theme.
You can export tokens by:
1. `cd styles`
2. `npm run build-tokens`
3. Tokens will be output in the target folder (`styles/target`)
The tokens match the ColorScheme object. In the future we may also
export tokens for our styleTrees.
Release Notes:
- N/A (No public facing changes)
---
TODO:
- [x] Generate Token Studio theme index file
- [x] ColorScheme
- [x] name:
- [x] isLight
- [x] lowest
- [x] middle
- [x] highest
- [x] popoverShadow
- [x] modalShadow
- [x] players
- [x] syntax
Also, I noticed errors in the logs of the Elixir LSP that we were
sending `goToTypeDefinition` requests, which that server does not
support. We now respect that server capability.
Release Notes:
- N/A
In debugging what's going on with the Elixir language server, there was
some interesting content in the server's logs (sent to the app via the
`window/logMessage` LSP endpoint). I decided to invest in making
language server issues easier to debug by exposing these `logMessage`
contents in the app.
Also, improve the UI of the view slightly:
* Select one of the servers by default (instead of "no server selected")
* Make it clearer that the menu is clickable
We removed our Figma Tokens/Tokens Studio export a while back when we
moved to the theme to ColorSchemes. I'd like to get back to exporting
these so we can be working from up to date themes in Figma, especially
with the large amount of UI design work we'll be doing in the next few
weeks on channels.
This PR adds some basic plumbing to start working through the
theme/colorScheme and export the parts as tokens.
I also discovered that Tokens Studio now publishes their types, so we
can use them directly rather than writing our own:
https://github.com/tokens-studio/types
Pulled those in and started connecting them as well.
Running `npm run build-tokens` will export the tokens for each theme to
`styles/target/tokens`.
Currently only a few element's tokens are exported, will expand this
further as time permits.
Release Notes:
- N/A (No public facing changes)
We've accumulated a number of miscellaneous folders in the styles
folder. Simplifying these down to `theme`, `themes` and `styleTrees`.
Release Notes:
- N/A (No public facing changes)
This rewrites and simplifies the git status system by attaching the git
status to each individual entry. This also improves the git testing
infrastructure to cover more cases and be more accurate to how file
events actually occur. This also fixes several other bugs in the worktree and the buffer, and stops any randomly generated actions from happening inside a `.git` folder. Hopefully, we can undo this change soon once our randomized testing is more robust.
Release Notes:
- Will require a DB migration
TODO:
- [x] Pass randomized tests
- [x] Get ready for merging