diff --git a/bin/sassw b/bin/sassw index f936346..ca35bff 100755 --- a/bin/sassw +++ b/bin/sassw @@ -23,7 +23,20 @@ if os.path.isdir(filename): def build(): global sources, directories - subprocess.call(['sassc', '-mauto', filename, filename.replace('.scss', '.css')]) + result = subprocess.run( + ['sassc', '-mauto', filename, filename.replace('.scss', '.css')], + capture_output=True) + sys.stdout.write(result.stdout.decode('utf-8')) + sys.stderr.write(result.stderr.decode('utf-8')) + if result.returncode: + # error + with open(filename.replace('.scss', '.css'), 'w') as fd: + print('''body::before { + white-space: pre; + font-family: monospace; + content: "%s"; + }''' % result.stderr.decode('utf-8').replace('\n', '\\A').replace('"', '\\"'), + file=fd) basepath = os.path.abspath(os.path.dirname(filename)) sources = [os.path.abspath(os.path.join(basepath, x)) for x in json.load(open(filename.replace('.scss', '.css.map')))['sources']] directories = set([os.path.dirname(x) for x in sources])