Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debugger implementation #13433

Draft
wants to merge 343 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
343 commits
Select commit Hold shift + click to select a range
cce5857
Remove unneeded clone
RemcoSmitsDev Jul 7, 2024
5a9b279
Merge with remco-debugger branch
Anthony-Eid Jul 8, 2024
33e127d
Merge pull request #4 from Anthony-Eid/debugger
RemcoSmitsDev Jul 9, 2024
648daa3
WIP start adding support for debugging multiple threads at the same time
RemcoSmitsDev Jul 10, 2024
d15ff2d
Don't spawn task for empty tasks vec
RemcoSmitsDev Jul 11, 2024
f287c89
Remove commented out code
RemcoSmitsDev Jul 11, 2024
49da08f
Make goto stack trace frame work again after stopped event
RemcoSmitsDev Jul 11, 2024
5ab95f1
Remove unused method
RemcoSmitsDev Jul 11, 2024
f108d4c
Replace find method with any
RemcoSmitsDev Jul 11, 2024
4a6f615
Remove editor highlights when debugger terminated event was received
RemcoSmitsDev Jul 11, 2024
68dd3c9
Fix we never created the first pane OOPS
RemcoSmitsDev Jul 12, 2024
014ffbc
Send the initial breakpoints from the project
RemcoSmitsDev Jul 12, 2024
8d99f9b
Fix send all breakpoints when toggling breakpoints
RemcoSmitsDev Jul 12, 2024
9ea9b41
Merge main into debugger
RemcoSmitsDev Jul 12, 2024
6237c29
Merge branch 'main' into debugger
RemcoSmitsDev Jul 12, 2024
a583efd
Give clippy the best day of his life
RemcoSmitsDev Jul 12, 2024
4e2d035
Rename thread state -> thread states
RemcoSmitsDev Jul 14, 2024
0037928
Don't store request type on client(its already in the config)
RemcoSmitsDev Jul 14, 2024
c9074b1
Wire through debugger id for initialize request
RemcoSmitsDev Jul 14, 2024
1b42dd5
Add client id to thread tab title
RemcoSmitsDev Jul 14, 2024
737b03c
Refactor go_to_stack_frame & clear_hightlights
RemcoSmitsDev Jul 14, 2024
92b9385
Add support for DAP to use std for communication
Anthony-Eid Jul 14, 2024
3e1aa65
Add more descriptive error logs for DAP
Anthony-Eid Jul 14, 2024
73ef771
Implement handler for continued event
Anthony-Eid Jul 15, 2024
8d7ec33
Add PR feedback to handle_continued_event function
Anthony-Eid Jul 15, 2024
77a3143
Fix autocompletion for connection type
RemcoSmitsDev Jul 15, 2024
ffa0609
Implement stdio debugger connection type (#5)
Anthony-Eid Jul 15, 2024
b6e677e
Wip configure host for tcp debug adapter
RemcoSmitsDev Jul 15, 2024
18cb542
Merge branch 'remco-debugger' into debugger
Anthony-Eid Jul 16, 2024
65a790e
Make double click on pane action optional
RemcoSmitsDev Jul 16, 2024
ba4a70d
Make TCP connect delay configurable
RemcoSmitsDev Jul 16, 2024
0deb3cc
Move handle initialized event to own method
RemcoSmitsDev Jul 16, 2024
dc59283
Fix we did not notify after stack frame list reset was doen
RemcoSmitsDev Jul 16, 2024
f8b9937
Handle exited event
RemcoSmitsDev Jul 16, 2024
fe899c9
Change that current thread state does not return option
RemcoSmitsDev Jul 16, 2024
99e01fc
Clippyyyyy
RemcoSmitsDev Jul 16, 2024
6aced1b
Add tooltip for tab content to indicate the thread status
RemcoSmitsDev Jul 16, 2024
ea9e075
Implement stop action
RemcoSmitsDev Jul 16, 2024
e350417
Add debug pause icon
RemcoSmitsDev Jul 16, 2024
7ce1b8d
Update the thread state status after continue request if continue eve…
RemcoSmitsDev Jul 16, 2024
ef098c0
Show/disable actions buttons based on thread state status
RemcoSmitsDev Jul 16, 2024
a48166e
Add method to get the capabilities from the client
RemcoSmitsDev Jul 16, 2024
923ae54
Fix that we change the thread state status to running
RemcoSmitsDev Jul 17, 2024
4c777ad
Fix deserialize error when debug adapter send empty `{}` body but exp…
RemcoSmitsDev Jul 17, 2024
ef67321
Implement restart program
RemcoSmitsDev Jul 17, 2024
d08e28f
Clean up show continue/pause buttons
RemcoSmitsDev Jul 17, 2024
7c9771b
Updated debugger
Anthony-Eid Jul 18, 2024
9bc1d4a
Merge branch 'remco-debugger' into debugger
Anthony-Eid Jul 23, 2024
15d5186
Fix race condition when using late case debug adapters
Anthony-Eid Jul 23, 2024
0b8c4de
Get clippy to run successfully
Anthony-Eid Jul 23, 2024
780bfaf
Add some function docs to dap client
Anthony-Eid Jul 23, 2024
2e10853
Fix sending incorrect start request id
RemcoSmitsDev Jul 23, 2024
b88fd3e
Make sure we read events as early as possible
RemcoSmitsDev Jul 24, 2024
ee3323d
Make clippy happy again
RemcoSmitsDev Jul 24, 2024
9c60884
Merge branch 'main' into debugger
RemcoSmitsDev Jul 24, 2024
1a421db
Make clippy happier than ever
RemcoSmitsDev Jul 24, 2024
96d3f13
Merge branch 'remco-debugger' into debugger
Anthony-Eid Jul 25, 2024
c7f7d18
Fix debugger's highlight when stepping through code
Anthony-Eid Jul 25, 2024
7f1bd3b
Get clippy to pass & add an error log instead of using dbg!()
Anthony-Eid Jul 25, 2024
a136b72
Merge branch 'main' into debugger
Anthony-Eid Jul 25, 2024
0975ca8
Get sequence id to be incremented after getting respond and event
Anthony-Eid Jul 25, 2024
8b05b88
Merge branch 'main' into debugger
RemcoSmitsDev Jul 25, 2024
9c2b909
Merge branch 'remco-debugger' into debugger
Anthony-Eid Jul 25, 2024
11c740b
Merge branch 'main' into debugger
RemcoSmitsDev Jul 25, 2024
61533d7
Merge branch 'remco-debugger' into debugger
Anthony-Eid Jul 25, 2024
916150a
Get breakpoints to use anchors instead
Anthony-Eid Jul 25, 2024
f0a5775
Fix toggle breakpoints having a max of one bp per buffer
Anthony-Eid Jul 25, 2024
9a8a541
Fix race condition in debugger (#6)
Anthony-Eid Jul 25, 2024
403ae10
Fix infinite loop of threads, because sequence id was wrong
RemcoSmitsDev Jul 25, 2024
b70acdf
Wip run in terminal request
RemcoSmitsDev Jul 25, 2024
6ff5e00
Fix don't go to stack frame if only the thread id matches of the stop…
RemcoSmitsDev Jul 25, 2024
d28950c
Line up toggle debug panel focus with other panels action names
RemcoSmitsDev Jul 26, 2024
1ff2347
Clean up run in terminal code
RemcoSmitsDev Jul 27, 2024
7f8c288
Wip start debugging request
RemcoSmitsDev Jul 27, 2024
4373e47
Get Editor & Project to share breakpoints through RWLock
Anthony-Eid Jul 27, 2024
c39c0a5
Have project share breakpoints pointer with editor
Anthony-Eid Jul 27, 2024
08dbf36
Start work on getting breakpoint indicator to show in gutter
Anthony-Eid Jul 27, 2024
4bb8ec9
Get gutter breakpoint hint to display at correct point and set breakp…
Anthony-Eid Jul 27, 2024
12c853e
Merge branch 'remco-debugger' into breakpoints
Anthony-Eid Jul 27, 2024
a545400
Set up breakpoint toggle to send breakpoints to dap when necessary
Anthony-Eid Jul 28, 2024
4c5deb0
Finalize refactoring breakpoints to use RWLocks
Anthony-Eid Jul 28, 2024
74931bd
Make active debug line stand out more & set unique DAP client ids (#8)
Anthony-Eid Jul 29, 2024
d222fbe
Fix breakpoint indicator lagging behind mouse in gutter
Anthony-Eid Jul 29, 2024
620e654
Fix crash that can happen after placing breakpoint in file and changi…
Anthony-Eid Jul 29, 2024
655b23c
Get clippy to pass
Anthony-Eid Jul 29, 2024
d6dd59c
Merge with debugger branch
Anthony-Eid Jul 30, 2024
26a5770
Merge pull request #7 from Anthony-Eid/breakpoints
Anthony-Eid Jul 30, 2024
2ab7f83
Implement `startDebugging` reverse request (#9)
RemcoSmitsDev Jul 30, 2024
b9c1e51
Fix auto pick port didn't use the configure host (#10)
RemcoSmitsDev Jul 31, 2024
aa257ec
Fix use correct request to stop thread (#11)
RemcoSmitsDev Jul 31, 2024
1c98c1c
Act on capabilities when sending requests (#12)
RemcoSmitsDev Jul 31, 2024
fc4d46e
Add terminate request
RemcoSmitsDev Jul 31, 2024
c99865b
Make clippy pass
RemcoSmitsDev Jul 31, 2024
7ff1a08
Remove unused crates
RemcoSmitsDev Jul 31, 2024
a0123e8
Merge branch 'main' into debugger
RemcoSmitsDev Jul 31, 2024
a82d759
Merge branch 'main' into debugger
RemcoSmitsDev Jul 31, 2024
e974dde
Start work on setting up workplace serialization for breakpoints
Anthony-Eid Aug 1, 2024
42aefb4
Change breakpoints DS to use project path as key instead of bufferID
Anthony-Eid Aug 1, 2024
ca84463
Get workplace to serialize breakpoints
Anthony-Eid Aug 1, 2024
9dfd2f5
Get load workspace to get breakpoint data
Anthony-Eid Aug 1, 2024
8b63c1a
Change breakpoint DS back so it uses buffer_id as a key
Anthony-Eid Aug 1, 2024
d4904f9
Start work on deserializing Workspace
Anthony-Eid Aug 3, 2024
0247fd6
Get deserialization to work for file's that open when initializing Zed
Anthony-Eid Aug 3, 2024
68158d3
Transfer breakpoints from closed DS -> open DS when a buffer is open
Anthony-Eid Aug 3, 2024
e24e5f7
Transfer breakpoints from open -> close when buffer maintaining them …
Anthony-Eid Aug 4, 2024
b1d830c
Editor doesn't need to know about closed breakpoint
Anthony-Eid Aug 4, 2024
5f4affd
Introduce serialized breakpoint type & refactor code base to use it
Anthony-Eid Aug 4, 2024
f3cb4a4
Send breakpoints from unopened files to adapters & fix workspace seri…
Anthony-Eid Aug 4, 2024
4181c39
Delete println that was used for debugging
Anthony-Eid Aug 4, 2024
ef63ccf
Merge branch 'main' into debugger
RemcoSmitsDev Aug 4, 2024
96bdeca
Terminate thread when pane is closed/removed (#14)
RemcoSmitsDev Aug 5, 2024
49dd57d
Add output for each thread (#15)
RemcoSmitsDev Aug 5, 2024
f4af5af
Fix merge conflicts
RemcoSmitsDev Aug 5, 2024
a4cc28f
Fix bug where toggle breakpoint action wouldn't untoggle
Anthony-Eid Aug 5, 2024
c92ecc6
Handle case where Code action indicator interlaps with breakpoint
Anthony-Eid Aug 6, 2024
1ad8ed7
Show a breakpoint on line with code action while code action symbol i…
Anthony-Eid Aug 7, 2024
111a0dc
Get project::has_active_debuggers to return true if a debugger is run…
Anthony-Eid Aug 7, 2024
5a08fc2
Fix breakpoint line number not being red when cursor is on it & clipp…
Anthony-Eid Aug 7, 2024
7d243ac
Get breakpoints to display in the correct positions within multi buffers
Anthony-Eid Aug 7, 2024
a4db59c
Merge branch 'remco-debugger' into breakpoints
Anthony-Eid Aug 7, 2024
cb52082
Merge branch 'main' into debugger
RemcoSmitsDev Aug 7, 2024
d3fe698
Fix bug that caused a breakpoints to only remain persistent in one op…
Anthony-Eid Aug 7, 2024
0f1738c
Allow toggling breakpoints to work from within multibuffer gutter
Anthony-Eid Aug 7, 2024
30b59a6
Add breakpoint documentation
Anthony-Eid Aug 8, 2024
fe58a70
Add debugger.accent as a configurable theme
Anthony-Eid Aug 8, 2024
5678469
Show variables recursively (#16)
RemcoSmitsDev Aug 12, 2024
26e9843
Merge branch 'debugger' into breakpoints
Anthony-Eid Aug 14, 2024
b561c68
Always show disclosure icon for variables and scopes (#17)
RemcoSmitsDev Aug 14, 2024
9ea23b0
Fix wrong value for always showing disclosure icon
RemcoSmitsDev Aug 14, 2024
9643e71
Remove debugger client when its terminated (#18)
RemcoSmitsDev Aug 14, 2024
bb40689
Merge branch 'main' into debugger
RemcoSmitsDev Aug 14, 2024
3a3f499
Breakpoint PR review edits
Anthony-Eid Aug 15, 2024
e9f0e93
Set up ground work for debugger settings & save breakpoints setting
Anthony-Eid Aug 15, 2024
da1fdd2
Merge branch 'debugger' into breakpoints
Anthony-Eid Aug 15, 2024
11b2bc1
Lazy fetch variables (#19)
RemcoSmitsDev Aug 18, 2024
1ac97d2
Merge branch 'main' into debugger
RemcoSmitsDev Aug 21, 2024
db8b8be
Fix typo
RemcoSmitsDev Aug 21, 2024
fb169af
Add todo to fix bug & bug information
Anthony-Eid Aug 21, 2024
5c45e45
Merge debugger into breakpoints
Anthony-Eid Aug 21, 2024
2843a36
Merge pull request #13 from Anthony-Eid/breakpoints
Anthony-Eid Aug 21, 2024
7885da1
Fix typos
RemcoSmitsDev Aug 21, 2024
3c98e89
Fix failing test
RemcoSmitsDev Aug 21, 2024
651c31c
Change icons from vscode to lucide (#21)
RemcoSmitsDev Aug 21, 2024
bbb449c
Get debugger panel buttons to trigger while panel isn't focused
Anthony-Eid Aug 21, 2024
149116e
Close debug panel tabs when client stopped (#20)
RemcoSmitsDev Aug 22, 2024
f3e7129
Add debug icon to toggle debug panel (#23)
RemcoSmitsDev Aug 23, 2024
9bcd03b
Remove default methods
RemcoSmitsDev Aug 23, 2024
618d81a
Fix that debug tab was not showing anymore (#24)
RemcoSmitsDev Aug 24, 2024
5a301fc
Improve clear highlights performance (#25)
RemcoSmitsDev Aug 25, 2024
31b27e1
Allow clicking on stack frame again (#26)
RemcoSmitsDev Aug 25, 2024
199b665
Remove duplicated content code for debugger settings (#27)
RemcoSmitsDev Aug 25, 2024
045f927
Don't close the debug panel when debug session ends (#28)
RemcoSmitsDev Aug 25, 2024
2b504b3
Debugger elements (#29)
Anthony-Eid Aug 26, 2024
008b6b5
Debugger console (#30)
Anthony-Eid Aug 26, 2024
921d0c5
Merge branch 'main' into debugger
Anthony-Eid Aug 26, 2024
3ac4d1e
Fix CICD spell check error
Anthony-Eid Aug 27, 2024
243bd4b
Merge branch 'main' into debugger
RemcoSmitsDev Aug 28, 2024
fc4078f
Fix we did not open the first scope after stopping for second time
RemcoSmitsDev Aug 28, 2024
4cf735b
Add right click menu to copy variable name & value (#32)
RemcoSmitsDev Aug 31, 2024
83cc452
Make stepping granularity configurable (#33)
RemcoSmitsDev Sep 1, 2024
7b7a475
Show warning when session exited without hitting any breakpoint (#31)
RemcoSmitsDev Sep 3, 2024
b009832
Allow setting variable value (#34)
RemcoSmitsDev Sep 7, 2024
ac2aa79
Merge main
RemcoSmitsDev Sep 7, 2024
edf4e53
Fix Clippy errors
RemcoSmitsDev Sep 7, 2024
b00d63b
Move breakpoint & debug client code to dap_store (#36)
RemcoSmitsDev Sep 8, 2024
b2927a0
Remove commented code
RemcoSmitsDev Sep 8, 2024
dc5d0f4
Don't pre-paint breakpoints that are outside the viewport
RemcoSmitsDev Sep 8, 2024
1e99694
Make Debug tasks easier for a user to config
Anthony-Eid Sep 8, 2024
0e6042e
Remove unused dep
RemcoSmitsDev Sep 8, 2024
165e058
Make php adapter work again with hardcoded values
RemcoSmitsDev Sep 8, 2024
09c195e
Remove debug code
RemcoSmitsDev Sep 8, 2024
5d07ab0
Show correctly adapter name in thread tab
RemcoSmitsDev Sep 10, 2024
3683920
Add support for LLDB
osiewicz Sep 11, 2024
4990242
Touch up UI with borders and whatnot
osiewicz Sep 11, 2024
5a0c7d2
Change breakpoint position from multi_buffer::Anchor -> text::Anchor
Anthony-Eid Sep 11, 2024
0f5e5ea
Change open_breakpoint's BTree to use project_path as it's key
Anthony-Eid Sep 11, 2024
e6049f9
Merge open/close breakpoints into one data structure
Anthony-Eid Sep 11, 2024
3184ba1
Add a debug breakpoint button from lucide
Anthony-Eid Sep 11, 2024
18fb45f
Move debugger breakpoint code from dap::client to project::dap_store
Anthony-Eid Sep 11, 2024
a4ce446
Remove unused deps
RemcoSmitsDev Sep 12, 2024
ab6f334
Remove background for breakpoint icon
RemcoSmitsDev Sep 12, 2024
7a6f9d9
Remove default value for DebugItemAction struct
RemcoSmitsDev Sep 12, 2024
3fac36b
Add custom debug config option to speed up DAP development
Anthony-Eid Sep 8, 2024
8a835bc
Get .zed/debug.json to resolve debug tasks properly
Anthony-Eid Sep 12, 2024
ed6da4a
Get zed variables to work in debug tasks program
Anthony-Eid Sep 12, 2024
571d99c
Fix bug where breakpoints were unable to be toggled on the first line
Anthony-Eid Sep 12, 2024
4405ae2
Correctly shutdown adapter (#37)
RemcoSmitsDev Sep 13, 2024
9b82278
Move current stack frame id to debug panel item
RemcoSmitsDev Sep 13, 2024
559173e
Fix typo
RemcoSmitsDev Sep 13, 2024
3985963
Move Request, Response, Event types to dap-types repo
RemcoSmitsDev Sep 13, 2024
4694de8
Return adapter error message when error response comes back
RemcoSmitsDev Sep 14, 2024
56943e2
Fix bug where breakpoints from past sessions on line 1 were unable to…
Anthony-Eid Sep 14, 2024
716a817
Add on_right_click function to IconButton struct
Anthony-Eid Sep 14, 2024
8cdb1fb
Get toggle breakpoint working from breakpoint context menu
Anthony-Eid Sep 14, 2024
621d181
Set up basic infrastructure for log breakpoints
Anthony-Eid Sep 16, 2024
e7f7fb7
Send log breakpoint's to debug adapter's when able
Anthony-Eid Sep 16, 2024
142a6de
Get log breakpoint indicator to change into hint color on hover
Anthony-Eid Sep 16, 2024
c1ab059
Get log breakpoint's to serialize/deserialize correctly in the database
Anthony-Eid Sep 17, 2024
c3a7787
Handle breakpoint toggle with different kinds & on_click for log brea…
Anthony-Eid Sep 17, 2024
c883166
Fix typos & clippy warnings
Anthony-Eid Sep 17, 2024
9612b60
Refactor: Move types to the correct place and move specific request c…
RemcoSmitsDev Sep 21, 2024
278699f
Merge branch 'main' into debugger
RemcoSmitsDev Sep 21, 2024
f1f1426
Make CI pass
RemcoSmitsDev Sep 21, 2024
c26a8f1
Remove unused dep
RemcoSmitsDev Sep 21, 2024
4ddb65b
Make test pass again
RemcoSmitsDev Sep 21, 2024
8b96ac8
Make clippy pass
RemcoSmitsDev Sep 21, 2024
7dec58c
Merge branch 'debugger' into breakpoint-context-menu
Anthony-Eid Sep 22, 2024
231b5a9
Merge pull request #38 from Anthony-Eid/breakpoint-context-menu
Anthony-Eid Sep 22, 2024
a3dff43
Move all the debug panel actions to the workspace (#41)
RemcoSmitsDev Sep 22, 2024
9016a03
Update the correct status for continued event
RemcoSmitsDev Sep 22, 2024
ce77773
Remove useless method
RemcoSmitsDev Sep 23, 2024
9bc08f9
Move breakpoint sql binding to sqlez crate
Anthony-Eid Sep 24, 2024
3b3ac85
Change source/serialize breakpoints to be indexed zero
Anthony-Eid Sep 24, 2024
29918d9
Fix wrong function call for step in button
RemcoSmitsDev Sep 24, 2024
bfddc63
Show current debug line when you reopen a buffer (#42)
RemcoSmitsDev Sep 25, 2024
171ddfb
Add stop debug adapter command
RemcoSmitsDev Sep 25, 2024
1914cef
Improve contrast for breakpoint & debug active line colors
Anthony-Eid Sep 27, 2024
842bf02
Debug console (#43)
RemcoSmitsDev Oct 4, 2024
55c6570
Merge branch 'main' into debugger
RemcoSmitsDev Oct 4, 2024
6b4ebac
Fix current debug line highlight did not work
RemcoSmitsDev Oct 4, 2024
93af1bf
Breakpoint prompt editor (#44)
Anthony-Eid Oct 4, 2024
3c301c3
Format file
RemcoSmitsDev Oct 4, 2024
f9b045b
Remove unused crates
RemcoSmitsDev Oct 4, 2024
c2ed56a
Add copy memory reference menu item to variable list
RemcoSmitsDev Oct 5, 2024
8c0a7b1
Module list (#46)
RemcoSmitsDev Oct 5, 2024
f76b7c9
Implement handle Capabilities event
RemcoSmitsDev Oct 6, 2024
3b545a7
Move stack frame list to its own view (#47)
RemcoSmitsDev Oct 7, 2024
984cb68
Merge main
RemcoSmitsDev Oct 7, 2024
ac0ba07
Merge main
RemcoSmitsDev Oct 7, 2024
187d909
DapAdapter Updates (#40)
Anthony-Eid Oct 7, 2024
00b6fdc
Make ci pass
RemcoSmitsDev Oct 8, 2024
eedd865
Remove unused dep
RemcoSmitsDev Oct 8, 2024
08935b2
Remove new lines from variable list value
RemcoSmitsDev Oct 8, 2024
91926cd
Fix correctly install and build php adapter
RemcoSmitsDev Oct 8, 2024
5f1de1a
Add missing license
RemcoSmitsDev Oct 8, 2024
171c742
Make start debugging request work again
RemcoSmitsDev Oct 9, 2024
a728f9e
Remove not needed clone
RemcoSmitsDev Oct 9, 2024
8a4f677
Merge branch 'main' into debugger
RemcoSmitsDev Oct 9, 2024
7e2c138
Cleanup adapters code and add javascript adapter (#48)
RemcoSmitsDev Oct 9, 2024
554a402
Fix wrong symlink for license
RemcoSmitsDev Oct 10, 2024
177ae28
Add support for custom adapters
RemcoSmitsDev Oct 10, 2024
b1d24a0
Flatten custom adapter connection config
RemcoSmitsDev Oct 11, 2024
5bb7f24
Update dap types to fix invalid value for PresentationHint enums
RemcoSmitsDev Oct 11, 2024
222cd4b
Fix missing thread_state status update when client was terminated
RemcoSmitsDev Oct 13, 2024
b46b8aa
Fix clippy
RemcoSmitsDev Oct 14, 2024
5758f66
Add loaded sources (#49)
RemcoSmitsDev Oct 14, 2024
f5dc117
Merge branch 'main' into debugger
RemcoSmitsDev Oct 14, 2024
c65ed1c
Remove type duplication for debug settings JSON schema
RemcoSmitsDev Oct 14, 2024
13afc37
Fix flicker the variable list less when clicking fast step over control
RemcoSmitsDev Oct 14, 2024
3a6f2ad
Merge branch 'main' into debugger
RemcoSmitsDev Oct 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ DerivedData/
.vscode
.wrangler
.flatpak-builder
.zed/debug.json

# Don't commit any secrets to the repo.
.env.secret.toml
81 changes: 81 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ members = [
"crates/command_palette_hooks",
"crates/context_servers",
"crates/copilot",
"crates/dap",
"crates/dap_adapters",
"crates/debugger_ui",
"crates/db",
"crates/dev_server_projects",
"crates/diagnostics",
Expand Down Expand Up @@ -203,7 +206,10 @@ command_palette = { path = "crates/command_palette" }
command_palette_hooks = { path = "crates/command_palette_hooks" }
context_servers = { path = "crates/context_servers" }
copilot = { path = "crates/copilot" }
dap = { path = "crates/dap" }
dap_adapters = { path = "crates/dap_adapters" }
db = { path = "crates/db" }
debugger_ui = { path = "crates/debugger_ui" }
dev_server_projects = { path = "crates/dev_server_projects" }
diagnostics = { path = "crates/diagnostics" }
editor = { path = "crates/editor" }
Expand Down
1 change: 1 addition & 0 deletions assets/icons/debug.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/icons/debug_breakpoint.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/icons/debug_continue.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/icons/debug_disconnect.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/icons/debug_log_breakpoint.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/icons/debug_pause.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/icons/debug_restart.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions assets/icons/debug_step_into.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions assets/icons/debug_step_out.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions assets/icons/debug_step_over.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/icons/debug_stop.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions assets/settings/default.json
Original file line number Diff line number Diff line change
Expand Up @@ -1109,6 +1109,13 @@
// }
// ]
"ssh_connections": null,

"debugger": {
"stepping_granularity": "line",
"save_breakpoints": true,
"button": true
},

// Configures the Context Server Protocol binaries
//
// Examples:
Expand Down
2 changes: 1 addition & 1 deletion crates/assistant/src/assistant_panel.rs
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,7 @@ impl AssistantPanel {
workspace.project().clone(),
Default::default(),
None,
NewContext.boxed_clone(),
Some(NewContext.boxed_clone()),
cx,
);

Expand Down
27 changes: 27 additions & 0 deletions crates/dap/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[package]
name = "dap"
version = "0.1.0"
edition = "2021"
publish = false
license = "GPL-3.0-or-later"

[lints]
workspace = true

[dependencies]
anyhow.workspace = true
async-trait.workspace = true
dap-types = { git = "https:/zed-industries/dap-types", rev = "b95818130022bfc72bbcd639bdd0c0358c7549fc" }
fs.workspace = true
futures.workspace = true
gpui.workspace = true
http_client.workspace = true
log.workspace = true
node_runtime.workspace = true
parking_lot.workspace = true
schemars.workspace = true
serde.workspace = true
serde_json.workspace = true
settings.workspace = true
smol.workspace = true
task.workspace = true
1 change: 1 addition & 0 deletions crates/dap/LICENSE-GPL
9 changes: 9 additions & 0 deletions crates/dap/docs/breakpoints.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Overview

The active `Project` is responsible for maintain opened and closed breakpoints
as well as serializing breakpoints to save. At a high level project serializes
the positions of breakpoints that don't belong to any active buffers and handles
converting breakpoints from serializing to active whenever a buffer is opened/closed.

`Project` also handles sending all relevant breakpoint information to debug adapter's
during debugging or when starting a debugger.
Loading
Loading