diff options
Diffstat (limited to 'modules/prog-python.el')
| -rw-r--r-- | modules/prog-python.el | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/modules/prog-python.el b/modules/prog-python.el new file mode 100644 index 00000000..5dc06bf6 --- /dev/null +++ b/modules/prog-python.el @@ -0,0 +1,74 @@ +;;; prog-python --- Python Specific Setup and Functionality -*- lexical-binding: t; -*- +;; author Craig Jennings <c@cjennings.net> + +;;; Commentary: + +;;; Code: + +;; ------------------------- General Settings ------------------------ + +(add-hook 'python-mode-hook (lambda () (setq indent-tabs-mode nil))) ;; use spaces, not tabs + +;; ----------------------------------- Python ---------------------------------- +;; remove the guess indent python message + +(use-package python + :config + (setq python-indent-guess-indent-offset-verbose nil)) + +;; --------------------------- Python Mode --------------------------- + +(use-package python-mode + :ensure nil ;; built-in + :hook + ((python-mode . flyspell-prog-mode) + (python-mode . superword-mode) + (python-mode . company-mode) + (python-mode . electric-pair-mode)) ;; auto-complete braces and pairs + :custom + (python-shell-interpreter "python3") + (setq python-indent-offset 4)) ;; 4 spaces default indent + +;; ----------------------------------- Poetry ---------------------------------- +;; virtual environments and dependencies + +;; (use-package poetry +;; :defer t +;; :config +;; ;; Checks for the correct virtualenv. Better strategy IMO because the default +;; ;; one is quite slow. +;; (setq poetry-tracking-strategy 'switch-buffer) +;; :hook (python-mode . poetry-tracking-mode)) + +;; ---------------------------------- Blacken ---------------------------------- +;; formatting on save + +(use-package blacken + :defer t + :custom + (blacken-allow-py36 t) + (blacken-skip-string-normalization t) + :hook (python-mode . blacken-mode)) + +;; ---------------------------------- Numpydoc --------------------------------- +;; automatically insert NumPy style docstrings in Python function definitions + +(use-package numpydoc + :defer t + :custom + (numpydoc-insert-examples-block nil) + (numpydoc-template-long nil) + :bind (:map python-mode-map + ("C-c C-n" . numpydoc-generate))) + +;; ------------------------------------ Toml ----------------------------------- + +(use-package toml-mode + :defer .5) + +(use-package eldoc-toml + :defer .5) + + +(provide 'prog-python) +;;; prog-python.el ends here |
