def classStmtHeader(name, bases, bBasesTrailingSeparator): nameView = ApplyStyleSheetFromAttribute(PythonEditorStyle.varStyle, Text(name)) elements = [_keyword('class'), _space, nameView] if bases is not None: basesSeq = SpanSequenceView( bases, None, None, _comma, _space, TrailingSeparator.ALWAYS if bBasesTrailingSeparator else TrailingSeparator.NEVER) basesView = ApplyStyleSheetFromAttribute( PythonEditorStyle.sequenceStyle, basesSeq) elements.extend([_space, _openParen, basesView, _closeParen]) elements.append(_colon) return Span(elements)
def decoStmtHeader(name, args, bArgsTrailingSeparator): nameView = ApplyStyleSheetFromAttribute(PythonEditorStyle.varStyle, Text(name)) elements = [_at, nameView] if args is not None: argsSeq = SpanSequenceView( args, _openParen, _closeParen, _comma, _space, TrailingSeparator.ALWAYS if bArgsTrailingSeparator else TrailingSeparator.NEVER) argsView = ApplyStyleSheetFromAttribute( PythonEditorStyle.sequenceStyle, argsSeq) elements.append(argsView) return Span(elements)
def defStmtHeader(name, params, bParamsTrailingSeparator): nameView = ApplyStyleSheetFromAttribute(PythonEditorStyle.varStyle, Text(name)) elements = [_keyword('def'), _space, nameView, _openParen] if len(params) > 0: paramsSeq = SpanSequenceView( params, None, None, _comma, _space, TrailingSeparator.ALWAYS if bParamsTrailingSeparator else TrailingSeparator.NEVER) paramsView = ApplyStyleSheetFromAttribute( PythonEditorStyle.sequenceStyle, paramsSeq) elements.append(paramsView) elements.extend([_closeParen, _colon]) return Span(elements)
def subscriptTuple(items, bTrailingSeparator): seq = SpanSequenceView( items, None, None, _comma, _space, TrailingSeparator.ALWAYS if bTrailingSeparator else TrailingSeparator.NEVER) return ApplyStyleSheetFromAttribute(PythonEditorStyle.sequenceStyle, seq)
def setLiteral(items, bTrailingSeparator): seq = SpanSequenceView( items, _openBrace, _closeBrace, _comma, _space, TrailingSeparator.ALWAYS if bTrailingSeparator else TrailingSeparator.NEVER) return ApplyStyleSheetFromAttribute(PythonEditorStyle.sequenceStyle, seq)