Commit log

11dbbcc Respect LSP goToTypeDefinition server capability

Max Brunsfeld created

999b236 Export additional tokens, standardize naming convention

Nate Butler created

e3f3194 Enhance LSP log viewer to show server logs in addition to RPC trace (#2586)

Click to expand commit body
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

Max Brunsfeld created

908de23 Tweak LSP log menu styling

Max Brunsfeld created

afaff7f Merge branch 'main' into lsp-log-messages

Max Brunsfeld created

817644e Style new lsp log menu, add a test for it

Max Brunsfeld created

e2f46d5 Build layer tokens for each theme

Nate Butler created

16e3e04 Update TSConfig (#2589)

Click to expand commit body
Based on #2558. Also fixes errors resulting from the stricter options.

Release Notes:

- N/A (No public facing changes)

Nate Butler created

1e43fec Update buildLicenses to only include the theme url if there is one

Nate Butler created

e996a66 Update TSCondif

Click to expand commit body
Based on #2558. Also fixes errors resulting from the stricter options.

Nate Butler created

a75e9fa Add foundation for exporting tokens from our color schemes (#2588)

Click to expand commit body
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)

Nate Butler created

c8a9d73 Add foundation for exporting tokens

Nate Butler created

d4192fc Organize misc files into `theme`, `themes` and `styleTrees` (#2587)

Click to expand commit body
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)

Nate Butler created

8216d26 Switch to attaching git statuses to their associated entries (#2571)

Click to expand commit body
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

Mikayla Maki created

fc1f8c5 Fixed ci

Mikayla Maki created

8ca1a7d add scan_complete await

Mikayla Maki created

66f215c Restructure LSP log view to show log messages in addition to RPC trace

Max Brunsfeld created

9e9d8e3 add mroe dbg

Mikayla Maki created

9d58c45 Fix warning

Mikayla Maki created

5f143f6 Attempting to debug on ci...

Mikayla Maki created

572d403 Add track caller

Mikayla Maki created

2c5e83b Fixed a bug where buffer saved clocks would desynchronize in rare execution paths

Click to expand commit body
co-authored-by: Max <max@zed.dev>

Mikayla Maki and Max created

78f9642 Emit project event when a language server sends a logMessage notification

Max Brunsfeld created

cd63ec2 fmt

Mikayla Maki created

03a96d2 Feature gate import

Mikayla Maki created

0ac7a3b fmt

Mikayla Maki created

28ba27c Merge branch 'main' into stream-git-statuses

Mikayla Maki created

34e134f Fix several randomized test failures with the new git status implementation

Mikayla Maki created

351e486 Fix some issues found when testing Elixir-LS (#2583)

Click to expand commit body
Closes
https://linear.app/zed-industries/issue/Z-2209/popovers-dont-always-have-syntax-highlighted-code
Closes
https://linear.app/zed-industries/issue/Z-2206/highlight-syntax-in-hover-docs

* Fix a ton of errors in our logs due to us not recognizing that
`elixir-ls` does not support code actions.
* Syntax-highlight elixir code blocks in hover popovers

Max Brunsfeld created

11ab1a8 collab 0.13.1

Max Brunsfeld created

be8d268 Bump tree-sitter-yaml submodule to avoid broken child submodule

Max Brunsfeld created

72372dd Highlight hover code blocks as LSP's own language by default

Click to expand commit body
The elixir LSP does not include a language name on its elixir code blocks.

Max Brunsfeld created

86ec43c Update createColorScheme to accept ThemeConfig (#2557)

Click to expand commit body
- Added ThemeConfig
- Updated themes use ThemeConfig
- Refactoring
- Fixed TypeScript errors

Release Notes:
- N/A (No public facing changes)

Nate Butler created

29de420 Organize misc files into `theme`, `themes` and `styleTrees`

Nate Butler created

6269cec Minor updates

Nate Butler created

6067575 collab 0.13.0

Max Brunsfeld created

f56d642 Disable scheduled randomized test workflow for now

Max Brunsfeld created

8882b22 v0.91.x dev

Joseph Lyons created

e941294 Z 1618/extend comments (#2585)

Click to expand commit body
Fixes Z-1618. In the current state, this only works for line comments
such as `//` (and whatever's set in `{language}.toml` as a
line_comment).

Release Notes:

- Comments are now extended on new line.

Piotr Osiewicz created

b1f009c Merge branch 'main' into sergey/z-1768-update-createcolorscheme-to-accept-a-theme-in-the

Sergii Onufriienko created

4c405e6 feat: use theme index to build licenses

Sergey Onufrienko created

0ad76ac feat: use theme index to build themes

Sergey Onufrienko created

02c1efc feat: re-export chroma

Sergey Onufrienko created

f5d1f31 feat: add themes index

Sergey Onufrienko created

d2b8501 feat: change themes to return ThemeConfig

Sergey Onufrienko created

d5441ba Introduce an Assistant Panel (#2584)

Click to expand commit body
This pull request introduces a new assistant panel to Zed that lets
users interact with OpenAI using their API key:

![CleanShot 2023-06-07 at 09 39
10@2x](https://github.com/zed-industries/zed/assets/482957/ba2a5830-9aeb-4c45-a182-a44d6a72675f)

After setting the key up, it will be saved to the keychain and
automatically loaded the next time the assistant panel is opened. The
key can be reset using `assistant: reset key`.

![CleanShot 2023-06-07 at 09 39
23@2x](https://github.com/zed-industries/zed/assets/482957/a6808bb0-0098-45ae-a2e3-f4d88472e626)

From there, users can type messages in a multi-buffer and hit
`cmd-enter` (`assistant: assist`) to stream assistant responses using
the OpenAI API. Responses can be canceled by hitting `escape`.

![CleanShot 2023-06-07 at 09 40
16@2x](https://github.com/zed-industries/zed/assets/482957/749779da-850e-4ad5-af04-74a3ca39f7ad)

Users can quote a selection from the active editor by hitting `cmd->`
(`assistant: quote selection`), which will embed the selected piece of
text in a Markdown fenced code block. Conversations with the assistant
are ephemeral at the moment, but can be easily copy/pasted:

![CleanShot 2023-06-07 at 09 50
33@2x](https://github.com/zed-industries/zed/assets/482957/b3386c10-4c51-4419-a0e0-517112ef6521)

Release Notes:

- Added a new assistant panel feature that enables interacting with
OpenAI using an API key. This replaces the previous experimental `ai:
assist` command that would work on any buffer. The experience is similar
to the one offered by ChatGPT with the added ability to edit, delete or
enhance previous messages. When hitting `cmd-enter`, the assistant will
start streaming responses from OpenAI. A response stream can be canceled
using `escape`. Moreover, the active editor's selection can be quoted in
the assistant panel using `cmd->`, which will automatically embed the
selected piece of text in a Markdown fenced code block.

Antonio Scandurra created

d3e0d38 Fix assistant panel tests

Antonio Scandurra created

d26cc2c Maintain scroll bottom when streaming assistant responses

Antonio Scandurra created

43500db Fix zed tests

Antonio Scandurra created

0dae8f2 Merge remote-tracking branch 'origin/main' into assistant-2

Antonio Scandurra created