doomemacs/init/init-python.el
2014-12-05 17:28:03 -05:00

42 lines
1.3 KiB
EmacsLisp

(provide 'init-python)
(use-package python
:mode ("\\.py\\'" . python-mode)
:interpreter ("python" . python-mode)
:init (setq python-indent-offset 4)
:config
(progn
(setq python-environment-directory my-tmp-dir)
(setq python-shell-interpreter "ipython")
(add-hook! 'python-mode-hook
(setq my-switch-to-repl-func 'python-shell-switch-to-shell
my-send-region-to-repl-func 'python-shell-send-region
my-run-code-interpreter "python"))
;; Interferes with smartparens
(bind python-mode-map (kbd "DEL") nil)
(bind 'motion python-mode-map "gd" 'jedi:goto-definition)
(require 'jedi)
(unless (file-directory-p python-environment-directory)
(jedi:install-server))
(add-hook 'python-mode-hook 'jedi:ac-setup)
(use-package nose
:commands nose-mode
:init
(progn
;; Reset nose keymap, we'll set new ones in my-keymaps.el
(defvar nose-mode-map (make-sparse-keymap))
(associate-minor-mode "/test_.+\\.py\\'" 'nose-mode))
:config
(bind 'normal nose-mode-map
",tr" 'nosetests-again
",ta" 'nosetests-all
",ts" 'nosetests-one
",tv" 'nosetests-module
",tA" 'nosetests-pdb-all
",tO" 'nosetests-pdb-one
",tV" 'nosetests-pdb-module))))