Commit Graph
9739 Commits
Author SHA1 Message Date
Max Brunsfeld a7f06f962b Enable type definition capability in fake LSPs in tests 2023-06-08 12:09:37 -07:00
Max Brunsfeld e0dd9e4185 Make the LSP log view searchable 2023-06-08 11:33:20 -07:00
Max Brunsfeld 11dbbcc9dd Respect LSP goToTypeDefinition server capability 2023-06-08 11:33:09 -07:00
Max Brunsfeld e3f319467a Enhance LSP log viewer to show server logs in addition to RPC trace (#2586)
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
2023-06-08 09:03:52 -07:00
Max Brunsfeld 908de23b72 Tweak LSP log menu styling 2023-06-08 08:58:57 -07:00
Max Brunsfeld afaff7f9a9 Merge branch 'main' into lsp-log-messages 2023-06-08 08:49:08 -07:00
Max Brunsfeld 817644eb20 Style new lsp log menu, add a test for it 2023-06-08 08:43:25 -07:00
Nate Butler 16e3e04501 Update TSConfig (#2589)
Based on #2558. Also fixes errors resulting from the stricter options.

Release Notes:

- N/A (No public facing changes)
2023-06-08 01:31:21 -04:00
Nate Butler 1e43fec1c5 Update buildLicenses to only include the theme url if there is one 2023-06-08 01:23:19 -04:00
Nate Butler e996a66596 Update TSCondif
Based on #2558. Also fixes errors resulting from the stricter options.
2023-06-08 01:15:57 -04:00
Nate Butler a75e9faa83 Add foundation for exporting tokens from our color schemes (#2588)
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)
2023-06-08 00:53:16 -04:00
Nate Butler c8a9d73ea6 Add foundation for exporting tokens 2023-06-08 00:37:00 -04:00
Nate Butler d4192fc3e9 Organize misc files into theme, themes and styleTrees (#2587)
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)
2023-06-07 22:47:48 -04:00
Mikayla Maki 8216d26a7a Switch to attaching git statuses to their associated entries (#2571)
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
2023-06-07 17:11:43 -07:00
Mikayla Maki fc1f8c5657 Fixed ci 2023-06-07 16:58:55 -07:00
Mikayla Maki 8ca1a7d43d add scan_complete await 2023-06-07 16:51:54 -07:00
Max Brunsfeld 66f215cd13 Restructure LSP log view to show log messages in addition to RPC trace 2023-06-07 16:51:09 -07:00
Mikayla Maki 9e9d8e3a7b add mroe dbg 2023-06-07 16:50:15 -07:00
Mikayla Maki 9d58c4526d Fix warning 2023-06-07 16:45:36 -07:00
Mikayla Maki 5f143f689f Attempting to debug on ci... 2023-06-07 16:44:13 -07:00
Mikayla Maki 572d40381a Add track caller 2023-06-07 16:39:10 -07:00
Mikayla MakiandMax 2c5e83bf72 Fixed a bug where buffer saved clocks would desynchronize in rare execution paths
co-authored-by: Max <max@zed.dev>
2023-06-07 16:10:45 -07:00
Max Brunsfeld 78f9642ac2 Emit project event when a language server sends a logMessage notification 2023-06-07 14:46:08 -07:00
Mikayla Maki cd63ec2c7f fmt 2023-06-07 14:20:01 -07:00
Mikayla Maki 03a96d2793 Feature gate import 2023-06-07 14:15:20 -07:00
Mikayla Maki 0ac7a3bc21 fmt 2023-06-07 14:13:57 -07:00
Mikayla Maki 28ba27c9c5 Merge branch 'main' into stream-git-statuses 2023-06-07 14:12:58 -07:00
Mikayla Maki 34e134fafb Fix several randomized test failures with the new git status implementation 2023-06-07 14:10:17 -07:00
Max Brunsfeld 351e4863cd Fix some issues found when testing Elixir-LS (#2583)
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
2023-06-07 12:21:48 -07:00
Max Brunsfeld 11ab1a8cc6 collab 0.13.1 2023-06-07 10:54:27 -07:00
Max Brunsfeld be8d268eb9 Bump tree-sitter-yaml submodule to avoid broken child submodule 2023-06-07 10:50:03 -07:00
Max Brunsfeld 72372ddf0e Highlight hover code blocks as LSP's own language by default
The elixir LSP does not include a language name on its elixir code blocks.
2023-06-07 10:01:19 -07:00
Nate Butler 86ec43c908 Update createColorScheme to accept ThemeConfig (#2557)
- Added ThemeConfig
- Updated themes use ThemeConfig
- Refactoring
- Fixed TypeScript errors

Release Notes:
- N/A (No public facing changes)
2023-06-07 12:57:34 -04:00
Nate Butler 29de420b59 Organize misc files into theme, themes and styleTrees 2023-06-07 12:50:37 -04:00
Nate Butler 6269cec4f1 Minor updates 2023-06-07 12:40:49 -04:00
Max Brunsfeld 6067575e38 collab 0.13.0 2023-06-07 09:29:58 -07:00
Max Brunsfeld f56d642b88 Disable scheduled randomized test workflow for now 2023-06-07 09:20:25 -07:00
Joseph Lyons 8882b22c9c v0.91.x dev 2023-06-07 11:57:41 -04:00
Piotr Osiewicz e94129446d Z 1618/extend comments (#2585)
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.
2023-06-07 17:37:02 +02:00
Sergii Onufriienko b1f009cdce Merge branch 'main' into sergey/z-1768-update-createcolorscheme-to-accept-a-theme-in-the 2023-06-07 16:12:13 +01:00
Sergey Onufrienko 4c405e65a3 feat: use theme index to build licenses 2023-06-07 16:10:16 +01:00
Sergey Onufrienko 0ad76ac92c feat: use theme index to build themes 2023-06-07 16:10:02 +01:00
Sergey Onufrienko 02c1efc60d feat: re-export chroma 2023-06-07 16:09:24 +01:00
Sergey Onufrienko f5d1f314e0 feat: add themes index 2023-06-07 16:08:58 +01:00
Sergey Onufrienko d2b8501347 feat: change themes to return ThemeConfig 2023-06-07 16:08:48 +01:00
Antonio Scandurra d5441ba386 Introduce an Assistant Panel (#2584)
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.
2023-06-07 16:05:57 +02:00
Antonio Scandurra d3e0d38bef Fix assistant panel tests 2023-06-07 15:24:08 +02:00
Antonio Scandurra d26cc2c897 Maintain scroll bottom when streaming assistant responses 2023-06-07 15:01:50 +02:00
Antonio Scandurra 43500dbf60 Fix zed tests 2023-06-07 10:02:35 +02:00
Antonio Scandurra 0dae8f2dd8 Merge remote-tracking branch 'origin/main' into assistant-2 2023-06-07 09:34:16 +02:00