dev: merging main into personal branch

This commit is contained in:
Matt Nish-Lapidus 2023-11-28 10:07:09 -05:00
commit 5a5e7690d9
4 changed files with 31 additions and 20 deletions

View file

@ -25,8 +25,8 @@ be formatted and returned to the buffer using
** Module flags
- +onsave ::
Enable reformatting of a buffer when it is saved. See
[[var:+format-on-save-disabled-modes]] to control what major modes to (or not to)
format on save.
[[var:+format-on-save-disabled-modes]] to disable format on save for certain
major modes.
** Packages
- [[doom-package:apheleia]]
@ -60,8 +60,9 @@ When this flag is enabled, you shouldn't need to do anything other than write
code and save it.
** Without +onsave
Without the flag, formatting will only occur when either =apheleia-format-buffer=
or =+format/buffer= is called.
Without the flag, formatting will only occur when either =+format/buffer=
or =apheleia-format-buffer= is called. The difference between them is
=+format/buffer= will use a LSP server if configured and available.
* Configuration
@ -113,11 +114,11 @@ This behaviour is controlled via [[var:+format-on-save-disabled-modes]] thus;
In this case, =emacs-lisp-mode=, =sql-mode=, =tex-mode= and =latex-mode= will not be
formatted on save, but can still be formatted by manually invoking the commands
=apheleia-format-buffer= or =+format/buffer=.
=+format/buffer= or =apheleia-format-buffer=.
** Disabling the LSP formatter
If you are in a buffer with ~lsp-mode~ enabled and a server that supports
=textDocument/formatting=, it will be used instead of [[doom-package:format-all]]'s formatter.
=textDocument/formatting=, it will be used instead of [[doom-package:apheleia]]'s formatter.
+ To disable this behavior universally use: ~(setq +format-with-lsp nil)~
+ To disable this behavior in one mode: ~(setq-hook! 'python-mode-hook

View file

@ -5,11 +5,10 @@
tex-mode ; latexindent is broken
latex-mode
org-msg-edit-mode) ; doesn't need a formatter
"A list of major modes in which to reformat the buffer upon saving.
If this list begins with `not', then it negates the list.
If it is `t', it is enabled in all modes.
If nil, it is disabled in all modes, the same as if the +onsave flag wasn't
used at all.
"A list of major modes in which to not reformat the buffer upon saving.
If it is t, it is disabled in all modes, the same as if the +onsave flag
wasn't used at all.
If nil, formatting is enabled in all modes.
Irrelevant if you do not have the +onsave flag enabled for this module.")
(defvar +format-preserve-indentation t
@ -22,7 +21,8 @@ Indentation is always preserved when formatting regions.")
"If non-nil, format with LSP formatter if it's available.
This can be set buffer-locally with `setq-hook!' to disable LSP formatting in
select buffers.")
select buffers.
This has no effect on the +onsave flag, apheleia will always be used there.")
(defvaralias '+format-with 'apheleia-formatter
"Set this to explicitly use a certain formatter for the current buffer.")
@ -34,19 +34,20 @@ select buffers.")
(when (modulep! +onsave)
(add-hook 'doom-first-file-hook #'apheleia-global-mode))
(defun +format-inhibit-maybe-h ()
"Enable formatting on save in certain major modes.
(defun +format-maybe-inhibit-h ()
"Check if formatting should be disabled for current buffer.
This is controlled by `+format-on-save-disabled-modes'."
(or (eq major-mode 'fundamental-mode)
(string-blank-p (buffer-name))
(eq +format-on-save-disabled-modes t)
(not (null (memq major-mode +format-on-save-disabled-modes)))))
(after! apheleia-core
(after! apheleia
(add-to-list 'doom-debug-variables '(apheleia-log-only-errors . nil))
(when (modulep! +onsave)
(add-to-list 'apheleia-inhibit-functions #'+format-inhibit-maybe-h)))
(add-to-list 'apheleia-inhibit-functions #'+format-maybe-inhibit-h)))
;;

View file

@ -102,16 +102,23 @@ If no viewer is found, `latex-preview-pane-mode' is used.")
(add-hook! '(tex-mode-local-vars-hook
latex-mode-local-vars-hook)
:append #'lsp!))
;; Define a function to compile the project.
(defun +latex/compile ()
(interactive)
(TeX-save-document (TeX-master-file))
(TeX-command TeX-command-default 'TeX-master-file -1))
(map! :localleader
:map latex-mode-map
:desc "View" "v" #'TeX-view
:desc "Compile" "c" #'TeX-command-run-all
:desc "Compile" "c" #'+latex/compile
:desc "Run all" "a" #'TeX-command-run-all
:desc "Run a command" "m" #'TeX-command-master)
(map! :after latex
:localleader
:map LaTeX-mode-map
:desc "View" "v" #'TeX-view
:desc "Compile" "c" #'TeX-command-run-all
:desc "Compile" "c" #'+latex/compile
:desc "Run all" "a" #'TeX-command-run-all
:desc "Run a command" "m" #'TeX-command-master))

View file

@ -4,7 +4,9 @@
(set-repl-handler! 'swift-mode #'run-swift)
(when (modulep! +lsp)
(add-hook 'swift-mode-local-vars-hook #'lsp! 'append))
(add-hook 'swift-mode-local-vars-hook #'lsp! 'append)
(when (modulep! :tools lsp +eglot)
(set-eglot-client! swift-mode 'swift-mode '("sourcekit-lsp"))))
(when (modulep! +tree-sitter)
(add-hook 'swift-mode-local-vars-hook #'tree-sitter! 'append)))
@ -25,7 +27,7 @@
(use-package! lsp-sourcekit
:when (modulep! +lsp)
:when (and (modulep! +lsp) (not (modulep! :tools lsp +eglot)))
:after swift-mode
:init (add-hook 'swift-mode-local-vars-hook #'lsp! 'append)
:config