EasyManua.ls Logo

SlickEdit V3.3 - Python; Begin;End Structure Matching for Python

Default Icon
568 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
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

Table of Contents