Commit graph

320 commits

Author SHA1 Message Date
Piotr Osiewicz
00caad2f17 ..and use it in PHP language config 2023-08-21 17:41:05 +02:00
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 Brunsfeld
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
KCaverly
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
KCaverly
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