Mercurial > vim-crosoft
annotate scripts/vimutil.py @ 15:cfcac4ed7d21 default tip
Improve loading of solution files
- New argument to force a rebuild of the cache
- Gracefully handle missing projects in a solution
- Handle more different xml namespaces
- Support more edge cases
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Tue, 29 Aug 2023 12:59:54 -0700 |
parents | 5d2c0db51914 |
children |
rev | line source |
---|---|
0 | 1 import io |
2 import sys | |
3 | |
4 | |
5 def runscript(scriptfunc, *args): | |
6 """ Executes a given function with the given args. This is because | |
7 the convention is that all python scripts here should have a `main` | |
8 function that takes a custom list of args to override the default | |
9 behaviour of using `sys.args`. | |
10 """ | |
11 prevout = sys.stdout | |
12 captured = io.StringIO() | |
13 sys.stdout = captured | |
14 try: | |
15 scriptfunc(args) | |
16 finally: | |
17 sys.stdout = prevout | |
18 return captured.getvalue() | |
19 |