summary refs log tree commit diff
path: root/README.org
diff options
context:
space:
mode:
Diffstat (limited to 'README.org')
-rw-r--r--README.org25
1 files changed, 25 insertions, 0 deletions
diff --git a/README.org b/README.org
index c43b4aa..2d782e2 100644
--- a/README.org
+++ b/README.org
@@ -4,6 +4,31 @@
 - keep it simple
 - configurations work the same way, everywhere
 * emacs
+** go
+*** compile
+You can compile a go binary using =M-x compile= inside a go buffer.
+*** debugging
+We need to install =dlv= first:
+#+begin_src sh
+go install github.com/go-delve/delve/cmd/dlv@latest
+#+end_src
+
+For =dap-mode= you also need to install =nodejs=. On arch you do this with
+#+begin_src sh
+sudo pacman -Syu nodejs
+#+end_src
+
+Then from emacs =M-x dap-go-set= to install the dependencies.
+
+It's unclear as to why =node= is still in the picture since it looks like =dlv= seems to support =dap= directly (see [[https://github.com/go-delve/delve/issues/1515][delve/issues/1515]]).
+
+To debug a program, you can set breakpoints where you need with =M-x dap-breakpoint-add=. To start the debugger hit =M-x dap-debug=.
+
+If the program you debug needs argument, call =M-x dap-debug-edit-template=. Add the argument(s) you need to the program and evaluate the buffer (=C-c C-e=). Next time you call the debugger, the argument(s) will be passed to the program. You can also set environment variables if you need.
+
+The binding =C-c d= will bring an hydra menu for debugging.
+
+The REPL is not brought on by default when starting a debugging session, but =M-x dap-ui-repl= will start a REPL (the position is controlled by the variable =dap-ui-buffer-configurations=).
 * Linux
 ** installed packages
 Under arch linux, you can run the following to get the list of installed packages: