diff --git a/modules/lang/python/autoload/python.el b/modules/lang/python/autoload/python.el index 763bf0886..b799441a0 100644 --- a/modules/lang/python/autoload/python.el +++ b/modules/lang/python/autoload/python.el @@ -53,3 +53,10 @@ ((when-let (bin (projectile-locate-dominating-file default-directory "bin/python")) (setq-local doom-modeline-python-executable (expand-file-name "bin/python" bin)))) ((executable-find exe)))))) + +;;;###autoload +(defun +python/optimize-imports () + "organize imports" + (interactive) + (pyimport-remove-unused) + (pyimpsort-buffer)) diff --git a/modules/lang/python/config.el b/modules/lang/python/config.el index 39bb007cd..2abe9f80e 100644 --- a/modules/lang/python/config.el +++ b/modules/lang/python/config.el @@ -129,10 +129,12 @@ called.") :config (map! :map python-mode-map :localleader - (:prefix ("i" . "insert") - :desc "Missing imports" "m" #'pyimport-insert-missing) - (:prefix ("r" . "remove") - :desc "Unused imports" "r" #'pyimport-remove-unused))) + (:prefix ("i" . "imports") + :desc "Insert missing imports" "i" #'pyimport-insert-missing + :desc "Remove unused imports" "r" #'pyimport-remove-unused + :desc "Sort imports" "s" #'pyimpsort-buffer + :desc "Optimize imports" "o" #'+python/optimize-imports + ))) (use-package! nose diff --git a/modules/lang/python/packages.el b/modules/lang/python/packages.el index 5ed7f3af0..e04502601 100644 --- a/modules/lang/python/packages.el +++ b/modules/lang/python/packages.el @@ -27,3 +27,4 @@ ;; Import managements (package! pyimport) +(package! pyimpsort)