doomemacs/init/init-python.el

42 lines
1.3 KiB
EmacsLisp
Raw Normal View History

2014-09-06 05:08:40 +08:00
(provide 'init-python)
(use-package python
:mode ("\\.py\\'" . python-mode)
:interpreter ("python" . python-mode)
:init (setq python-indent-offset 4)
2014-09-06 05:08:40 +08:00
:config
(progn
2014-12-06 06:28:03 +08:00
(setq python-environment-directory my-tmp-dir)
2014-09-21 04:54:04 +08:00
(setq python-shell-interpreter "ipython")
2014-09-06 05:08:40 +08:00
2014-09-21 04:54:04 +08:00
(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"))
2014-09-06 05:08:40 +08:00
;; Interferes with smartparens
(bind python-mode-map (kbd "DEL") nil)
(bind 'motion python-mode-map "gd" 'jedi:goto-definition)
2014-12-06 06:28:03 +08:00
(require 'jedi)
(unless (file-directory-p python-environment-directory)
(jedi:install-server))
(add-hook 'python-mode-hook 'jedi:ac-setup)
2014-09-21 04:54:04 +08:00
(use-package nose
2014-12-06 06:28:03 +08:00
:commands nose-mode
2014-09-06 05:08:40 +08:00
:init
2014-09-21 04:54:04 +08:00
(progn
;; Reset nose keymap, we'll set new ones in my-keymaps.el
(defvar nose-mode-map (make-sparse-keymap))
2014-12-06 06:28:03 +08:00
(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))))