diff --git a/src/irpf90_indent.py b/src/irpf90_indent.py index 2959a47..f715856 100755 --- a/src/irpf90_indent.py +++ b/src/irpf90_indent.py @@ -117,6 +117,14 @@ class Grep(object): def declaration(self,string): return re.match(self.re_declaration,string) is not None + re_preprocessor = re.compile(r"^\s*#.*$") + def preprocessor(self,string): + return re.match(self.re_preprocessor,string) is not None + + re_omppragma = re.compile(r"^\s*!\$omp\s.*$") + def omppragma(self,string): + return re.match(self.re_omppragma,string) is not None + grep = Grep() class indent(object): @@ -178,6 +186,19 @@ class indent(object): for i in range(len(self.text)): prevline = line line = self.text[i].strip() + + if line == "": + print("") + continue + + if grep.preprocessor(line): + print(line.lstrip()) + continue + + if grep.omppragma(line): + print(line.lstrip()) + continue + if grep.continuation(line): line = self.format_continuation(line,k)