We are actually getting to the point where this mode would actually be useful for developing with.
Next let's get skeleton support working now.
Here are the new functions I've copied over:
python-use-skeletons
python-skeletons
python-mode-abbrev-table
def-python-skeleton
def-python-skeleton if
define-skeleton python-else
def-python-skeleton while
def-python-skeleton for
def-python-skeleton try/except
define-skeleton python-target
def-python-skeleton try/finally
def-python-skeleton def
def-python-skeleton class
python-default-template "if"
python-expand-template
- python-use-skeletons
This controls whether or not skeleton functions are added to the python-mode-abbrev-table
- python-skeletons
A list of all the skeletons. apparently used when working on compound statements.
- python-mode-abbrev-table
This is where the actual abbrevs are stored
- def-python-skeleton
A macro for getting a skeletons "registered" in the abbrev system. First it creates a name for the skeleton of the form: python-insert-foo. Then if adds this name to the pyton-mode-abbrev-table. Finally it calls define-skeleton and creates the skeleton.
- Each of the following create the appropriate skeleton by name
def-python-skeleton if
def-python-skeleton while
def-python-skeleton for
def-python-skeleton try/except
def-python-skeleton try/finally
def-python-skeleton def
def-python-skeleton class - define-skeleton python-else
else clause used by if and other else-able statements. One reason I would find it hard to get excited about using this particular skeleton/template system is that it seems sort of ridiculous to be prompted after a for loop or a while loop, etc for an else clause. I can count on 1 hand how many times i've ever used an else clause other than part of an if cascade. It seems like an unnecessary burden to make the user consider this case every time they are writing a for loop.
- define-skeleton python-target
Helper used by try/except
- python-default-template
Variable that defines what template to use by default in python-expand-template
- python-expand-template
This function is for allowing a skeleton to be used directly as a key sequence rather than as an abbrev. Interestingly if defaults to the "if" template but then let's you update what the default is.
I'm not totally sold on the value of skeletons for python. The syntax is already so minimal that the distraction of writing code through the minibuffer doesn't seem like a big win but it's something i'd like to explore in detail sometime and see if it works for me if i give it a chance.
Next let's get bicycle repair man support working.
No comments:
Post a Comment