Antonio Scandurra
ca225d0765
Make build_gitignore
async
2022-07-08 08:50:21 +02:00
Antonio Scandurra
52b8efca1b
Add integration test to exercise formatting via external command
2022-07-07 11:53:32 +02:00
Antonio Scandurra
c6254247c3
Allow providing an external format in format_on_save
setting
2022-07-07 11:04:03 +02:00
Antonio Scandurra
2c1906d710
Normalize line endings when parsing completions
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-07-06 19:32:45 +02:00
Max Brunsfeld
7e9beaf4bb
Strip carriage returns from all text in text::Buffer
...
* Moving the logic from Rope to text::Buffer makes it easier
to keep the Rope in sync with the fragment tree.
* Removing carriage return characters is lossier, but is much
simpler than incrementally maintaining the invariant that
there are no carriage returns followed by newlines. We may
want to do something smarter in the future.
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-07-05 17:25:09 -07:00
Max Brunsfeld
4aa19c1a7f
Select the last root when right-clicking below all project panel entries
2022-07-05 13:21:41 -07:00
Antonio Scandurra
eac76df0ac
Transmit new line ending when buffer is reloaded
2022-07-05 08:01:14 +02:00
Max Brunsfeld
c1b886b0ce
Normalize line endings consistently between fake and real FS
2022-07-04 13:00:12 -07:00
Max Brunsfeld
9804c683c0
Rename NewlineStyle -> LineEnding
2022-07-04 12:47:40 -07:00
Max Brunsfeld
0ba12eab22
Handle a file's line endings changing on disk
2022-07-04 12:30:28 -07:00
Max Brunsfeld
b0efa4f5c1
Move project tests into their own file
2022-07-04 12:00:15 -07:00
Antonio Scandurra
3480b50920
Detect buffer newline style and honor it when saving
2022-07-04 17:40:26 +02:00
Antonio Scandurra
d3b9eca791
Merge branch 'main' into user-timeline
2022-07-04 09:23:16 +02:00
Antonio Scandurra
0b2452f666
Merge pull request #1265 from zed-industries/worktree-performance
...
Fix problems that arise when large numbers of files change on disk
2022-07-04 09:19:18 +02:00
Antonio Scandurra
aca757a02d
Don't poll snapshot if processing events unless user manually changed fs
2022-07-04 08:10:31 +02:00
Antonio Scandurra
cf05738f68
Remove redundant calls to poll_snapshot
2022-07-01 14:40:39 +02:00
Antonio Scandurra
a42399bcf3
Grab latest snapshot when invoking LocalWorktree::poll_snapshot
2022-07-01 14:36:51 +02:00
Antonio Scandurra
833aa726d5
🎨
2022-07-01 14:11:21 +02:00
Keith Simmons
ebe733a393
Restart language server using original root path rather than the path of the buffer restarted from
2022-06-30 19:11:21 -07:00
Max Brunsfeld
8a105bf12f
WIP - try representing snapshots_to_send as a watch
2022-06-30 18:04:31 -07:00
Keith Simmons
832cc3dd19
Clear language server id for all worktrees when stopping a language server
2022-06-30 17:50:30 -07:00
Keith Simmons
6b50dda28a
Fix failing test due to change in stop_language_server function
2022-06-30 17:40:50 -07:00
Keith Simmons
38ca4aab31
add assertion to test_definition ensuring no new language servers are created
2022-06-30 17:24:32 -07:00
Keith Simmons
37b75132b7
Minor comment change
2022-06-30 17:18:28 -07:00
Keith Simmons
f495185a4e
add a comment explaining the three language server collections on project
2022-06-30 17:09:23 -07:00
Keith Simmons
5e7651e92e
Kill starting servers as well as currently running ones
2022-06-30 17:00:29 -07:00
Keith Simmons
db05e32389
Prevent creating extra language server instances if there already exists one for that workspace
2022-06-30 16:46:26 -07:00
Max Brunsfeld
5fdbc38f46
Don't update worktrees' snapshots in the middle of processing fs events
2022-06-30 15:46:31 -07:00
Max Brunsfeld
b81135e10b
Stop waiting for snapshot updates when disconnected from host
2022-06-30 15:07:40 -07:00
Antonio Scandurra
4ee8ee5a06
Ensure newer snapshots are always detected in wait_for_snapshot
2022-06-30 18:04:19 +02:00
Antonio Scandurra
484af8c7c4
Split worktree updates when a peer joins an already-shared project
2022-06-30 16:49:56 +02:00
Antonio Scandurra
845c79ee05
Respond to join project request before sharing project completes
...
This ensures the guest doesn't observe a huge delay when joining.
2022-06-30 14:29:06 +02:00
Antonio Scandurra
09bb3ddeb8
Split worktree updates and only send 256 entries at a time
2022-06-30 14:06:41 +02:00
Antonio Scandurra
5df0a6a425
Coalesce as many fs events as possible before processing them
2022-06-30 10:20:46 +02:00
Antonio Scandurra
b96962005e
Keep looking for a newer snapshot before broadcasting it
2022-06-30 09:54:14 +02:00
Max Brunsfeld
b5d862abfe
Only send one UpdateProject msg when changing project's online status
2022-06-29 17:58:02 -07:00
Antonio Scandurra
7bae759a02
Send extension counts when metadata changes
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-06-29 17:58:11 +02:00
Antonio Scandurra
d1cdacdf14
Skip ignored entries when recording worktree extensions
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-06-29 17:00:16 +02:00
Antonio Scandurra
639cd71a3b
Record worktree extensions every 5 minutes
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-06-29 16:58:19 +02:00
Antonio Scandurra
f9e0fec396
Maintain extension counts on local worktrees
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-06-29 16:38:24 +02:00
Antonio Scandurra
09f4262fd4
Don't share a project unless it's online and we're allowing a request
2022-06-29 15:16:55 +02:00
Antonio Scandurra
e3cfc7b3ce
Register project activity for offline projects as well
2022-06-29 14:55:04 +02:00
Max Brunsfeld
8fe6809932
Exclude hidden worktrees from project's diagnostic summaries
2022-06-28 14:23:24 -07:00
Max Brunsfeld
f05e94d0de
Allow diagnostics to be published for hidden worktrees
2022-06-28 13:31:04 -07:00
Antonio Scandurra
ca1d0a6e59
Ignore tokens that were not created via WorkDoneProgressCreate
...
With the new version of rust-analyzer, we were seeing stray `WorkDoneProgress::End`
messages that create an imbalance in the `pending_diagnostic_updates` that never
resolves. This was causing the diagnostic status bar item to never update because
we wouldn't emit `DiskBasedDiagnosticsStarted` nor `DiskBasedDiagnosticsFinished`.
This commit fixes the above situation by only acknowledging progress report for tokens
that have explicitly been created via the `WorkDoneProgressCreate` request, as stated
by the protocol.
In addition to that, we are replacing the `pending_diagnostic_updates: isize` with
a `has_pending_diagnostic_updates: bool`. We added it at some point to prevent a similar
issue where we would observe begin/end reports in a seemingly random order, which would cause
us to permanently display a `checking...` message in the status bar. I believe this commit
fixes that as well because the `isize` was just a less general solution for the same
underlying issue. As the protocol states: "the token provided in the create request should
only be used once (e.g. only one begin, many report and one end notification should be sent
to it)."
2022-06-28 10:08:43 +02:00
Keith Simmons
a477733bcb
Address hover panic and add hint to install go when language server failed to install
2022-06-27 15:48:15 -07:00
Keith Simmons
bc82d98ae5
Merge pull request #1237 from zed-industries/jump-to-definition
...
Mouse jump to definition
2022-06-27 15:20:07 -07:00
Antonio Scandurra
7bfd7093b1
Don't stop scanning directory if reading one of the children errors
2022-06-27 08:40:37 +02:00
Keith Simmons
92ab107fc9
working jump to definition with tests
2022-06-24 15:09:31 -07:00
Keith Simmons
848445455d
Working underline based on symbol origin
2022-06-24 15:05:35 -07:00