Julia
7020050b06
Fix hover_popover.rs
after bad rebase
2023-10-09 14:28:53 -04:00
Max Brunsfeld
17925ed563
Remove unnecessary dependencies on client and rpc
2023-10-06 13:14:53 -07:00
Julia
8dca4c3f9a
Don't need editor style to parse markdown
2023-10-06 13:26:39 -04:00
Julia
a881b1f5fb
Wait for language to load when parsing markdown
2023-10-06 13:26:39 -04:00
Julia
b8876f2b17
Preparse documentation markdown when resolving completion
2023-10-06 13:26:38 -04:00
Julia
fe62423344
Asynchronously request completion documentation if not present
2023-10-06 13:26:38 -04:00
Julia
77ba25328c
Most of getting completion documentation resolved & cached MD parsing
2023-10-06 13:26:38 -04:00
Piotr Osiewicz
c46137e40d
chore: Upgrade to Rust 1.73 ( #3096 )
...
Release Notes:
- N/A
2023-10-06 14:50:29 +02:00
Conrad Irwin
ff1722d307
Fix tracking newly saved buffers
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-10-04 14:44:21 -06:00
Antonio Scandurra
64a55681e6
Summarize the contents of a file using the embedding query
2023-10-02 14:32:13 +02:00
Kirill Bulatov
5b0b2fe50b
Add a specific server id to a Copilot LSP
2023-09-19 12:32:05 +03:00
Julia
b0facf8e1e
Use unbounded channel(s) for LSP binary status messaging
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-09-12 13:45:36 -04:00
Max Brunsfeld
d370c72fbf
Start work on rejoining channel buffers
2023-09-01 16:52:12 -07:00
Max Brunsfeld
03f0365d4d
Remove local timestamps from CRDT operations
...
Use lamport timestamps for everything.
2023-08-31 16:23:06 -07:00
Julia
ff3865a4ad
Merge branch 'main' into multi-server-completions-tailwind
2023-08-30 22:58:37 -04:00
Julia
529adb95a1
Scope Tailwind in JS/TS to within string
...
In some situations outside JSX elements Tailwind will never
respond to a completion request, holding up the tsserver completions.
Only submit the request to Tailwind when we wouldn't get tsserver
completions anyway and don't submit to Tailwind when we know we won't
get Tailwind completions
Co-Authored-By: Kirill Bulatov <kirill@zed.dev>
2023-08-30 21:14:39 -04:00
Max Brunsfeld
46429426ef
Avoid accidental gpui transitive dependency in collab
...
* Make Fs depend on Text, not vise versa
Co-authored-by: Joseph <joseph@zed.dev>
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-30 13:16:01 -07:00
Julia
ded6decb29
Initial unstyled language server short name in completions
...
Co-Authored-By: Kirill Bulatov <kirill@zed.dev>
2023-08-28 11:27:45 -04:00
Antonio Scandurra
52e1e014ad
Allow redoing edits performed by inline assistant after cancelling it
2023-08-28 14:42:52 +02:00
Antonio Scandurra
44f554f489
Merge remote-tracking branch 'origin/main' into ai-refactoring
2023-08-28 12:16:24 +02:00
Piotr Osiewicz
07b9c6c302
language: Make Buffer::new take an explicit ID ( #2900 )
...
See Linear description for the full explanation of the issue. This PR is
mostly a mechanical change, except for the one case where we do pass in
an explicit `next_id` instead of `model_id` in project.rs.
Release Notes:
- Fixed a bug where some results were not reported in project search in
presence of unnamed buffers.
2023-08-28 11:51:50 +02:00
Julia
fc457d45f5
Add word_characters
to language overrides & use for more things
...
Use word_characters to feed completion trigger characters as well and
also recognize kebab as a potential sub-word splitter. This is fine for
non-kebab-case languages because we'd only ever attempt to split a word
with a kebab in it in language scopes which are kebab-cased
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-08-25 18:46:30 -04:00
Max Brunsfeld
f798be6e27
Fix rust 1.72 warnings about shadowed glob re-exports
2023-08-25 10:25:21 -07:00
Max Brunsfeld
404f76739c
Format let-else statements
2023-08-25 10:11:32 -07:00
Antonio Scandurra
27c90f12f6
Merge remote-tracking branch 'origin/main' into ai-refactoring
2023-08-25 13:37:32 +02:00
Antonio Scandurra
c1bd035875
Rework inline assistant
2023-08-25 11:39:27 +02:00
Max Brunsfeld
24141c2f16
Ensure collaborators cursor colors are the same in channel buffers as in projects
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-24 11:31:41 -07:00
Antonio Scandurra
71a5964c18
Rename merge_transaction_into
to merge_transactions
2023-08-24 14:26:42 +02:00
Max Brunsfeld
1d08f44e70
Snapshot channel notes buffers when everyone leaves
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-23 18:37:01 -07:00
Antonio Scandurra
e4f49746e1
Group modal assistant edits into the same transaction
...
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-08-23 17:09:15 +02:00
Julia
affb73d651
Only generate workspace/configuration for relevant adapter
2023-08-22 23:36:04 -04:00
Piotr Osiewicz
007d1b09ac
Z 2819 ( #2872 )
...
This PR adds new config option to language config called
`word_boundaries` that controls which characters should be recognised as
word boundary for a given language. This will improve our UX for
languages such as PHP and Tailwind.
Release Notes:
- Improved completions for PHP
[#1820 ](https://github.com/zed-industries/community/issues/1820 )
---------
Co-authored-by: Julia Risley <julia@zed.dev>
2023-08-22 12:23:30 +03:00
Piotr Osiewicz
d27cebd977
Z 2819 ( #2872 )
...
This PR adds new config option to language config called
`word_boundaries` that controls which characters should be recognised as
word boundary for a given language. This will improve our UX for
languages such as PHP and Tailwind.
Release Notes:
- Improved completions for PHP
[#1820 ](https://github.com/zed-industries/community/issues/1820 )
---------
Co-authored-by: Julia Risley <julia@zed.dev>
2023-08-22 10:35:20 +02:00
Max Brunsfeld
1c46749ad7
Fix regression in Buffer::language_scope_at
...
Co-authored-by: Julia <julia@zed.dev>
2023-08-18 12:58:09 -07:00
Max Brunsfeld
09fcacdfd1
Upgrade Tree-sitter for error recovery bug fix
2023-08-18 11:31:40 -07:00
Julia
40ce099780
Use originating language server to resolve additional completion edits
2023-08-15 16:34:15 -04:00
Joseph T. Lyons
c523ccc4c7
Fix code that identifies language via extension
2023-08-08 21:35:11 -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
Mikayla Maki
a829b5be01
fmt
2023-07-27 11:14:21 -07:00
Mikayla Maki
d835274306
Downgrade our dependency on treesitter-cpp
2023-07-27 11:11:24 -07:00
KCaverly
0ac919f6e0
catchup with main
2023-07-26 09:50:38 -04:00
Mikayla Maki
a9bfe97361
Add wrap guides and associated settings
2023-07-20 16:39:13 -07: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
KCaverly
b9fdfd60f0
catch up with main
2023-07-18 10:26:28 -04:00
Piotr Osiewicz
fa529d9590
Remove redundant debug impl
2023-07-18 12:21:00 +02:00
Piotr Osiewicz
dd6b674e7e
Remove dbg calls
2023-07-17 13:08:41 +02:00
Piotr Osiewicz
8642a1d074
Remove dbg! calls
2023-07-17 13:03:57 +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
Max Brunsfeld
31720d8825
Add randomized syntax map test with elixir within heex within elixir
2023-07-14 09:58:34 -07:00
Max Brunsfeld
21e7e35e73
Include newlines in between combined injection ranges on different lines
2023-07-14 09:25:56 -07:00
Max Brunsfeld
2f2ef7c165
Use workspace dependencies for tree-sitter grammars
2023-07-14 09:25:51 -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
5eab628580
Added go parsing for semantic search, and added preceeding comments on go and rust.
...
Co-authored-by: Alex <alexviscreanu@gmail.com>
Co-authored-by: maxbrunsfeld <max@zed.dev>
2023-07-13 14:33:31 -04:00
KCaverly
297fa029e3
Merge branch 'main' of github.com:zed-industries/zed into vector_store
2023-07-11 20:05:29 -04:00
KCaverly
dd0dbdc5bd
brought up to speed with main
2023-07-11 14:50:48 -04:00
Kirill Bulatov
efe8b8b6d0
Revert "Fix language servers improper restarts"
...
This reverts commit 91832c8cd8
.
2023-07-11 20:46:45 +03:00
Kirill Bulatov
748e7af5a2
Add a test
2023-07-11 17:10:34 +03:00
Kirill Bulatov
91832c8cd8
Fix language servers improper restarts
...
Language servers mixed `initialization_options` from hardcodes and user
settings, fix that to ensure we restart servers on their settings
changes only.
2023-07-11 16:36:20 +03:00
KCaverly
3f5667b101
merged main
2023-07-07 14:24:29 -04:00
Piotr Osiewicz
abf3b4a54e
chore: Replace lazy_static Mutex with const. ( #2693 )
...
Mutex::new() is const-stable as of Rust 1.63.
Release Notes:
- N/A
2023-07-07 15:07:12 +02:00
KCaverly
36907bb4dc
updated vector store indexing to only use languages with an embedding.scm treesitter query
...
Co-authored-by: maxbrunsfeld <max@zed.dev>
2023-06-30 16:14:11 -04:00
KCaverly
1d737e490b
Merge branch 'main' of github.com:zed-industries/zed into vector_store
2023-06-30 09:58:13 -04:00
Kirill Bulatov
0972766d1d
Add more hint tests
2023-06-29 22:39:18 +03:00
Kirill Bulatov
667b70afde
Move hint settings on the language level
2023-06-29 22:39:18 +03:00
Julia
48bed2ee03
Merge branch 'main' into fix-broken-lsp-installations
2023-06-28 16:46:06 -04:00
KCaverly
3ca3de807c
Merge branch 'main' of github.com:zed-industries/zed into vector_store
2023-06-28 14:42:24 -04:00
Max Brunsfeld
81c26cfea0
Fix bugs in handling combined injections exposed by HEEx
2023-06-27 15:08:26 -07:00
Julia
2a8d1343d6
Add installation test binaries for all remaining adapters
2023-06-26 11:54:20 -04:00
Julia
c4b83c86cc
Avoid validating/reinstalling server which refuses will_fetch/start
...
These adapters have indicated some broader reason to the user why
they cannot be started, don't waste time/bandwidth attempting to
validate and reinstall them
2023-06-24 22:42:06 -04:00
Julia
7caa096bd0
Remove installation test binary from language server instance
2023-06-23 13:24:50 -04:00
Julia
374c1a3a3e
Remove some status stuff
2023-06-23 00:17:27 -04:00
KCaverly
dd309070eb
open ai indexing on open for rust files
2023-06-22 16:50:07 -04:00
Julia
e15be61ded
The log-ification
2023-06-21 14:02:21 -04:00
Julia
f91e95f24a
Merge branch 'main' into fix-broken-lsp-installations
2023-06-20 17:23:34 -04:00
Nathan Sobo
03993ea719
Rename SumTree::push_tree to ::append ( #2626 )
...
This is something I've been meaning to rename in SumTree. Was looking at
the code and figure why not now.
2023-06-20 08:37:55 -06:00
Nathan Sobo
8c298a9da5
Rename SumTree::push_tree to ::append
2023-06-19 19:49:33 -06:00
Max Brunsfeld
1215de0c42
Show a notification when unable to start elixir-ls
2023-06-19 18:05:30 -07:00
Max Brunsfeld
57c2d85c66
Show a notification that gopls can't be installed without go
2023-06-19 18:05:12 -07:00
Max Brunsfeld
360bbebbd9
Introduce LspAdapterDelegate trait, passed to LspDelegates
2023-06-19 16:12:25 -07:00
Julia
da2ee55013
Route some more information for reinstall after startup failure
...
Doesn't actually reinstall on that particular failure due to wrong
variant in hashmap
2023-06-19 15:18:12 -04:00
Julia
abe5ecc5ec
Actually fully start reinstalled language server
2023-06-15 13:56:07 -04:00
Julia
f81ccbd652
Setup C adapter with test binary
2023-06-15 12:18:34 -04:00
Julia
4d24eae901
Actually check and reinstall broken server
2023-06-15 12:18:34 -04:00
Julia
bca625a197
Many steps toward validating and reinstalling server after failure
2023-06-15 12:18:34 -04:00
Julia
ec0409a3d1
Detect LSP startup failure
2023-06-15 12:18:34 -04:00
Piotr Osiewicz
b272db9e21
editor: Add language setting for comment continuations ( #2605 )
...
Per @JosephTLyons request I've added a language setting for comment
continuations.
Release Notes:
- Added a language setting for comment continuations.
2023-06-13 18:59:46 +02:00
Max Brunsfeld
01bd5c30fc
Fix syntax map bug with combined injections inside of other injections
2023-06-12 17:32:20 -07:00
Max Brunsfeld
ac1882b99b
Move SyntaxMap tests to their own file
2023-06-12 16:24:17 -07:00
Max Brunsfeld
56b749788f
Improve the look of the syntax tree view UI
2023-06-12 15:14:57 -07:00
Max Brunsfeld
086cfe57c5
Start work on a syntax tree view
2023-06-12 15:14:56 -07:00
Max Brunsfeld
4b9a3c66e6
Show function parameters in elixir outline view
...
Introduce a new capture in the outline query called 'context.extra', which
causes text to appear in the outline, but not in the breadcrumbs.
2023-06-06 16:27:05 -07:00
Max Brunsfeld
6737ee1495
Avoid panic when failing to load a language's queries
2023-06-06 16:06:16 -07:00
Max Brunsfeld
7bfb51ee76
Live-reload tree-sitter queries in development
2023-06-06 14:20:21 -07:00
Joseph Lyons
7c60f636d5
Fix typos
2023-06-02 22:02:19 -04:00
Max Brunsfeld
0d281c1b89
🎨
2023-05-31 15:13:01 -07:00
Max Brunsfeld
0dd7694ff5
Make language_settings take a language, not a language name
2023-05-31 15:10:30 -07:00
Max Brunsfeld
03a351fb26
Make language settings accessors take an arc dyn file
2023-05-31 14:57:04 -07:00
Max Brunsfeld
a2ab7c9eb9
Respect project-specific settings for copilot
2023-05-31 14:42:15 -07:00
Max Brunsfeld
89446c7fd4
Start work on respecting project-specific settings
2023-05-29 14:25:49 -07:00
Max Brunsfeld
2db57b5139
Adjust diagnostic transformation test to not wait for two buffer notifications
2023-05-26 15:47:37 -07:00
Julia
5e39ba596e
Clean up final remaining code paths calling old diff update method
2023-05-25 14:41:09 -04:00
Julia
8d662edb6c
Remove concept of git diff refresh from Item
trait
2023-05-25 14:29:28 -04:00
Julia
cede296b04
Project level git diff recalc handling
...
This avoids an issue where in a many-buffer multi-buffer, each modified
buffer could complete its recalc independently, causing a cascade of
repeated notifies
Now all recalcs started at the same time must complete before
A: Starting another recalc pass
B: The master notify occurring
Each buffer can still show its new diff if something else triggers it
to notify earlier, this is desirable and does not have the same negative
effects as the notify cascade as those re-layouts would need to happen
anyway
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-05-25 14:10:27 -04:00
Max Brunsfeld
54421b11f3
wip
2023-05-25 14:10:27 -04:00
Nathan Sobo
747322a02d
Merge remote-tracking branch 'origin/main' into zmd
2023-05-24 11:04:07 -06:00
Nathan Sobo
30de64845f
WIP
2023-05-22 23:11:27 -06:00
Max Brunsfeld
7689cdf3f9
Clear old diagnostics when restarting a language server
2023-05-22 12:53:22 -07:00
Max Brunsfeld
e129ed2d91
Fix spurious setting error log messages ( #2498 )
...
Fixes a bug introduced in
https://github.com/zed-industries/zed/pull/2448 , where error messages
would be logged if the user config didn't specify certain fields like
`journal` or `telemetry`.
2023-05-22 11:44:21 -07:00
Mikayla Maki
bbb68c523c
Refactored apart the forward and the backwards iterator for diff hunks
2023-05-19 18:09:47 -07:00
Max Brunsfeld
e32233c826
Fix spurious setting error logs on non-existent setting keys
2023-05-19 17:15:05 -07:00
Max Brunsfeld
847d1e73a3
Replace remaining usages of glob crate with globset
2023-05-19 09:36:46 -07:00
Julia
bd29812391
Avoid panic in get_injections
( #2486 )
2023-05-18 13:35:10 -04:00
Julia
5ab1ae1521
Avoid panic in get_injections
2023-05-18 12:23:49 -04:00
Max Brunsfeld
258723566f
Rename settings::register_setting -> settings::register
2023-05-17 15:06:11 -07:00
Max Brunsfeld
2d5f03e148
Remove optional path argument when getting settings
2023-05-17 15:05:20 -07:00
Max Brunsfeld
67a25126d4
Define theme/ui text style settings in theme crate
2023-05-17 14:44:59 -07:00
Max Brunsfeld
d2ba18eae9
Customize language settings JSON schema in language crate
2023-05-17 09:26:36 -07:00
Max Brunsfeld
39618ae32d
Define language settings in the language crate
2023-05-16 17:29:53 -07:00
Max Brunsfeld
4f8607039c
Add is_tab field to chunks
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2023-05-08 19:36:51 +03:00
Kirill Bulatov
6cb0bc89d2
Remove unused dependencies
2023-05-07 21:07:55 +03:00
Julia
1883e260ce
Offload text::Buffer
construction to background worker
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-05-04 12:32:31 -04:00
Julia
3f7533a0b4
Show source of diagnostic hovers
2023-04-27 14:35:34 -04:00
Max Brunsfeld
ebbe52e6b0
🎨 Specify more dependencies at the workspace level
2023-04-24 17:41:55 -07:00
Max Brunsfeld
abdccf7393
Use a workspace dependency for the futures crate
2023-04-24 09:43:31 -07:00
Max Brunsfeld
32c57bcd22
Store buffer's diagnostic sets in a smallvec
2023-04-20 08:58:41 -07:00
Max Brunsfeld
0ebe44bfd5
Handle multiple language servers for a given path in project diagnostics view
2023-04-20 08:58:41 -07:00
Max Brunsfeld
4dd917c123
Introduce a LanguageServerId wrapper type
...
Clarify the meaning of all the usizes in use in all of these
struct fields an method signatures.
2023-04-20 08:58:41 -07:00
Julia
9e2949e7ba
Refactor language server startup
...
Avoid parallel vecs
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-20 08:58:41 -07:00
Julia
df94aee758
Fix failing tests
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-20 08:58:41 -07:00
Julia
6156dbced0
Finish getting multiple diagnostics sources building and running
2023-04-20 08:58:41 -07:00
Julia
bb4de47b15
Start getting diagnostics sets to work with multiple servers
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-20 08:58:41 -07:00
Julia
ba7233f265
Incomplete refactor to allow for multiple adapters per language
2023-04-20 08:58:39 -07:00
Antonio Scandurra
34bcf6f072
Reopen file in Copilot language server when language or URI changes
2023-04-20 09:34:20 +02:00
Max Brunsfeld
5934e882b8
Merge pull request #2379 from zed-industries/shebang
...
Select language based on a file's first content line in addition to its path
2023-04-18 17:31:19 -07:00
Max Brunsfeld
bd7d50f339
Fix 'invalid insertion' panic when following
...
Wait for the necessary buffer operations to arrive before attempting to
set selections and scroll top.
2023-04-18 16:13:18 -07:00
Max Brunsfeld
1dcd4717b1
Select language based on a file's first content line in addition to its path
2023-04-16 12:28:27 -07:00
Max Brunsfeld
25e3c4e586
Fix leak when project is unshared while LSP handler waits for edits
2023-04-10 17:03:58 -07:00
Nathan Sobo
de9bf6dfbd
Merge MutableAppContext into AppContext
...
There may have been a good reason for the difference at some point, or I was
still learning Rust. But now it's just &mut AppContext vs &AppContext.
2023-04-06 15:49:03 -06:00
Mikayla Maki
81411b9114
Merge branch 'main' into copilot
2023-03-30 16:57:18 -07:00
Julia
cdde523ea4
Allow each language adapter to provide their own code action kinds array
2023-03-30 15:41:54 -04:00
Mikayla Maki
ae3b3ea458
Merge branch 'main' into copilot
2023-03-29 16:57:38 -07:00
Antonio Scandurra
a64296938d
Delete unused code
2023-03-29 09:04:13 +02:00
Antonio Scandurra
5471217089
Use the same serde version across the entire workspace
2023-03-28 09:42:00 -07:00
Mikayla Maki
455cdc8b37
Add copilot crate
...
Refactor HTTP and github release downloading into util
Lazily download / upgrade the copilot LSP from Zed
Co-authored-by: Max <max@zed.dev>
Co-Authored-By: Antonio <antonio@zed.dev>
2023-03-28 09:41:59 -07:00
Julia
d4560fe321
Prevent deadlock when multiple languages attempt to install Node at once
2023-03-28 10:18:22 -04:00
Julia
df4380b066
Download aarch64 or x64 Node binary according to system architecture
2023-03-27 11:05:17 -04:00
Julia
c72d33e029
Initial impl of NodeRuntime
w/JSON borked and a deadlock :)
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-03-27 00:00:16 -04:00
Julia
1a2e509e35
Remove server_args
from LspAdapter
...
Prepare to remove concept of a runtime from greater server startup code,
which is important for future language server extensibility
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-03-27 00:00:16 -04:00
Julia
edd6c85af7
Initial running of servers on downloaded Node
2023-03-27 00:00:16 -04:00
Julia
b579211861
Report if language server requires Node or not
2023-03-27 00:00:16 -04:00
Nathan Sobo
195215f1e0
Add "editor: copy highlight json" command
...
Nate needs this to feed to Figma for highlighted code in designs.
2023-03-24 16:37:57 -06:00
Max Brunsfeld
361b7c3a0c
Clear auto-indent requests when replacing a buffer's entire text
2023-03-22 15:10:16 -07:00
Max Brunsfeld
5da2b123b5
Allow refreshing worktree entries while the initial scan is in-progress
2023-03-21 15:15:12 -07:00
Max Brunsfeld
cbeb6e692d
Move postage crate version specification to workspace Cargo.toml
2023-03-21 11:26:13 -07:00
Antonio Scandurra
1af8f4be19
Deserialize Theme
directly into the heap to avoid stack overflow
...
Co-Authored-By: Julia Risley <julia@zed.dev>
2023-03-17 15:58:52 +01:00
Julia
757f05042d
Fix deadlock while initializing JSON language server
...
As it turns out both parking-lot and std's `RwLock` disallows taking
multiple read locks on the same thread
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-03-16 17:32:51 -04:00
Antonio Scandurra
88e664bfd9
Add test for language registration and loading
2023-03-16 10:46:55 +01:00
Antonio Scandurra
4d52fc0d12
Remove available language only when it has loaded
...
This also ensures that, if you load the same language more than once,
a future that resolves to the language (or an error) is returned at
all times. Previously, we would only return it the first time the language
was loaded.
2023-03-16 10:46:55 +01:00
Antonio Scandurra
a8ac08f5bd
Coalesce multiple RwLock
s into one LanguageRegistryState
struct
2023-03-16 10:46:55 +01:00
Antonio Scandurra
e30ea43a14
Include loaded languages when computing lsp workspace configuration
2023-03-16 10:46:55 +01:00
Antonio Scandurra
60d3fb48e2
Start computing workspace configuration more dynamically
2023-03-16 10:46:55 +01:00
Joseph Lyons
3c7237e600
Sort language names case agnostically
2023-03-14 21:45:17 -04:00
Antonio Scandurra
7a600e7a65
Allow waiting for language to be loaded in LanguageRegistry
APIs
2023-03-10 12:17:47 +01:00
Antonio Scandurra
a00ce3f286
Add randomized test to remove active selections from buffer
2023-03-09 07:47:05 +01:00
Antonio Scandurra
a435dc1339
Clear selections on buffer only if they hadn't been cleared already
2023-03-08 17:04:01 +01:00
Max Brunsfeld
124aa74b03
Merge pull request #2234 from zed-industries/error-on-combined-injections-in-injections
...
Fix range relativization when combined injections occur inside of other injections
2023-03-03 11:58:13 -08:00
Max Brunsfeld
a366ba19af
Fix range relativization when combined injections occur inside of other injections
...
For example, ERB template inside of a markdown code block
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2023-03-01 14:38:35 -08:00
Max Brunsfeld
70cb2fa8d7
Apply external command formatting if buffer has changed while computing it
2023-03-01 10:17:04 -08:00
Max Brunsfeld
1deff43639
Avoid calling edits_since in apply_diff
2023-02-28 21:52:00 -08:00
Max Brunsfeld
a890b8f3b7
Add a setting for ensuring a single final newline on save
2023-02-28 21:52:00 -08:00
Max Brunsfeld
7faa0da5c7
Avoid finalizing transactions inside Buffer::apply_diff
2023-02-28 21:52:00 -08:00
Max Brunsfeld
ff85bc6d42
Add setting for removing trailing whitespace on save
2023-02-28 21:52:00 -08:00
Max Brunsfeld
b00e467ede
Add APIs for stripping trailing whitespace from a buffer
2023-02-28 21:52:00 -08:00
Max Brunsfeld
a11165ad0a
Add unit test for auto-closing quotation marks with overrides
2023-02-20 13:46:17 -08:00
Max Brunsfeld
8be844a13f
Add test that loads all bundled languages
2023-02-20 10:53:37 -08:00
Max Brunsfeld
8922156923
Restructure how bracket pairs are overridden to unify lists
...
This way, a bracket pair that is disabled in a given scope can still be skipped, if
it was auto-closed before that scope existed.
2023-02-20 10:53:37 -08:00
Max Brunsfeld
2982a98d1c
Merge pull request #2187 from zed-industries/save-untitled-buffer-bugs
...
Fix newly-discovered bugs in saving untitled buffers
2023-02-20 10:05:58 -08:00
Max Brunsfeld
56b7eb6b6f
Only send UpdateBufferFile messages for buffers whose files have changed
...
Send that message when saving a buffer as a new path.
2023-02-20 09:41:59 -08:00
Kay Simmons
ac3e8f61ef
Merge pull request #2186 from zed-industries/better-vim-matching-motion
...
Better vim matching motion
2023-02-17 22:10:28 -08:00
Kay Simmons
fc811d14b1
Fix failing test
2023-02-17 22:00:39 -08:00
Max Brunsfeld
3a7cfc3901
Move the save and save_as code paths close together
2023-02-17 17:21:48 -08:00
Kay Simmons
5e4d113308
fix bracket ranges failing test
2023-02-17 17:19:23 -08:00
Kay Simmons
57a7ff9a6f
fix vim percent motion to better match the docs and observed behavior
2023-02-17 14:55:19 -08:00
Max Brunsfeld
eebce28b32
Respect UpdateBufferFile messages on guest buffers without file
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2023-02-17 12:38:04 -08:00
Max Brunsfeld
98b51634c4
Merge pull request #2182 from zed-industries/faster-injections
...
Fix syntax-related performance problems on gigantic files
2023-02-16 12:52:13 -08:00
Kay Simmons
eac33d732e
wip
2023-02-16 12:23:45 -08:00
Kay Simmons
0ba051a754
use more predictable rules for selecting which bracket to jump to and where
2023-02-15 14:04:16 -08:00
Antonio Scandurra
6703264600
Limit BufferSnapshot::chunks
to the outline item range
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-02-13 19:57:15 +01:00
Max Brunsfeld
ddf4e1a316
Load languages lazily in the background
2023-01-25 17:47:46 -08:00
Max Brunsfeld
678ee26c5e
Merge branch 'main' into markdown-fenced-blocks
2023-01-24 14:13:50 -08:00
Antonio Scandurra
dff08d3cfe
Merge branch 'main' into markdown-fenced-blocks
2023-01-24 15:43:35 +01:00
Antonio Scandurra
c48e3f3d05
Reparse unknown injection ranges in buffer when adding a new language
2023-01-24 15:29:59 +01:00
Antonio Scandurra
f3509824e8
WIP: Start on SyntaxMapSnapshot::unknown_injection_languages
2023-01-24 12:55:49 +01:00
Antonio Scandurra
14c72cac58
Store syntax layers even if a language for the injection can't be found
2023-01-24 12:25:12 +01:00
Nathan Sobo
96ffe84edb
Document Buffer::reparse
2023-01-23 21:51:10 -07:00
Mikayla Maki
d060114f00
Added complete scripts for generating third party license files
2023-01-23 12:47:12 -08:00
Antonio Scandurra
8dabdd1baa
Ensure injection layer is recomputed when language changes
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-01-23 19:02:06 +01:00
Antonio Scandurra
79cf6fb8b6
WIP: Add test for dynamic language injection
2023-01-23 09:45:36 +01:00