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
Antonio Scandurra
cb610f37f2
WIP: Search language injections also by file extension
...
There are still a few things left:
1. Add test to verify we can successfully locate a language by its extension
2. Add test to reproduce bug where changing the fenced code block language
won't reparse the block with the new language
3. Reparse injections for which we couldn't find a language when the language
registry changes.
4. Check why the markdown grammar considers the trailing triple backtick as
`(code_block_content)`, as opposed to being part of the outer markdown.
2023-01-23 08:56:41 +01:00
Antonio Scandurra
36e4dcef16
Avoid allocating a string to compare language names
2023-01-23 08:56:41 +01:00
Antonio Scandurra
c49dc8d6e5
Rename LanguageRegistry::get_language
to language_for_name
2023-01-23 08:56:41 +01:00
Max Brunsfeld
56080771e6
Add test for avoiding indent adjustment inside newly-created errors
2023-01-20 17:02:38 -08:00
Max Brunsfeld
f7ceebfce3
Avoid adjusting indentation of lines inside newly-created errors
2023-01-20 15:56:45 -08:00
Max Brunsfeld
8dcef46842
Drop 'override.' prefix from capture names in override query
...
Co-authored-by: Julia Risley <julia@zed.dev>
2023-01-20 10:44:33 -08:00