feat(lsp): allow C-c C-f to perform extra formatting not done by on-save hook

This commit is contained in:
2021-06-29 00:36:36 +01:00
parent 850c9dbbdd
commit 14f394c7ca
2 changed files with 17 additions and 2 deletions

View File

@@ -81,9 +81,14 @@
:init
(defun siren-lsp-go-mode-setup ()
(setq-local siren-lsp-format-buffer-func 'siren-lsp-go-format-buffer)
(lsp-format-buffer-on-save-mode t)
(lsp-organize-imports-on-save-mode t)
(lsp-deferred)))
(lsp-deferred))
(defun siren-lsp-go-format-buffer ()
(lsp-format-buffer)
(golines-format-buffer)))
(use-package go-dlv
:defer t)

View File

@@ -9,7 +9,7 @@
(use-package lsp-mode
:bind (:map lsp-mode-map
("C-c C-." . lsp-rename)
("C-c C-f" . lsp-format-buffer))
("C-c C-f" . siren-lsp-format-buffer))
:commands
lsp
@@ -52,6 +52,16 @@
(setq-local company-idle-delay 0.1
company-minimum-prefix-length 1))
;; Allow overriding manual buffer formatting triggered by C-c C-f. Typically
;; this will be used to perform additional formatting steps not performed by
;; default via the on-safe hook.
(defvar-local siren-lsp-format-buffer-func nil)
(defun siren-lsp-format-buffer ()
(interactive)
(if siren-lsp-format-buffer-func
(apply siren-lsp-format-buffer-func nil)
(lsp-format-buffer)))
:config
(define-minor-mode lsp-format-buffer-on-save-mode
"Run lsp-format-buffer as a before-save-hook."