Coder Social home page Coder Social logo

python.el's Introduction

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.

python.el's People

Contributors

dandavison avatar fgallina avatar

Stargazers

Jason Grout avatar

Watchers

Jason Grout avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.