summaryrefslogtreecommitdiffstats
path: root/lisp/init-python.el
blob: bf50aaa6e953ec02be877bb3d921a207e4ae0579 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
;;; init-python.el --- configure python language support  -*- lexical-binding:t -*-
;;; Commentary:
;;; Code:

(defun mpolden/python-mode-buffer-local-variables ()
  "Set buffer-local variables for `python-mode'."
  ;; highlight lines longer than 88 characters
  (setq-local fill-column 88)
  ;; use flat index in imenu
  (setq-local imenu-create-index-function
              'python-imenu-create-flat-index))

(use-package python
  :mode ("\\.py\\'" . python-mode)
  :hook (python-mode . mpolden/python-mode-buffer-local-variables)
  :config
  ;; prefer flake8 as flymake backend
  (when (executable-find "flake8")
    (setq python-flymake-command '("flake8" "-")))

  ;; set prefered interpreter
  (setq python-shell-interpreter (or (executable-find "ipython")
                                     (executable-find "python3")
                                     (executable-find "python"))))

(provide 'init-python)

;;; init-python.el ends here