diff --git a/helix-term/src/application.rs b/helix-term/src/application.rs
index 9f0e751e..0d10c9b5 100644
--- a/helix-term/src/application.rs
+++ b/helix-term/src/application.rs
@@ -1,9 +1,16 @@
-use helix_core::syntax;
+use helix_core::{syntax, Selection};
 use helix_dap::Payload;
 use helix_lsp::{lsp, util::lsp_pos_to_pos, LspProgressMap};
 use helix_view::{theme, Editor};
 
-use crate::{args::Args, compositor::Compositor, config::Config, job::Jobs, ui};
+use crate::{
+    args::Args,
+    commands::{align_view, Align},
+    compositor::Compositor,
+    config::Config,
+    job::Jobs,
+    ui,
+};
 
 use log::error;
 
@@ -300,13 +307,22 @@ impl Application {
                             Some(helix_dap::Source {
                                 path: Some(src), ..
                             }),
+                        line,
+                        column,
                         ..
                     }) = &debugger.stack_pointer
                     {
                         let path = src.clone();
+                        let line = *line;
+                        let column = *column;
                         self.editor
                             .open(path, helix_view::editor::Action::Replace)
                             .unwrap();
+
+                        let (view, doc) = current!(self.editor);
+                        let pos = doc.text().line_to_char(line - 1) + column;
+                        doc.set_selection(view.id, Selection::point(pos));
+                        align_view(doc, view, Align::Center);
                     }
                     self.editor.set_status(status);
                 }
diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs
index cc45f79a..d405de16 100644
--- a/helix-term/src/commands.rs
+++ b/helix-term/src/commands.rs
@@ -98,13 +98,13 @@ impl<'a> Context<'a> {
     }
 }
 
-enum Align {
+pub enum Align {
     Top,
     Center,
     Bottom,
 }
 
-fn align_view(doc: &Document, view: &mut View, align: Align) {
+pub fn align_view(doc: &Document, view: &mut View, align: Align) {
     let pos = doc
         .selection(view.id)
         .primary()