Python, Begin/end structure matching for python – Slick EDIT V3.3 User Manual

Page 327

Advertising
background image

Python

This section describes some of the advanced features that are available for the Python language.

Begin/End Structure Matching for Python

Begin/End Structure Matching moves the cursor from the beginning of a code structure to the end, or vice
versa.

To place the cursor on the opposite end of the structure when the cursor is on a begin or end keyword
pair, press Ctrl+] (find_matching_paren command or from the menu click Search

Go to Matching

Parenthesis). The find_matching_paren command supports matching parenthesis pairs { },[ ] and ( ).

For Python, SlickEdit

®

Core supports the matching of the colon (:) token and the end of context.

Note the cursor location in the code block below:

def function_foo(arg):| <- cursor

....

return 0| <- destination

Executing find_matching_paren will move the cursor to the end of line containing the return 0 state-
ment. Executing it while the cursor is at the end of the return 0 statement will bring the cursor back to the
colon (:) position of the function signature line (def function_foo(arg):).

This works on function, class, for, while, if, and try statements.

There is one limitation of this feature. Note the following code block:

for i in xrange(0, 10):| <- A

for j in xrange(0, 10):| <- B

for k in xrange(0, 10):| <- C

print i, j, k| <- D

Invoking find_matching_paren at position A, B, or C will move the cursor to D, but doing so while the
cursor is at D will only move the cursor back to C (not A nor B). This is because the Python language
doesn't have the notion of end-of-scope token (such as } in C/C++, Java, etc.), so it's impossible to de-
termine the correct destination when jumping from D. Therefore we pick the nearest possible destination
in this scenario.

See

Begin/End Structure Matching

for more information about this feature.

Begin/End Structure Matching

for Python

305

Advertising