This package contains python.el
This package is a mirror of the current GNU/Emacs trunk so DON’T EXPECT IT TO WORK on Emacs 24.x (yet). Compatibility work will take place after Emacs 24.3 release (where this python.el is included). If you use an Emacs 24 version less than 24.3 try the emacs-24 branch instead.
- Author: Fabián Ezequiel Gallina
- Contact: fabian at anue dot biz
- Project homepage: http://github.com/fgallina/python.el
- My Blog: http://www.from-the-cloud.com
- Downloads page: http://github.com/fgallina/python.el/downloads
- IRC: #python.el at freenode!
This is a home-brew python-mode with some excerpts from GNU/Emacs’ python.el.
It aims to provide the stuff you’ll expect from a major mode for python editing while keeping it simple.
Currently it implements:
Syntax highlighting, Indentation, Movement, Shell interaction, Shell completion, Shell virtualenv support, Pdb tracking, Symbol completion, Skeletons, FFAP, Code Check, Eldoc, imenu.
- Syntax highlighting
- Solid (auto)indentation support
- auto-detection of indentation levels for current file
- Triple quoted strings support (stolen without guilt from GNU/Emacs’ original python.el)
- Fancy variable assignment colorization
- Movement commands you’ll expect from a major-mode.
- Python shell integration (not only for Python 2 but also Python 3!)
- Python shell completion (Same as above!)
- Python shell virtualenv support (as simple as setting a variable!)
- PDB Tracking (it even supports ipdb!)
- Symbol completion that sucks because a running inferior shell process and valid code in the current buffer are needed (Don’t blame me, it’s like that in every python-mode I know). Notice I don’t recommend this thing, use ropemacs instead
- Skeletons with a tight integration with dabbrev out of the box
- FFAP (Find Filename At Point), click on an import statement and go to the module definition.
- Code check via pychecker by default (this is customizable of course)
- Eldoc support (this suffers the same drawbacks as the symbol completion, but it’s the only sane way to do it from Elisp)
- imenu support to easily navigate your code
- add-log-current-defun support
- hideshow support
- outline support
- fill paragraph
The code is well organized in parts with some clean sensitive naming. While I did the best effort to keep the code as clean as possible it might be you find some parts that sucks and that’s OK since I’m not an Elisp guru. Please ping me or fill a ticket when that happens, could be a nice learning experience.
Emacs development version.
Add this to your .emacs:
(add-to-list 'load-path "/folder/containing/file") (require 'python)
M-x describe-mode when editing a python file should be enough to get some good overview about what this major-mode is all about :)
If you find a bug please report it sending an email listed in the top of the file or just use the github tracker.
python.el is free software under the GPL v3, see LICENSE file for details.