summaryrefslogtreecommitdiff
path: root/emacs/custom
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--emacs/custom/fcuny-navigation.el8
-rw-r--r--emacs/custom/fcuny-prog.el35
-rw-r--r--emacs/custom/fcuny-ui.el4
3 files changed, 46 insertions, 1 deletions
diff --git a/emacs/custom/fcuny-navigation.el b/emacs/custom/fcuny-navigation.el
index de17080..1a58666 100644
--- a/emacs/custom/fcuny-navigation.el
+++ b/emacs/custom/fcuny-navigation.el
@@ -152,4 +152,12 @@
:config
(which-key-mode))
+;; treemacs is being pulled by lsp/dap mode, so let's be explicit
+;; about getting it installed, and ensure that it writes its own data
+;; in our var directory.
+(use-package treemacs
+ :ensure t
+ :custom
+ (treemacs-persist-file (expand-file-name "treemacs-persist" fcuny/path-emacs-var)))
+
(provide 'fcuny-navigation)
diff --git a/emacs/custom/fcuny-prog.el b/emacs/custom/fcuny-prog.el
index 3cc97d9..1ca50ca 100644
--- a/emacs/custom/fcuny-prog.el
+++ b/emacs/custom/fcuny-prog.el
@@ -55,6 +55,33 @@
:ensure t
:commands lsp-ivy-workspace-symbol)
+(use-package dap-mode
+ :ensure t
+ :after (lsp-mode)
+ :bind ("C-c d" . dap-hydra)
+ :init
+ (use-package dap-go)
+ :custom
+ (dap-utils-extension-path (expand-file-name ".extension" fcuny/path-emacs-var))
+ (dap-breakpoints-file (expand-file-name "dap-breakpoints" fcuny/path-emacs-var))
+ (dap-ui-controls-mode nil)
+ (dap-ui-buffer-configurations
+ `((,dap-ui--locals-buffer . ((side . right) (slot . 1) (window-width . 0.2)))
+ (,dap-ui--expressions-buffer . ((side . right) (slot . 2) (window-width . 0.2)))
+ (,dap-ui--sessions-buffer . ((side . right) (slot . 3) (window-width . 0.2)))
+ (,dap-ui--breakpoints-buffer . ((side . right) (slot . 4) (window-width . 0.2)))
+ (,dap-ui--repl-buffer . ((side . bottom) (slot . 1) (window-width . 0.4)))
+ (,dap-ui--debug-window-buffer . ((side . bottom) (slot . 2) (window-height . 0.2)))))
+ :config
+ (dap-mode t)
+ (dap-ui-mode t)
+ (dap-tooltip-mode t)
+ (tooltip-mode t))
+
+;; I don't want to have the icons as an overlay in the UI, I prefer to
+;; use the bindings or the mapping provided by hydra
+(eval-after-load 'lsp-mode '(advice-add 'dap-ui--update-controls :override #'ignore))
+
(use-package sh-script
:mode ("bashrc" . sh-mode)
:hook (after-save . executable-make-buffer-file-executable-if-script-p)
@@ -76,7 +103,8 @@
(use-package go-mode
:ensure t
:hook ((before-save . lsp-format-buffer)
- (before-save . lsp-organize-imports))
+ (before-save . lsp-organize-imports)
+ (go-mode . fcuny/setup-go-mode-compile))
:config
(when (memq window-system '(mac ns))
(exec-path-from-shell-copy-env "GOPATH"))
@@ -96,4 +124,9 @@
:bind (:map puppet-mode-map
("C-c |" . puppet-align-block)))
+(defun fcuny/setup-go-mode-compile ()
+ (if (not (string-match "go" compile-command))
+ (set (make-local-variable 'compile-command)
+ "go build -v")))
+
(provide 'fcuny-prog)
diff --git a/emacs/custom/fcuny-ui.el b/emacs/custom/fcuny-ui.el
index 693c0a9..c350088 100644
--- a/emacs/custom/fcuny-ui.el
+++ b/emacs/custom/fcuny-ui.el
@@ -84,4 +84,8 @@
(setq uniquify-buffer-name-style 'forward)
(setq uniquify-separator "/"))
+;; required for dap-mode and dap-ui-mode
+(use-package posframe
+ :ensure t)
+
(provide 'fcuny-ui)