aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilip Dutescu2022-10-15 20:33:57 +0000
committerGitHub2022-10-15 20:33:57 +0000
commit2457111bf074d4b5c1d45f76e2c7d593ceec5895 (patch)
treeeb1cb24ac55207c6f3fcd9279435481f14653bd6
parent661f48d62f9d6920f6929b5ae5a5365401459c61 (diff)
feat(csharp,debug): add C# debugger support (#4213)
-rw-r--r--helix-dap/src/types.rs2
-rw-r--r--helix-view/src/handlers/dap.rs2
-rw-r--r--languages.toml19
3 files changed, 21 insertions, 2 deletions
diff --git a/helix-dap/src/types.rs b/helix-dap/src/types.rs
index 45f45cca..51ecfe1b 100644
--- a/helix-dap/src/types.rs
+++ b/helix-dap/src/types.rs
@@ -726,7 +726,7 @@ pub mod events {
#[serde(tag = "event", content = "body")]
// seq is omitted as unused and is not sent by some implementations
pub enum Event {
- Initialized,
+ Initialized(Option<DebuggerCapabilities>),
Stopped(Stopped),
Continued(Continued),
Exited(Exited),
diff --git a/helix-view/src/handlers/dap.rs b/helix-view/src/handlers/dap.rs
index e39584c3..2e86871b 100644
--- a/helix-view/src/handlers/dap.rs
+++ b/helix-view/src/handlers/dap.rs
@@ -262,7 +262,7 @@ impl Editor {
log::info!("{}", output);
self.set_status(format!("{} {}", prefix, output));
}
- Event::Initialized => {
+ Event::Initialized(_) => {
// send existing breakpoints
for (path, breakpoints) in &mut self.breakpoints {
// TODO: call futures in parallel, await all
diff --git a/languages.toml b/languages.toml
index 7eb45d8b..08d02a49 100644
--- a/languages.toml
+++ b/languages.toml
@@ -233,6 +233,25 @@ comment-token = "//"
indent = { tab-width = 4, unit = "\t" }
language-server = { command = "OmniSharp", args = [ "--languageserver" ] }
+[language.debugger]
+name = "netcoredbg"
+transport = "tcp"
+command = "netcoredbg"
+args = [ "--interpreter=vscode" ]
+port-arg = "--server={}"
+
+[[language.debugger.templates]]
+name = "launch"
+request = "launch"
+completion = [ { name = "path to dll", completion = "filename" } ]
+args = { type = "coreclr", console = "internalConsole", internalConsoleOptions = "openOnSessionStart", program = "{0}" }
+
+[[language.debugger.templates]]
+name = "attach"
+request = "attach"
+completion = [ "pid" ]
+args = { processId = "{0}" }
+
[[grammar]]
name = "c-sharp"
source = { git = "https://github.com/tree-sitter/tree-sitter-c-sharp", rev = "5b60f99545fea00a33bbfae5be956f684c4c69e2" }