예제 #1
0
 def visit(self, line):
     resultLine = ''
     lastIndex = 0
     template = re.compile("{|}")
     rezults = template.finditer(line)
     indentSize = Utilities.getIndentSize(line)
     firstChar = Utilities.findNextNonWhiteSpaceCharIndex(line, 0)
     for rezult in rezults:
         index = rezult.start()
         if not(Utilities.isInsideTextLiteral(line, index) or index == firstChar):
             resultLine += line[lastIndex:index]
             resultLine += '\n'
             if(line[index] == '{'):
                 resultLine += ' ' * indentSize
                 indentSize += 4 
             else:
                 indentSize -= 4           
                 resultLine += ' ' * indentSize
             resultLine += line[index]
             resultLine += '\n'
             lastIndex = Utilities.findNextNonWhiteSpaceCharIndex(line, index + 1 )
             if(lastIndex != -1):
                 resultLine += ' ' * indentSize
     if(lastIndex != -1):
         resultLine += line[lastIndex:]
     return resultLine
예제 #2
0
 def visit(self, line):
     resultLine = ''
     indentIndex = Utilities.findNextNonWhiteSpaceCharIndex(line, 0)
     if(self.isCommentStarted == True):
         commentEndIndex = line.find("*/")
         resultLine += line[:indentIndex]
         resultLine += "//"
         if(commentEndIndex != -1):
             resultLine += line[indentIndex:commentEndIndex]
             resultLine += line[commentEndIndex + 2:]
             self.isCommentStarted = False
         else:
             resultLine += line[indentIndex:]
     else:
         commentStartIndex = line.rfind("/*")
         commentEndIndex = line.rfind("*/")
         if(commentStartIndex != -1 and commentEndIndex < commentStartIndex):
             resultLine += line[:indentIndex]
             resultLine += line[indentIndex:commentStartIndex]
             resultLine += "//"
             resultLine += line[commentStartIndex + 2:]
             self.isCommentStarted = True
         else:
             resultLine = line
     return resultLine
예제 #3
0
 def visit(self, line):
     resultLine = ''
     lastIndex = 0
     template = re.compile(";")
     rezults = template.finditer(line)
     indentSize = Utilities.getIndentSize(line)
     for rezult in rezults:
         index = rezult.start()
         if not (Utilities.isInsideTextLiteral(line, index)):
             resultLine += ' ' * indentSize
             resultLine += (line[lastIndex:index + 1].lstrip())
             lastIndex = Utilities.findNextNonWhiteSpaceCharIndex(line, index + 1)
             if(lastIndex != -1):
                 resultLine += '\n'
     if(lastIndex != -1):
         resultLine += line[lastIndex:]
     return resultLine