diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 1d41174..b517fc5 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -188,17 +188,18 @@ (use-package iedit) (use-package wgrep) -(defun reformat-by-lsp () - "Reformat a file using LSP actions." - (when (bound-and-true-p lsp-mode) - (progn - (lsp-organize-imports) - (lsp-format-buffer)))) +(use-package apheleia + :config + (apheleia-global-mode) + (setf (alist-get 'python-mode apheleia-mode-alist) + '(ruff-isort ruff)) + (setf (alist-get 'python-ts-mode apheleia-mode-alist) + '(ruff-isort ruff)) + ) (use-package lsp-mode :bind (:map lsp-mode-map ("M-?" . lsp-find-references)) - :hook (before-save . reformat-by-lsp) :init (setq lsp-keymap-prefix "C-z l") :config diff --git a/.config/setup/01-install-packages.sh b/.config/setup/01-install-packages.sh index 96e7dd1..1778c0e 100755 --- a/.config/setup/01-install-packages.sh +++ b/.config/setup/01-install-packages.sh @@ -93,6 +93,7 @@ PIPX_PKGS=( # keep-sorted start python-lsp-server rshell + ruff # keep-sorted end ) @@ -109,7 +110,6 @@ PYLSP_PLUGINS=( pydantic pylsp-mypy pylsp-rope - python-lsp-ruff types-pyxdg # keep-sorted end )