Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

file 86 lines (67 sloc) 3.108 kb

This package contains python.el

Info

Introduction

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.

Requirements

This package was tested with GNU/Emacs 23 only, it should work with others versions too but I can’t ensure anything. Besides from that nothing else is required.

Installation/Usage

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 :)

Bug Reports

If you find a bug please report it sending an email listed in the top of the file or just use the github tracker.

License

python.el is free software under the GPL v3, see LICENSE file for details.

Something went wrong with that request. Please try again.