- commit
- ee4b38e8ede70d4d7cbcd46e3ea70f6c25e77980
- parent
- 5ee50e75083c92b0698c62bf516fad5fb59e01f9
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2023-09-19 13:57
refactor macros and change end maker to [end]
Diffstat
| M | xi2.py | 23 | +++++++++++------------ |
1 files changed, 11 insertions, 12 deletions
diff --git a/xi2.py b/xi2.py
@@ -51,19 +51,18 @@ if __name__ == '__main__': 51 51 ll = re.sub('#[^\n]*', '', ll) 52 52 53 53 # expand macros54 -1 ll = re.sub('\n', '\\\\n', ll)55 -1 while re.search('(\[[^\]]*\]):(.*)', ll):56 -1 match = re.search('(\[[^\]]*\]):(.*)', ll)57 -1 (key, after) = match.groups()58 -1 if after.startswith('<<'):59 -1 eol = after.split('\\n',1)[0][2:]60 -1 val = after.split(eol,2)[1]61 -1 ll = re.sub(re.escape("%s:<<%s%s%s" % (key, eol, val, eol)), '', ll)-1 54 ll = ll.replace('\n', r'\n') -1 55 while re.search(r'(\[[^\]]*\]):(.*)', ll): -1 56 match = re.search(r'(\[[^\]]*\]):(.*)', ll) -1 57 key, after = match.groups() -1 58 if after.startswith(r'\n'): -1 59 val = after.split('[end]', 1)[0] -1 60 ll = ll.replace('%s:%s[end]' % (key, val), '') 62 61 else:63 -1 val = after.split('\\n',1)[0]64 -1 ll = re.sub(re.escape("%s:%s" % (key, val)), '', ll)65 -1 ll = re.sub(re.escape(key), val, ll)66 -1 ll = re.sub('\\\\n', '\n', ll)-1 62 val = after.split(r'\n', 1)[0] -1 63 ll = ll.replace('%s:%s' % (key, val), '') -1 64 ll = ll.replace(key, val) -1 65 ll = ll.replace(r'\n', '\n') 67 66 68 67 # trim newlines 69 68 ll = ll.strip('\n')