Commit Graph

2272 Commits

Author SHA1 Message Date
Piotr Osiewicz
c308a8cc2d Reduce visibility of modes 2025-02-18 02:11:31 +01:00
Piotr Osiewicz
a8f59b8a1d Renames 2025-02-18 02:09:23 +01:00
Piotr Osiewicz
afaaf24455 Renames 2025-02-18 02:09:05 +01:00
Piotr Osiewicz
b8383bedae Renames 2025-02-18 02:07:14 +01:00
Piotr Osiewicz
bd27f879e2 Rename DebugAdapterClientId to SessionId 2025-02-18 01:56:57 +01:00
Piotr Osiewicz
05a35375a4 cleanups 2025-02-18 01:51:43 +01:00
Piotr Osiewicz
28d6e76298 Add Initialize command 2025-02-18 01:16:26 +01:00
Piotr Osiewicz
abda28fb6b Use LocalDapCommand in bounds 2025-02-18 01:04:01 +01:00
Piotr Osiewicz
9b8ea48883 Split out local part from DapCommand 2025-02-18 01:02:45 +01:00
Piotr Osiewicz
24e816be38 WIP 2025-02-17 19:45:30 +01:00
Piotr Osiewicz
b67a382e57 WIP 2025-02-17 18:15:57 +01:00
Piotr Osiewicz
95590967eb WIP 2025-02-17 16:51:39 +01:00
Piotr Osiewicz
9786da2fe5 WIP 2025-02-17 15:41:46 +01:00
Piotr Osiewicz
c9a9ab22f0 And the rename is complete 2025-02-17 13:46:17 +01:00
Piotr Osiewicz
cf13a62bb5 Rename client module to session 2025-02-17 13:45:16 +01:00
Piotr Osiewicz
ad356d9c8e Building! And crashing 2025-02-17 13:39:45 +01:00
Piotr Osiewicz
45db28a5ce Project compiles, yay 2025-02-17 12:50:55 +01:00
Piotr Osiewicz
a0c91d620a WIP 2025-02-17 11:28:22 +01:00
Piotr Osiewicz
b1ca8c3e45 Merge branch 'debugger' into remove-dap-session 2025-02-17 11:11:45 +01:00
Piotr Osiewicz
f8e248286e Merge branch 'main' into debugger 2025-02-17 11:04:44 +01:00
Piotr Osiewicz
0233152bd1 Get rid of supports_attach (we'll configure it differently later on) 2025-02-17 11:02:34 +01:00
Piotr Osiewicz
294ce96b24 WIP 2025-02-17 00:50:05 +01:00
Cole Miller
4ff1173047 git: Fill the commit message buffer from MERGE_MSG (#24843)
This PR uses the template merge message in `.git/MERGE_MSG` to populate
the commit message buffer in the git panel. This is done:

- when the commit message buffer is first created
- when the list of merge heads in .git changes, only if the buffer
doesn't already have some text in it

Hopefully this strikes a good balance between convenience and not
stomping on the user's toes.

Release Notes:

- N/A
2025-02-15 18:29:45 +00:00
Piotr Osiewicz
12c02a12ca WIP 2025-02-15 01:51:57 +01:00
Piotr Osiewicz
36b430a1ae Add a doc comment for the debugger module 2025-02-15 01:41:24 +01:00
Piotr Osiewicz
7fe8c626d3 Fix up one call site 2025-02-15 01:26:57 +01:00
Piotr Osiewicz
43e2c4de06 Keep going 2025-02-15 00:41:48 +01:00
Piotr Osiewicz
e285ae60c3 WIP 2025-02-14 23:27:13 +01:00
Anthony Eid
53336eedb7 Move breakpoint serialization/deserialization to breakpoint store from project 2025-02-14 16:56:34 -05:00
Conrad Irwin
be83074243 Git context menu (#24844)
Adds the non-entry specific right click menu to the panel, and the
features contained therin:

* Stage all
* Discard Tracked Changes
* Trash Untracked Files

Also changes the naming from "Changes"/"New" to better match Git's
terminology (though not convinced on this, it was awkward to describe
"Discard Changes" without a way to distinguish between the changes and
the files containing them).

Release Notes:

- N/A
2025-02-14 14:04:32 -07:00
Anthony Eid
3aab70c7bb Fix some warnings 2025-02-14 15:51:29 -05:00
Anthony Eid
cdb5af2906 Remove project from toggle breakpoint dependencies
Project is no longer responsible for toggle breakpoints or telling breakpoint store to toggle breakpoints.
Now editor toggles breakpoints by directly telling breakpoint store too. In the future I plan on removing
on breakpoint related handling from project to breakpoint store.

I also fix some debugger related test compile errors. Plenty of them won't pass because we're still in a refactor,
but they build now
2025-02-14 15:38:32 -05:00
Piotr Osiewicz
936ac212e7 Another WIP 2025-02-14 21:18:37 +01:00
Piotr Osiewicz
debcb1f26f WIP
Co-Authored-By: Anthony Eid <hello@anthonyeid.me>
2025-02-14 19:30:14 +01:00
Piotr Osiewicz
90440d9652 fixup! Check capabilities outside of dap_session 2025-02-14 16:44:46 +01:00
Piotr Osiewicz
be80dedd8c Merge branch 'main' into debugger 2025-02-14 16:43:04 +01:00
Piotr Osiewicz
00c24ce289 Simplify DapCommand::is_supported 2025-02-14 16:27:44 +01:00
Piotr Osiewicz
c820f12e9c Check capabilities outside of dap_session
That way we don't need to roundtrip for RPC peers. Plus the logs for unsupported features will be less noisy
2025-02-14 16:24:54 +01:00
Piotr Osiewicz
a618830aea project: Fine-grained language server management (#24038)
Closes #ISSUE
https://github.com/zed-industries/zed/pull/23804
Release Notes:

- Improved detection of project roots for use by language servers.

Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...

---------

Co-authored-by: smit <0xtimsb@gmail.com>
Co-authored-by: Henrikh Kantuni <henrikh.kantuni@gmail.com>
Co-authored-by: Caleb! <48127194+kaf-lamed-beyt@users.noreply.github.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Co-authored-by: Danilo <danilo@zed.dev>
Co-authored-by: Nate Butler <iamnbutler@gmail.com>
2025-02-14 15:41:49 +01:00
Remco Smits
3833788cbc Add missing init for breakpointstore 2025-02-14 14:23:27 +01:00
Anthony Eid
91e60d79bb Add BreakpointStore to debugger crate (#114)
* Initial setup for breakpoint store

* WIP Move more methods to breakpoint store

* Move event handler to breakpoint store

* Fix compiler errrors

* Fix more compiler errors

* Get Zed to compile

---------

Co-authored-by: Remco Smits <djsmits12@gmail.com>
2025-02-14 13:55:03 +01:00
Remco Smits
ecfc0ef12d Move requests into client (#112)
* Move most of the requests into the client state itself.

Co-authored-by: Anthony Eid <hello@anthonyeid.me>

* WIP

* Fix some errors and create new errors

* More teardown

* Fix detach requests

* Move set variable value to dap command

* Fix dap command error and add evaluate command

* FIx more compiler errors

* Fix more compiler errors

* Clipppyyyy

* FIx more

* One more

* Fix one more

* Use threadId from project instead u64

* Mostly fix stack frame list

* More compile errors

* More

* WIP transfer completions to dap command

Co-Authored-By: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com>
Co-Authored-By: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

* Finish console completions DapCommand impl

* Get Zed to build !!

* Fix test compile errors: The debugger tests will still fail

* Add threads reqeust to debug session

Co-authored-by: Piotr Osiewicz <piotr@zed.dev>

---------

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com>
Co-authored-by: Piotr Osiewicz <piotr@zed.dev>
2025-02-13 16:25:32 -05:00
Cole Miller
de0d9d678e Save open buffers before staging or unstaging their backing files (#24767)
Release Notes:

- N/A
2025-02-13 15:07:28 +00:00
Piotr Osiewicz
661e5b0335 Merge branch 'main' into debugger 2025-02-13 11:28:20 +01:00
Conrad Irwin
d57f5937d4 Git panel: Right click menu (#24787)
Release Notes:

- N/A
2025-02-12 22:26:34 -07:00
Mikayla Maki
b014afa938 Add an undo button to the git panel (#24593)
Also prep infrastructure for pushing a commit

Release Notes:

- N/A

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Nate Butler <iamnbutler@gmail.com>
2025-02-12 15:57:08 -07:00
smit
5dc3c237eb workspace: Do not reuse window for sub directory (only for root directory and sub files) (#24560)
Closes #10232

Context:

We have three ways to open files or dirs in Zed: `zed`, `zed --new`, and
`zed --add`. `--new` forces the project to open in a new window, while
`--add` forces it to open in an existing window (even if the dir isn’t a
subdir of an existing project or the file isn’t part of it).

Using just `zed` tries to open it in an existing window based on similar
logic of `--add`, but if no related project is found the dir, opens in a
new window.

Problem:

Right now, subdirs that are part of an existing project open in the
existing window when using `zed`. By default, subdirs should open in a
new window instead. If someone wants to open it in the existing window,
they can explicitly use `--add`. After this PR, only root dir and files
will focus on existing window, when `zed ` is used.

Fix:

For the `zed` case, we’ve filtered out subdirs in the logic that assigns
them to an existing window.

Release Notes:

- Fixed an issue where subdirectories of an already opened project, when
opened via the terminal, would open in the existing project instead of a
new window.
2025-02-13 03:37:39 +05:30
Cole Miller
eea6b526dc Implement staging and unstaging hunks (#24606)
- [x] Staging hunks
- [x] Unstaging hunks
- [x] Write a randomized test
- [x] Get test passing
- [x] Fix existing bug in diff_base_byte_range computation
- [x] Remote project support
- [ ] ~~Improve performance of
buffer_range_to_unchanged_diff_base_range~~
- [ ] ~~Bug: project diff editor scrolls to top when staging/unstaging
hunk~~ existing issue
- [ ] ~~UI~~ deferred
- [x] Tricky cases
  - [x] Correctly handle acting on multiple hunks for a single file
- [x] Remove path from index when unstaging the last staged hunk, if
it's absent from HEAD, or staging the only hunk, if it's deleted in the
working copy

Release Notes:

- Add `ToggleStagedSelectedDiffHunks` action for staging and unstaging
individual diff hunks
2025-02-12 19:46:42 +00:00
Piotr Osiewicz
ba7d2ba8c7 project: Activate buffer_diff/test-support in test-support (#24739)
Closes #ISSUE

Release Notes:

- N/A
2025-02-12 16:51:47 +00:00
Cole Miller
759ea0ec48 Touch up stale hunks fix (#24669)
Release Notes:

- N/A

Co-authored-by: Max <max@zed.dev>
2025-02-11 17:47:41 +00:00