parent
0967b3ff63
commit
dfa5ff88f3
|
@ -1,5 +1,6 @@
|
||||||
import commands, os.path, re, string, sys, traceback
|
import commands, os.path, re, string, sys, traceback
|
||||||
import color, completer, context, default, mode, method, regex, tab, method.introspect
|
import color, completer, context, default, mode, method, regex, tab
|
||||||
|
import method.introspect
|
||||||
from point import Point
|
from point import Point
|
||||||
from render import RenderString
|
from render import RenderString
|
||||||
from lex import Grammar, PatternRule, RegionRule, OverridePatternRule
|
from lex import Grammar, PatternRule, RegionRule, OverridePatternRule
|
||||||
|
@ -132,7 +133,8 @@ class PythonTabber(tab.StackTabber):
|
||||||
self._pop()
|
self._pop()
|
||||||
currlvl = self.get_curr_level()
|
currlvl = self.get_curr_level()
|
||||||
self.popped = True
|
self.popped = True
|
||||||
# ok, having done all that, we can now process each token on the line
|
# ok, having done all that, we can now process each token
|
||||||
|
# on the line
|
||||||
for i in range(0, len(tokens)):
|
for i in range(0, len(tokens)):
|
||||||
currlvl = self._handle_token(currlvl, y, i)
|
currlvl = self._handle_token(currlvl, y, i)
|
||||||
# so let's store the level for this line, as well as some debugging
|
# so let's store the level for this line, as well as some debugging
|
||||||
|
@ -174,31 +176,32 @@ class PythonTabber(tab.StackTabber):
|
||||||
else:
|
else:
|
||||||
self._pop()
|
self._pop()
|
||||||
elif fqname == 'python_keyword':
|
elif fqname == 'python_keyword':
|
||||||
if token.string in self.endlevel_names and self.is_leftmost_token(y, i):
|
s = token.string
|
||||||
|
if s in self.endlevel_names and self.is_leftmost_token(y, i):
|
||||||
# we know we'll unindent at least once
|
# we know we'll unindent at least once
|
||||||
self._pop()
|
self._pop()
|
||||||
self.popped = True
|
self.popped = True
|
||||||
elif token.string in self.startlevel_names and self.is_leftmost_token(y, i):
|
elif s in self.startlevel_names and self.is_leftmost_token(y, i):
|
||||||
# we know we will indent exactly once
|
# we know we will indent exactly once
|
||||||
self._append(token.string, currlvl + w, y)
|
self._append(s, currlvl + w, y)
|
||||||
elif token.string in ('elif', 'else') and self.is_leftmost_token(y, i):
|
elif s in ('elif', 'else') and self.is_leftmost_token(y, i):
|
||||||
# we know we'll unindent at least to the first if/elif
|
# we know we'll unindent at least to the first if/elif
|
||||||
if not self.popped and not self.last_popped and self._peek_until('if', 'elif'):
|
if not self.popped and not self.last_popped and self._peek_until('if', 'elif'):
|
||||||
self._pop_until('if', 'elif')
|
self._pop_until('if', 'elif')
|
||||||
currlvl = self.get_curr_level()
|
currlvl = self.get_curr_level()
|
||||||
self._append(token.string, currlvl + w, y)
|
self._append(s, currlvl + w, y)
|
||||||
elif token.string == 'except' and self.is_leftmost_token(y, i):
|
elif s == 'except' and self.is_leftmost_token(y, i):
|
||||||
# we know we'll unindent at least to the first try
|
# we know we'll unindent at least to the first try
|
||||||
if not self.popped and not self.last_popped:
|
if not self.popped and not self.last_popped:
|
||||||
self._pop_until('try')
|
self._pop_until('try')
|
||||||
currlvl = self.get_curr_level()
|
currlvl = self.get_curr_level()
|
||||||
self._append(token.string, currlvl + w, y)
|
self._append(s, currlvl + w, y)
|
||||||
elif token.string == 'finally' and self.is_leftmost_token(y, i):
|
elif s == 'finally' and self.is_leftmost_token(y, i):
|
||||||
# we know we'll unindent at least to the first try/except
|
# we know we'll unindent at least to the first try/except
|
||||||
if not self.popped and not self.last_popped:
|
if not self.popped and not self.last_popped:
|
||||||
self._pop_until('try', 'except')
|
self._pop_until('try', 'except')
|
||||||
currlvl = self.get_curr_level()
|
currlvl = self.get_curr_level()
|
||||||
self._append(token.string, currlvl + w, y)
|
self._append(s, currlvl + w, y)
|
||||||
return currlvl
|
return currlvl
|
||||||
|
|
||||||
class PythonCheckSyntax(method.Method):
|
class PythonCheckSyntax(method.Method):
|
||||||
|
@ -285,9 +288,10 @@ class PythonDictCleanup(method.Method):
|
||||||
value = groups_by_line[i][5]
|
value = groups_by_line[i][5]
|
||||||
key_pad = ' ' * (key_w - len(key))
|
key_pad = ' ' * (key_w - len(key))
|
||||||
if sep == '=':
|
if sep == '=':
|
||||||
data += indent_pad + key + key_pad + ' ' + sep + ' ' + value + '\n'
|
data += indent_pad + key + key_pad + ' ' + sep + ' '
|
||||||
else:
|
else:
|
||||||
data += indent_pad + key + sep + ' ' + key_pad + value + '\n'
|
data += indent_pad + key + sep + ' ' + key_pad
|
||||||
|
data += value + '\n'
|
||||||
|
|
||||||
# remove the old text and add the new
|
# remove the old text and add the new
|
||||||
start_p = Point(0, start)
|
start_p = Point(0, start)
|
||||||
|
@ -581,7 +585,8 @@ class Python(mode.Fundamental):
|
||||||
}
|
}
|
||||||
actions = [PythonInitNames, PythonListNames, PythonGotoName, PythonHelp,
|
actions = [PythonInitNames, PythonListNames, PythonGotoName, PythonHelp,
|
||||||
PythonGotoFunction, PythonGotoClass, PythonCheckSyntax,
|
PythonGotoFunction, PythonGotoClass, PythonCheckSyntax,
|
||||||
PythonDictCleanup, PythonSemanticComplete, PythonBrmFindReferences,
|
PythonDictCleanup, PythonSemanticComplete,
|
||||||
|
PythonBrmFindReferences,
|
||||||
PythonInsertTripleSquotes, PythonInsertTripleDquotes]
|
PythonInsertTripleSquotes, PythonInsertTripleDquotes]
|
||||||
completers = {
|
completers = {
|
||||||
"pythonname": PythonNameCompleter(None),
|
"pythonname": PythonNameCompleter(None),
|
||||||
|
@ -589,14 +594,14 @@ class Python(mode.Fundamental):
|
||||||
"pythonclass": PythonClassCompleter(None),
|
"pythonclass": PythonClassCompleter(None),
|
||||||
}
|
}
|
||||||
|
|
||||||
format = "%(flag)s %(bname)-18s (%(mname)s) %(indent)s %(cursor)s/%(mark)s %(perc)s [%(name)s] %(vc-info)s"
|
#format = "%(flag)s %(bname)-18s (%(mname)s) %(indent)s %(cursor)s/%(mark)s %(perc)s [%(name)s] %(vc-info)s"
|
||||||
|
format = "%(flag)s %(bname)s (%(mname)s) %(indent)s %(cursor)s %(perc)s [%(name)s] %(vc-info)s"
|
||||||
header_size = 3
|
header_size = 3
|
||||||
|
|
||||||
def get_status_names(self):
|
def get_status_names(self):
|
||||||
names = mode.Fundamental.get_status_names(self)
|
names = mode.Fundamental.get_status_names(self)
|
||||||
c = self.window.logical_cursor()
|
c = self.window.logical_cursor()
|
||||||
names['name'] = self.context.get_line_name(c.y)
|
names['name'] = self.context.get_line_name(c.y)
|
||||||
#names['first'] = self.window.first.xy()
|
|
||||||
return names
|
return names
|
||||||
|
|
||||||
# xyz
|
# xyz
|
||||||
|
|
Loading…
Reference in New Issue