Commit Graph
11144 Commits
Author SHA1 Message Date
Nate Butler 599fa359a8 WIP syntax tokens 2023-06-08 15:12:11 -04:00
Max Brunsfeld 7018e5cff4 Enable type definition capability in fake LSPs in tests 2023-06-08 12:09:37 -07:00
Max Brunsfeld c2ff5825b1 Make the LSP log view searchable 2023-06-08 11:33:20 -07:00
Max Brunsfeld 51be482a57 Respect LSP goToTypeDefinition server capability 2023-06-08 11:33:09 -07:00
Nate Butler 45d1deb714 Export additional tokens, standardize naming convention 2023-06-08 12:21:51 -04:00
Max Brunsfeld 0b0f2fb1ec 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 23bacadfec Tweak LSP log menu styling 2023-06-08 08:58:57 -07:00
Max Brunsfeld 94e8749c2f Merge branch 'main' into lsp-log-messages 2023-06-08 08:49:08 -07:00
Max Brunsfeld ebe2492180 Style new lsp log menu, add a test for it 2023-06-08 08:43:25 -07:00
Nate Butler 8eb107d8e9 Build layer tokens for each theme 2023-06-08 11:15:59 -04:00
Nate Butler fca3f3cf6c 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 53307e8db8 Update buildLicenses to only include the theme url if there is one 2023-06-08 01:23:19 -04:00
Nate Butler b4136572b8 Update TSCondif
Based on #2558. Also fixes errors resulting from the stricter options.
2023-06-08 01:15:57 -04:00
Nate Butler d641e4df72 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 abc6e60006 Add foundation for exporting tokens 2023-06-08 00:37:00 -04:00
Nate Butler 1991de2231 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 1efb426a38 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 d27b60d298 Fixed ci 2023-06-07 16:58:55 -07:00
Mikayla Maki ef2c77a366 add scan_complete await 2023-06-07 16:51:54 -07:00
Max Brunsfeld 5603fbe39c Restructure LSP log view to show log messages in addition to RPC trace 2023-06-07 16:51:09 -07:00
Mikayla Maki eda11c055b add mroe dbg 2023-06-07 16:50:15 -07:00
Mikayla Maki 692d02a76b Fix warning 2023-06-07 16:45:36 -07:00
Mikayla Maki 5a4aac7af3 Attempting to debug on ci... 2023-06-07 16:44:13 -07:00
Mikayla Maki 4c6bfeef98 Add track caller 2023-06-07 16:39:10 -07:00
Mikayla MakiandMax 9a667e9c7b 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 59e1c210c6 Emit project event when a language server sends a logMessage notification 2023-06-07 14:46:08 -07:00
Mikayla Maki 2def300bb0 fmt 2023-06-07 14:20:01 -07:00
Mikayla Maki 17120701fc Feature gate import 2023-06-07 14:15:20 -07:00
Mikayla Maki e66ecae7ac fmt 2023-06-07 14:13:57 -07:00
Mikayla Maki 35ef109e8d Merge branch 'main' into stream-git-statuses 2023-06-07 14:12:58 -07:00
Mikayla Maki 7b7282fa47 Fix several randomized test failures with the new git status implementation 2023-06-07 14:10:17 -07:00
Max Brunsfeld 505538f761 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 d5ceff8d84 collab 0.13.1 2023-06-07 10:54:27 -07:00
Max Brunsfeld f1c1a2308c Bump tree-sitter-yaml submodule to avoid broken child submodule 2023-06-07 10:50:03 -07:00
Max Brunsfeld c861083f13 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 aa7626846a 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 7a8577d3f0 Organize misc files into theme, themes and styleTrees 2023-06-07 12:50:37 -04:00
Nate Butler aa1f7520bd Minor updates 2023-06-07 12:40:49 -04:00
Max Brunsfeld ede99b06de collab 0.13.0 2023-06-07 09:29:58 -07:00
Max Brunsfeld 43d24c5643 Disable scheduled randomized test workflow for now 2023-06-07 09:20:25 -07:00
Joseph Lyons cce901d369 v0.91.x dev 2023-06-07 11:57:41 -04:00
Piotr Osiewicz 107c6e64dc 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 ea1c0a8683 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 84f9aa6fc7 feat: use theme index to build licenses 2023-06-07 16:10:16 +01:00
Sergey Onufrienko 63e1991f08 feat: use theme index to build themes 2023-06-07 16:10:02 +01:00
Sergey Onufrienko 9efbbb4453 feat: re-export chroma 2023-06-07 16:09:24 +01:00
Sergey Onufrienko df6106a2ce feat: add themes index 2023-06-07 16:08:58 +01:00
Sergey Onufrienko 71577388ac feat: change themes to return ThemeConfig 2023-06-07 16:08:48 +01:00
Antonio Scandurra 5c29624e15 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 4e598f251c Fix assistant panel tests 2023-06-07 15:24:08 +02:00