summaryrefslogtreecommitdiff
path: root/init/km-python.el
blob: 7840646ece8ce0f62b0989622f5f96ed71c7b655 (plain)
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
;; http://www.emacswiki.org/emacs/PythonProgrammingInEmacs#toc5
(defun km/setup-ipython-shell ()
  (interactive)
  (setq
   python-shell-interpreter "ipython"
   python-shell-interpreter-args ""
   python-shell-prompt-regexp "In \\[[0-9]+\\]: "
   python-shell-prompt-output-regexp "Out\\[[0-9]+\\]: "
   python-shell-completion-setup-code
   "from IPython.core.completerlib import module_completion"
   python-shell-completion-module-string-code
   "';'.join(module_completion('''%s'''))\n"
   python-shell-completion-string-code
   "';'.join(get_ipython().Completer.all_completions('''%s'''))\n"))

(defun km/python-hook ()
  (local-set-key (kbd "C-c m t") '(lambda ()
                                    (interactive)
                                    (compile "py.test")))
  (local-set-key (kbd "C-c m T") '(lambda ()
                                    (interactive)
                                    (compile "py.test2"))))

(add-hook 'python-mode-hook 'km/python-hook)

(add-to-list 'interpreter-mode-alist '("python2" . python-mode))
(add-to-list 'interpreter-mode-alist '("python3" . python-mode))