Mikayla Maki
092284b062
Fully functional background colors :D
2022-06-30 19:21:42 -07: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
Max Brunsfeld
c5351a1276
Ensure that usernames, user ids, and client ids match in random collaboration test
...
This makes the logs easier to interpret
2022-06-30 14:51:22 -07:00
Keith Simmons
66486870aa
Fix vim editor focus selection issues, cancel vim operators on escape and unbound keys
2022-06-30 12:36:02 -07:00
Mikayla Maki
2ee57c1512
Merge pull request #1255 from zed-industries/terminal-fr
...
WIP: Terminal
2022-06-30 11:30:28 -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
Mikayla Maki
06107afdd4
Added background colors and matched the cursor color
2022-06-29 18:50:08 -07:00
Mikayla Maki
5bc0acd88c
Directly qualified function makes cargo happy
2022-06-29 18:34:02 -07:00
Mikayla Maki
ab5247c62e
Actually correctly flag tests
2022-06-29 18:31:52 -07:00
Mikayla Maki
75a4556244
Fixed unused import
2022-06-29 18:29:36 -07:00
Mikayla Maki
cde11fe4e7
Support for all 24 bits of colors
2022-06-29 18:27:27 -07:00
Max Brunsfeld
336d69fc61
Update contacts panel test to reflect new RPC message flow
2022-06-29 17:58:18 -07:00
Max Brunsfeld
b5d862abfe
Only send one UpdateProject msg when changing project's online status
2022-06-29 17:58:02 -07:00
Max Brunsfeld
ae61a24ad3
Show LSP status and auto update status in one status bar indicator
2022-06-29 16:54:01 -07:00
Mikayla Maki
1c038b81ab
Finished current working directory stuff
2022-06-29 16:22:05 -07:00
Max Brunsfeld
87124b959d
Merge pull request #1257 from zed-industries/vscode-pane-bindings
...
Adjust pane, tab, panel management bindings to match VS Code
2022-06-29 15:49:25 -07:00
Max Brunsfeld
67414deb82
Add split actions to the application menu
2022-06-29 15:40:32 -07:00
Max Brunsfeld
581c9af395
Adjust pane, tab, panel management bindings to match VS Code
2022-06-29 15:33:46 -07:00
Mikayla Maki
bc728c160d
Properly fixed the issues with the grid :D
2022-06-29 13:19:25 -07:00
Mikayla Maki
93dfc63f1c
Added a test with max, cludged a fix for resizing
2022-06-29 13:07:44 -07:00
Keith Simmons
c9d23dba6c
Update command palette filter from vim mode more proactively
2022-06-29 11:58:12 -07:00
Mikayla Maki
ff44ddc077
Fixed warnings 😓
2022-06-29 09:38:02 -07:00
Antonio Scandurra
5eaa45363d
Order by total duration in Db::get_top_users_activity_summary
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-06-29 18:28:43 +02: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
Antonio Scandurra
a52de770b1
Increase coalesce threshold in Db::get_user_activity_timeline
2022-06-29 14:26:02 +02:00
Mikayla Maki
db95c0d0e1
Removed dead clear code
2022-06-28 18:45:26 -07:00
Mikayla Maki
e3834409dd
Fixed focus issues with scrolling and input
2022-06-28 18:28:13 -07:00
Mikayla Maki
38ed70d5cc
Added theme support
2022-06-28 17:07:18 -07:00
Mikayla Maki
f28fb5797f
Fixed scrolling and cursor location
2022-06-28 15:45:27 -07:00
Mikayla Maki
24d671ed3f
First bits of polish
2022-06-28 15:45:27 -07:00
Mikayla Maki
2b1fa07e89
Working on selection
2022-06-28 15:45:27 -07:00
Mikayla Maki
9e55c60b6a
working on selection and scrolling in terminals
2022-06-28 15:45:27 -07:00
Mikayla Maki
f58a15bbb1
Removed final stuff from theme.rs
2022-06-28 15:45:27 -07:00
Mikayla Maki
31bc758f35
Forgot to commit last night
2022-06-28 15:45:27 -07:00
Mikayla Maki
b36bf0c56d
Finally on solid conceptual ground, able to move ahead confidently with Alacritty code
2022-06-28 15:45:27 -07:00
Max Brunsfeld
14d7375149
Add rest API for user activity timeline
2022-06-28 15:40:48 -07:00
Max Brunsfeld
1d10e45282
🎨 Tweak some names dealing with user activity
...
* Rename `project_activity_summary` to `top_users_activity_summary`
to make clearer the distinction between it and the per-user summary.
* Rename `user_activity_summary` to `user_activity_timeline`, since
its output is structured a bit differently than the courser-grained
"summary" returned by the top-user query.
* Rename `ActivityDuration` -> `ActivityPeriod`
2022-06-28 15:37:56 -07:00
Antonio Scandurra
5cc5e15f4d
Implement Db::summarize_user_activity
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-06-28 15:11:34 -07:00
Max Brunsfeld
806da0e9ba
0.42.0
2022-06-28 14:33:19 -07:00
Keith Simmons
26215a0d6e
Merge pull request #1254 from zed-industries/command-palette-filter
...
Command palette filter
2022-06-28 14:31:21 -07:00
Max Brunsfeld
fc3ec6966b
Merge pull request #1235 from zed-industries/diagnostics-in-hidden-worktrees
...
Allow diagnostics to be published for hidden worktrees
2022-06-28 14:29:41 -07:00
Max Brunsfeld
8fe6809932
Exclude hidden worktrees from project's diagnostic summaries
2022-06-28 14:23:24 -07:00
Keith Simmons
cea7d3f5a2
add test for filter
2022-06-28 13:45:34 -07:00
Keith Simmons
f6292437fa
Add command palette filter global and update it when vim mode is enabled/disabled
2022-06-28 13:35:43 -07:00
Max Brunsfeld
f05e94d0de
Allow diagnostics to be published for hidden worktrees
2022-06-28 13:31:04 -07:00
Max Brunsfeld
fae1cc36d6
In most languages, use prev non-empty line as basis for preserving indent
2022-06-28 12:21:54 -07:00
Antonio Scandurra
431d71fe92
v0.41.0
2022-06-28 11:21:06 +02:00
Antonio Scandurra
a53de67e6f
Merge pull request #1247 from zed-industries/ignore-non-created-progress-tokens
...
Ignore tokens that were not created via `WorkDoneProgressCreate`
2022-06-28 10:14:42 +02:00
Antonio Scandurra
6cf9514e00
Merge pull request #1246 from zed-industries/python-autoindent
...
Fix Python auto-indent using new auto-indent features
2022-06-28 10:14:22 +02: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
Antonio Scandurra
c127eb56ce
Merge pull request #1241 from zed-industries/reopen-closed-item
...
Introduce `pane::ReopenClosedItem` bound to `cmd-shift-t`
2022-06-28 08:09:03 +02:00
Antonio Scandurra
57f34c6992
💄
2022-06-28 08:04:39 +02:00
Max Brunsfeld
929615964d
Add new indentation features to support Python
2022-06-27 22:34:14 -07:00
Keith Simmons
1eb8351440
add hover popover setting
2022-06-27 16:21:22 -07: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
Max Brunsfeld
095f18d661
Upgrade Tree-sitter, Tree-sitter-python
2022-06-27 15:12:31 -07:00
Keith Simmons
f73af85218
bump protocol version and fix panic from storing display points instead of anchors
2022-06-27 15:10:36 -07:00
Keith Simmons
a0577f5f46
Fix usage of existing definitions
2022-06-27 10:07:44 -07:00
Antonio Scandurra
c6e7ae528f
Add test for reopening closed items
2022-06-27 17:59:25 +02:00
Antonio Scandurra
0652542f60
Introduce pane::ReopenClosedItem
bound to cmd-shift-t
2022-06-27 17:44:33 +02: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
a8ea1048cf
Change mouse cursor when link is visible
2022-06-24 21:55:57 -07:00
Keith Simmons
a190eb0537
fix rebase merge error
2022-06-24 15:11:57 -07: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
Keith Simmons
4286a9b564
wip
2022-06-24 15:03:24 -07:00
Keith Simmons
f78b55f92d
wip
2022-06-24 15:03:24 -07:00
Nathan Sobo
4da3005b5c
Allow users with no invites to be fetched from the API
2022-06-24 09:57:52 -06:00
Antonio Scandurra
b0eb692760
WIP
2022-06-24 17:21:58 +02:00
Antonio Scandurra
9fcebe783c
Merge pull request #1236 from zed-industries/reduce-server-memory-footprint
...
Reduce memory footprint on server
2022-06-24 09:34:04 +02:00
Antonio Scandurra
fc5517b6be
Gather metrics only when /metrics
endpoint is retrieved
2022-06-24 09:28:52 +02:00
Antonio Scandurra
a04adbcac1
Don't trace message payload
2022-06-24 09:27:22 +02:00
Max Brunsfeld
4f643baeee
0.40.0
2022-06-23 13:29:32 -07:00
Max Brunsfeld
c91451a1b2
Merge pull request #1234 from zed-industries/fix-editor-cloning
...
Clone fold and selection state correctly when splitting an editor
2022-06-23 13:27:40 -07:00
Max Brunsfeld
fb2a7787a1
Clone fold and selection state correctly when splitting an editor
2022-06-23 13:15:50 -07:00
Keith Simmons
755636d10e
Use NonZeroU32 to ensure settings tabsize cannot be zero
2022-06-23 12:55:38 -07:00
Max Brunsfeld
1720933597
Merge pull request #1228 from zed-industries/python
...
Add Python support
2022-06-23 11:25:18 -07:00
Max Brunsfeld
dc056fc46f
Treat .pyi files as Python
2022-06-23 11:14:11 -07:00
Max Brunsfeld
4d4db6ec4b
Syntax-highlight Python project symbols and completions
2022-06-23 11:14:01 -07:00
Max Brunsfeld
981e53784d
Upgrade tree-sitter-python for error recovery improvement
2022-06-23 11:13:30 -07:00
Antonio Scandurra
555847449b
Use BTreeMap
in Server
so we release memory when maps are cleared
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-06-23 18:02:17 +02:00
Antonio Scandurra
2cb8a3ccfb
Don't override top-level settings with language defaults
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-06-23 16:40:57 +02:00
Antonio Scandurra
90102f22fd
Improve testing of window edit state
2022-06-23 14:41:47 +02:00
Antonio Scandurra
a21dbdd0d6
Update window edited status when pane item is removed
2022-06-23 14:28:10 +02:00
Antonio Scandurra
2dae0ddcdb
Add test to verify closing window via the mouse
2022-06-23 14:18:53 +02:00
Antonio Scandurra
d9b5357234
Always prevent window from closing and manually invoke Workspace::close
...
This ensures we ask the user to save their state if there are unsaved
changes.
2022-06-23 11:44:14 +02:00
Antonio Scandurra
06033d7fa9
Introduce ViewContext::on_window_should_close
...
This is a new callback that can be used to interrupt closing the window
when the user has unsaved changes.
2022-06-23 11:43:19 +02:00
Antonio Scandurra
ca8ddcdeec
Set window's edited = true
when there are unsaved changes
2022-06-23 10:59:50 +02:00
Antonio Scandurra
01349e1d42
Fix panic when Text
contained carriage returns
2022-06-23 10:21:21 +02:00
Max Brunsfeld
11f73bfa4e
Integrate pyright language server
2022-06-22 16:58:19 -07:00
Max Brunsfeld
c0dbd8f9b9
Add python outline and bracket queries
2022-06-22 16:28:09 -07:00
Max Brunsfeld
074caa09c2
Make python indent query more general
...
Upgrade Tree-sitter for a query bugfix that I found while
writing this indent query.
2022-06-22 16:18:52 -07:00
Max Brunsfeld
4cb68b2966
Prioritize keepalive pings over incoming message handling in Peer
2022-06-22 14:44:05 -07:00
Max Brunsfeld
36f8c68099
Remove redundant run_until_parked call in Foreground::advance_clock
2022-06-22 14:43:21 -07:00
Max Brunsfeld
a14b626927
Enable env log in peer tests
2022-06-22 14:42:20 -07:00
Antonio Scandurra
2d8ffbdfa2
Don't wait for host's worktree updates if they disconnected
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-06-22 19:45:55 +02:00
Antonio Scandurra
48ff443d10
Remove stray log statement when contacts are updated
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-06-22 19:40:52 +02:00
Antonio Scandurra
f2d134917e
Remove non-determinism from Peer
caused by smol's timeout
helper
2022-06-22 18:39:12 +02:00
Antonio Scandurra
071d940a88
Ensure receive timeout is triggered before waiting on disconnection
2022-06-22 18:02:42 +02:00
Antonio Scandurra
9b521d6097
Use Arc<Deterministic>
to understand which await points are parking
2022-06-22 17:39:34 +02:00
Antonio Scandurra
62521531a6
💄
2022-06-22 15:06:22 +02:00
Antonio Scandurra
fb2590d913
Use a FuturesUnordered
to process foreground messages
...
This prevents deadlocks when e.g., client A performs a request to client B and
client B performs a request to client A. If both clients stop processing further
messages until their respective request completes, they won't have a chance to
respond to the other client's request and cause a deadlock.
This arrangement ensures we will attempt to process earlier messages first, but fall
back to processing messages arrived later in the spirit of making progress.
2022-06-22 15:04:17 +02:00
Antonio Scandurra
6eb3e72c36
Add test demonstrating hang when peers wait on each other's response
2022-06-22 14:41:14 +02:00
Antonio Scandurra
2f09a4af16
Update project metadata when releasing a worktree's weak handle
...
When a project was getting unshared, we would remove invisible worktrees
from the project's state without notifying the server, which was causing
the randomized tests to fail.
This commit calls `Project::remove_worktree` when a worktree's handle gets
released. Doing so ensures that we update both our local metadata database
as well as the state on the server.
2022-06-22 10:26:10 +02:00
Max Brunsfeld
34351c0a51
Start work on Python support
2022-06-21 17:04:54 -07:00
Keith Simmons
484e98c0bb
Merge pull request #1216 from zed-industries/hover-context-menu-fix
...
Don't trigger hover popover action when mouse is over context menu
2022-06-21 13:43:24 -07:00
Keith Simmons
19feb627d8
Add comment linking to long term plan
2022-06-21 12:38:27 -07:00
Max Brunsfeld
dc8d5f4ae3
Merge pull request #1217 from zed-industries/fix-lsp-statuses-for-guests
...
Report running language servers when sharing project for the first time
2022-06-21 11:50:58 -07:00
Antonio Scandurra
83f38aa1ba
Merge pull request #1215 from zed-industries/suggest-upgrade-on-reconnect
...
Show upgrade required message when reconnecting after a protocol change
2022-06-21 20:41:36 +02:00
Antonio Scandurra
69aa3d848e
Report running language servers when sharing project for the first time
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-06-21 20:39:54 +02:00
Max Brunsfeld
e9d19457d6
Add failing test for replication of lsp statuses
...
Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-06-21 11:27:08 -07:00
Keith Simmons
057a7ec989
Don't trigger hover popover action when mouse is over context menu
2022-06-21 11:23:25 -07:00
Max Brunsfeld
30d75620f1
Fix error when worktree has no file extensions
...
Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-06-21 11:02:13 -07:00
Keith Simmons
fb881b2eda
hide hover on editor blur
2022-06-21 10:37:59 -07:00
Max Brunsfeld
6a2c5e0dc1
Show upgrade required message when reconnecting after a protocol change
...
Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-06-21 10:26:34 -07:00
Antonio Scandurra
db77601aa2
Expose project metadata via GET /project_metadata
2022-06-21 18:06:31 +02:00
Antonio Scandurra
ebaf3224fd
Exclude staff from activity recording
2022-06-21 16:07:59 +02:00
Antonio Scandurra
c90e8c08a6
Accept a datetime range when querying project activity
2022-06-21 14:03:10 +02:00
Antonio Scandurra
95a629d200
Unregister project from db when user disconnects or manually does so
2022-06-21 10:37:34 +02:00
Antonio Scandurra
7acebc4eb8
Register projects in the database and record worktree extensions
2022-06-21 10:29:26 +02:00
Max Brunsfeld
44160869eb
Add an API that returns the most active users and the projects where they've been active
2022-06-20 19:46:37 -07:00
Antonio Scandurra
0e20782b53
Highlight files ending in mdx
as Markdown
...
This is clearly a stopgap solution but it'll make our life easier
while hacking on zed.dev.
2022-06-20 15:53:45 +02:00
Antonio Scandurra
d425d9fa64
Allow wrapping selected text with '
in Rust
2022-06-20 11:56:46 +02:00
Antonio Scandurra
6040429f93
Auto-close ' for TypeScript and don't do so for Rust
2022-06-20 11:55:40 +02:00
Antonio Scandurra
d5efae609e
Respect close
in language configuration when autoclosing bracket
2022-06-20 11:50:44 +02:00
Antonio Scandurra
d6c630f8eb
Add missing auto-close brackets from various languages
2022-06-20 11:38:12 +02:00
Antonio Scandurra
137a3996a1
Replace "Remove Folder from Project" label with "Remove from Project`
2022-06-20 10:53:26 +02:00
Max Brunsfeld
71534d4412
Avoid holding a strong project handle in an on_click callback
2022-06-17 15:41:48 -07:00
Max Brunsfeld
6359535c52
v0.39.0
2022-06-17 14:22:49 -07:00