Commit Graph
319 Commits
Author SHA1 Message Date
Joseph T. Lyons d6ca0a1f24 Associate extensions with language 2023-08-15 16:33:02 -04:00
Joseph T. Lyons c523ccc4c7 Fix code that identifies language via extension 2023-08-08 21:35:11 -04:00
Max Brunsfeld 7288be4251 Make LspAdapter::process_diagnostics synchronous (#2829)
When editing rust code, the project diagnostics view sometimes fails to
update, so that you have to close the view and re-open it to see the
correct state.

This PR fixes one possible cause of that problem. There was an async
step in between *receiving* diagnostics from the language server and
updating the diagnostics, due to an async call to
`LspAdapter::process_diagnostics`. This could cause the following
sequence of events to happen:

1. Rust-analyzer sends us new diagnostics for a file `a.rs`
2. We call `process_diagnostics` with those diagnostics
3. Rust-analyzer sends us a `WorkDoneProgress` message, indicating that
the "flycheck" (aka `cargo check`) process has completed
4. We update the project diagnostics view due to this message.
5. The `process_diagnostics` call for `a.rs` completes
6. 💥 We have the new diagnostics for `a.rs`, but do not update the
project diagnostics view again.

This PR fixes this bug by simply making `process_diagnostics`
synchronous. There is no I/O or expensive computation happening in that
method. If we need to make it asynchronous in the future, we need to
introduce a queue that ensures that `publishDiagnostics` and
`workDoneProgress` messages are processed serially.

Release Notes:

- Fixed a bug where the project diagnostics view would sometimes fail to
update properly when using Rust-analyzer.
2023-08-07 14:31:49 -07:00
Joseph T. Lyons dbf25ea2ff Add syntax highlighting for Cargo.toml files 2023-08-07 17:24:22 -04:00
Max BrunsfeldandNathan 4e33654aba Make LspAdapter::process_diagnostics synchronous
Co-authored-by: Nathan <nathan@zed.dev>
2023-08-07 13:53:41 -07:00
Joseph T. Lyons ef5b982ea5 Fix bash path_suffixes and add line_comment 2023-08-06 02:20:31 -04:00
Max Brunsfeld 9e755bb855 Revert "Extract syntax highlighting properties from tree-sitter highlight queries (#2797)"
This reverts commit 45c635872b, reversing
changes made to f2b82369f2.
2023-08-02 12:15:39 -07:00
KCaverly 300c693d55 catchup with main 2023-08-01 10:40:38 -04:00
KCaverly 599f674827 add php support for semantic search 2023-07-31 16:36:09 -04:00
KCaverly ca4e21881e add ruby support for semantic search 2023-07-31 10:54:30 -04:00
KCaverly a5dd8dd0a9 add lua embedding query for semantic search 2023-07-31 10:02:28 -04:00
Mikayla Maki 1545128ec5 Add Nix language support (#2781)
This adds rudimentary language support for the Nix expression language,
through tree-sitter-nix.

I spent a little bit of time trying to add support for one of the Nix
language servers too, but wasn't able to get any of them running
reliably without crashing, and so I've opted to stick to just the
tree-sitter grammar for now.


![image](https://github.com/zed-industries/zed/assets/285821/c770f3d8-6fa0-4083-9bf3-239cc78ca307)
2023-07-27 18:35:52 -07:00
Nate Butler 86fa27eb54 Update uses of # to . in our scheme files where they are interchangeable.
uses of `#` cause ERRORs in our scheme highlighting
2023-07-27 12:41:19 -04:00
Nate Butler 85f193dd09 Extract syntax highlighting properties from tree-sitter highlight queries 2023-07-27 12:25:53 -04:00
KCaverly 0ac919f6e0 catchup with main 2023-07-26 09:50:38 -04:00
Mikayla Maki b5630eb901 Merge branch 'main' into quinn/nix 2023-07-25 11:34:57 -07:00
KCaverly c86096a886 update semantic index tests for javascript 2023-07-25 10:38:37 -04:00
Quinn Wilton e199a6a3a1 Highlight all Elm function calls 2023-07-24 10:55:15 -07:00
Quinn Wilton 3cc88904bf Add all Elm functions to the outline, including locals 2023-07-24 10:45:46 -07:00
Quinn Wilton 62ee52a5fc Highlight qualified Elm function calls 2023-07-24 10:45:15 -07:00
Quinn Wilton fbe0108959 Highlight Elm arrows as keywords 2023-07-24 10:44:56 -07:00
Mikayla Maki d95c4fdb2b Remove unbound highlight queries 2023-07-24 09:01:15 -07:00
Mikayla Maki ea74734b0a Touch up elm tree sitter integration 2023-07-24 08:52:51 -07:00
Quinn Wilton 6ad0852a70 Add outline.scm for Elm 2023-07-24 00:58:59 -07:00
Quinn Wilton dd504f5965 Add tree-sitter-glsl 2023-07-23 22:22:11 -07:00
Quinn Wilton a4914fcf3b Add tree-sitter-elm 2023-07-23 22:22:11 -07:00
Quinn Wilton fe388ed71e Add tree-sitter-nix 2023-07-23 17:24:50 -07:00
Nate Butler 5d22a300c3 Add the local and declare keywords to bash syntax highlighting 2023-07-20 13:18:15 -04:00
KCaverlyandmaxbrunsfeld efe973ebe2 add embedding query for json with nested arrays and strings
Co-authored-by: maxbrunsfeld <max@zed.dev>
2023-07-19 16:52:44 -04:00
KCaverlyandmaxbrunsfeld 9809ec3d70 update treesitter parsing to accomodate for collapsed nested functions
Co-authored-by: maxbrunsfeld <max@zed.dev>
2023-07-19 15:47:05 -04:00
Nate Butler fab26267db Merge branch 'main' into nate/add-bash-highlighting 2023-07-18 12:08:53 -04:00
KCaverly b9fdfd60f0 catch up with main 2023-07-18 10:26:28 -04:00
Piotr Osiewicz 7fde3614fe Remove leftover comment 2023-07-18 12:19:35 +02:00
KCaverly e630ff38c4 add embedding treesitter queries for elixir 2023-07-17 16:29:25 -04:00
KCaverly 1362c5a3d9 add embedding treesitter query for cpp 2023-07-17 14:43:29 -04:00
KCaverly 4bece54655 update jsx family of languages for preceeding comments and nested exports 2023-07-17 09:22:37 -04:00
Piotr Osiewicz ee9123a7da Remove test 2023-07-17 12:56:25 +02:00
Piotr Osiewicz 5b6582a7c2 rustfmt 2023-07-17 12:51:00 +02:00
Piotr Osiewicz 6c7a6d43fc Cargo fix 2023-07-17 12:38:35 +02:00
Piotr Osiewicz 94796e943b Set language id for PHP. LSP works! 2023-07-17 12:36:08 +02:00
Piotr Osiewicz 11173b2199 Merge branch 'main' into piotr/z-2588-php 2023-07-17 11:47:08 +02:00
Piotr Osiewicz dc557e1647 Add scaffolding of php language server 2023-07-17 11:43:32 +02:00
KCaverly 2dae42b1ba update embedding query for tsx to accomodate for leading comments 2023-07-14 14:25:08 -04:00
KCaverly d4971e9ead update typescript parsing to manage for leading tsdoc comments 2023-07-14 13:47:10 -04:00
Max Brunsfeld 21e7e35e73 Include newlines in between combined injection ranges on different lines 2023-07-14 09:25:56 -07:00
Max Brunsfeld 2e2333107a Find the layer with the smallest enclosing node in language_scope_at 2023-07-14 09:11:56 -07:00
KCaverly 3a625d15d3 update c embedding query for preceding comments 2023-07-14 11:33:49 -04:00
Mikayla Maki f1b034d4f8 fmt 2023-07-13 22:32:29 -07:00
Mikayla Maki ff8a89a075 Refine svelte queries to work with zed-style highlights
Bump scheme dependency:
2023-07-13 22:30:58 -07:00
Mikayla Maki 1424a7a56a Add svelte language server
Add svelte tree sitter
Add svelte config file
Add svelte highlighting
2023-07-13 21:43:53 -07:00