keybindings and default features. mainly, turn off the ui toolbar as clicking those buttons just results in errors for me.
131 lines
3.2 KiB
EmacsLisp
131 lines
3.2 KiB
EmacsLisp
(use-package emacs
|
|
:ensure nil
|
|
:hook ((prog-mode . electric-pair-mode)))
|
|
|
|
;; (use-package idle-highlight-mode
|
|
;; :ensure t
|
|
;; :hook ((prog-mode . idle-highlight-mode)))
|
|
|
|
(use-package treesit-auto
|
|
:ensure t
|
|
:custom
|
|
(treesit-auto-install 'prompt)
|
|
:config
|
|
(treesit-auto-add-to-auto-mode-alist 'all)
|
|
(global-treesit-auto-mode))
|
|
|
|
(defun gud-quit ()
|
|
"Quits out of the current GDB session."
|
|
(interactive)
|
|
(gud-basic-call "quit"))
|
|
|
|
(defun gud-start ()
|
|
"Starts execution of the program in GDB."
|
|
(interactive)
|
|
(gud-basic-call "start"))
|
|
|
|
(defun gud-kill ()
|
|
"Terminates execution of the running program in GDB."
|
|
(interactive)
|
|
(gud-basic-call "kill"))
|
|
|
|
(defun gud-step-into ()
|
|
"Steps execution to the next line."
|
|
(interactive)
|
|
(gud-step 1))
|
|
|
|
(defun gud-step-over ()
|
|
"Steps execution to the next line, skipping over functions."
|
|
(interactive)
|
|
(gud-next 1))
|
|
|
|
(defun gud-step-out ()
|
|
"Steps execution out of the current function."
|
|
(interactive)
|
|
(gud-finish 1))
|
|
|
|
(defun gud-set-breakpoint ()
|
|
"Sets a debugger breakpoint on the current line."
|
|
(interactive)
|
|
(gud-break 1))
|
|
|
|
(defun gud-remove-breakpoint ()
|
|
"Removes a debugger breakpoint from the current line."
|
|
(interactive)
|
|
(gud-remove 1))
|
|
|
|
(use-package gdb-mi
|
|
:bind
|
|
( :map gud-minor-mode-map
|
|
("<f5>" . 'gud-start)
|
|
("S-<f5>" . 'gud-kill)
|
|
("<f9>" . 'gud-cont)
|
|
("<f7>" . 'gud-step-into)
|
|
("<f8>" . 'gud-step-over)
|
|
("S-<f8>" . 'gud-step-out)
|
|
("C-c b" . 'gud-set-breakpoint)
|
|
("C-c B" . 'gud-remove-breakpoint)
|
|
("C-q" . 'gud-quit))
|
|
:config
|
|
(setq gdb-many-windows t)
|
|
(setq gdb-restore-window-configuration-after-quit 'if-gdb-many-windows)
|
|
(setq gdb-debuginfod-enable-setting nil)
|
|
(gud-tooltip-mode t))
|
|
|
|
(defun gered/enable-lsp ()
|
|
(interactive)
|
|
(add-hook 'prog-mode-hook 'lsp)
|
|
(message "Adding lsp hook to prog-modes"))
|
|
|
|
(defun gered/disable-lsp ()
|
|
(interactive)
|
|
(remove-hook 'prog-mode-hook 'lsp)
|
|
(message "Removing lsp hook from prog-modes"))
|
|
|
|
(use-package lsp-mode
|
|
:ensure t
|
|
:init
|
|
(setq lsp-keymap-prefix "M-z")
|
|
:hook
|
|
((prog-mode . lsp)
|
|
(lsp-mode . lsp-enable-which-key-integration))
|
|
:config
|
|
(setq lsp-enable-on-type-formatting nil)
|
|
(setq lsp-headerline-breadcrumb-enable nil)
|
|
(setq lsp-enable-snippet nil)
|
|
;; seems to remove the semi-annoying "Unable to autoconfigure company-mode" warning
|
|
;; but still leaves completion via corfu working?
|
|
(setq lsp-completion-provider :none)
|
|
:commands lsp)
|
|
|
|
(use-package lsp-ui
|
|
:ensure t
|
|
:commands lsp-ui)
|
|
|
|
(use-package lsp-treemacs
|
|
:ensure t
|
|
:after lsp-mode
|
|
:commands lsp-treemacs-errors-list)
|
|
|
|
(use-package dap-mode
|
|
:ensure t
|
|
:bind
|
|
( :map dap-mode-map
|
|
("<f9>" . 'dap-continue)
|
|
("<f7>" . 'dap-step-in)
|
|
("<f8>" . 'dap-next)
|
|
("S-<f8>" . 'dap-step-out)
|
|
("C-c C-d b" . 'dap-breakpoint-add)
|
|
("C-c C-d B" . 'dap-breakpoint-delete)
|
|
("C-c C-d e" . 'dap-eval-thing-at-point)
|
|
("C-c C-d E" . 'dap-eval)
|
|
("C-c C-d s" . 'dap-switch-stack-frame)
|
|
("C-q" . 'dap-disconnect)
|
|
("M-<prior>" . 'dap-up-stack-frame)
|
|
("M-<next>" . 'dap-down-stack-frame))
|
|
:commands dap-mode
|
|
:init
|
|
(setq dap-auto-configure-features '(sessions locals tooltip breakpoints expressions))
|
|
:config
|
|
(use-package dap-gdb))
|