Commit graph

137 commits

Author SHA1 Message Date
Max Brunsfeld
d222904471 Add basic support for ruby
Co-authored-by: Kay Simmons <kay@zed.dev>
2022-11-03 15:52:33 -07:00
Max Brunsfeld
601ec40ddc Bump tree-sitter-rust for let-else, let-chains 2022-11-03 12:35:12 -07:00
Antonio Scandurra
19adfdf8bb Match progress token's prefix to detect disk-based diagnostic progress
The new version of rust-analyzer changed the disk-based diagnostic token
to `rust-analyzer/checkOnSave/0`. The trailing number could be different
from 0 when there are multiple Rust projects open using the same rust-analyzer
instance.

As such, with this commit we will perform a prefix match as opposed to a strict
equality check when detecting a disk-based diagnostics progress token.
2022-10-25 11:35:59 +02:00
Max Brunsfeld
6ecf870c66 Tweak SCREAMING_SNAKE_CASE regexes in highlight queries 2022-10-07 12:46:49 -07:00
Max Brunsfeld
95cb9ceac9 Collapse variant and type into the same color 2022-10-07 12:44:55 -07:00
Max Brunsfeld
fcf13b44fb CSS: color '#' the same as the rest of the color 2022-10-07 12:44:39 -07:00
Max Brunsfeld
070c4bc503 Add color for 'variable.special' and use it in highlight queries 2022-10-07 12:44:20 -07:00
Max Brunsfeld
d9fb8c90d8 Start work on toggling block comments for HTML 2022-10-04 17:27:03 -07:00
Max Brunsfeld
2b0794f5ae Restructure autoclosing to account for multi-language documents 2022-09-28 12:32:04 -07:00
Max Brunsfeld
67e188a015 Add Buffer::language_at, update MultiBuffer to use it
Co-authored-by: Julia Risley <floc@unpromptedtirade.com>
2022-09-28 12:32:04 -07:00
Max Brunsfeld
a2e57e8d71 Add basic syntax highlighting for CSS 2022-09-28 12:32:04 -07:00
Max Brunsfeld
21fb2b9bf1 Tweak HTML indents and highlights 2022-09-28 12:32:04 -07:00
Max Brunsfeld
e4f5e85c3c Add JavaScript language injection in HTML 2022-09-28 12:32:04 -07:00
Isaac Clayton
a48995c782 Basic html highlighting + lsp support 2022-09-28 12:32:04 -07:00
Antonio Scandurra
eb71ac9604 Download json-language-server as a zip instead of as a binary
It turns out that this lifts the code-signing limitation and lets
us run arbitrary executables.
2022-09-21 09:49:18 +02:00
Antonio Scandurra
a29d5dd693 Use a pre-packaged version of the JSON language server
This ensures users can still edit settings even if they don't have
Node or NPM installed.
2022-09-21 09:19:17 +02:00
Max Brunsfeld
d4bbf21650
Merge pull request #1559 from zed-industries/language-injection
Add language injection support
2022-08-30 11:54:00 -07:00
Max Brunsfeld
345b266dee Add missing rust highlights 2022-08-24 16:49:03 -07:00
Max Brunsfeld
d48380bc48 Fix pattern order in C++ highlight query
Later patterns take precedence in Zed, so function names were previously
being highlighted as variables due to the plain `identifier` pattern.
2022-08-24 16:37:28 -07:00
Max Brunsfeld
f96c19b81a Add injection queries for macro bodies in C and C++ 2022-08-24 16:37:14 -07:00
Max Brunsfeld
ced45cbb0a Use SyntaxMap in Buffer 2022-08-24 13:00:27 -07:00
Antonio Scandurra
72ccb52eb0 💄 2022-08-22 15:05:11 +02:00
Antonio Scandurra
92f0e4fd74 Don't auto-complete do...end
Implementing this properly is a bit finicky, and it's unclear this
is even expected, e.g. VS Code and Atom don't auto-complete do/end
for Ruby, although VS Code does auto-complete do/end for Elixir. We
can add it if it's something the Elixir folks want us to implement.
2022-08-22 14:57:44 +02:00
Antonio Scandurra
559dad893f Implement ElixirLspAdapter::label_for_symbol 2022-08-22 14:30:27 +02:00
Antonio Scandurra
cd62e60eba Implement ElixirLspAdapter::label_for_completion 2022-08-22 14:30:27 +02:00
Antonio Scandurra
107ea5d058 Start on Elixir LSP integration 2022-08-22 14:30:27 +02:00
Antonio Scandurra
15429efba9 Add outline support for Elixir 2022-08-22 14:30:27 +02:00
Antonio Scandurra
327aae3bf2 Start adding support for Elixir 2022-08-22 14:30:27 +02:00
Max Brunsfeld
f6a817a0f3 Start work on a SyntaxMap data structure 2022-08-21 11:37:10 -07:00
ForLoveOfCats
8ba2f77148 One big cleanup pass of clippy lints
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-10 16:51:01 -07:00
Max Brunsfeld
868c460620 🎨 Rename and simplify some autoindent stuff 2022-07-28 22:40:30 -07:00
Max Brunsfeld
fa5af4383d Introduce AutoindentMode parameter to Buffer::edit
This controls whether or not we preserve the relative indentation
of inserted text blocks.

Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
2022-07-28 14:03:31 -07:00
Max Brunsfeld
cdf6ae25bb Remove indent_size parameter from Buffer::edit_with_autoindent
Instead, compute the indent size by reading the settings inside that method.

Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
2022-07-28 13:00:05 -07:00
Max Brunsfeld
815ce22fb7 Revert "Merge pull request #1359 from zed-industries/plugin-json-enable"
This reverts commit 94b443a704, reversing
changes made to 285832e810.
2022-07-18 19:04:49 -07:00
Isaac Clayton
52e4774e8a Re-enable JSON plugin 2022-07-14 15:13:12 +02:00
Isaac Clayton
b3ac63b7b5 Remove triple-based suffix 2022-07-14 15:05:54 +02:00
Isaac Clayton
80b45ef93b Precompile plugins depending on target triple 2022-07-14 13:23:04 +02:00
Isaac Clayton
4a5b8fd2e6 Merge fuel-based metering 2022-07-14 08:13:47 +02:00
Max Brunsfeld
dddeb66e2a Temporarily remove JSON plugin + restore native JSON LspAdapter 2022-07-13 13:56:39 -07:00
Isaac Clayton
8bb8e851df Remove epoch-based metering 2022-07-13 18:03:14 +02:00
Isaac Clayton
562e22814f Remove .pre suffix use .epoch and .fuel instead 2022-07-13 17:08:43 +02:00
Isaac Clayton
3fb1cd0726 Fix issue where precompiled plugins were compiled with the wrong settings 2022-07-13 16:31:47 +02:00
Isaac Clayton
01a2d53638
Merge pull request #1327 from zed-industries/plugin-epoch
Configurable Plugin Yielding
2022-07-13 15:29:22 +02:00
Isaac Clayton
a6edf85078 Use enum to differentiate between normal and precompiled plugins 2022-07-13 14:26:52 +02:00
Isaac Clayton
8b376dd613 Fix resulting errors and introduce functional executor callback 2022-07-13 13:15:12 +02:00
Isaac Clayton
8974b0c490 Work on supporting both epoch and fuel 2022-07-13 12:41:47 +02:00
Isaac Clayton
10670dba70 Add support for configuring plugin yield mechanism, stashing 2022-07-13 11:57:00 +02:00
Isaac Clayton
d04c3388b4 Switch from epoch to fuel 2022-07-13 11:09:06 +02:00
Max Brunsfeld
2a478462b6 Fix association of 'json' lsp language id with JSON language 2022-07-12 15:43:59 -07:00
Isaac Clayton
7f11a32364 Implement periodic yielding using epoch_deadline_async_yield_and_update 2022-07-12 17:07:33 +02:00