sassw: write errors to css file, like ruby-sass
This commit is contained in:
parent
bad53ddec4
commit
b351f2e8aa
15
bin/sassw
15
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])
|
||||
|
|
Loading…
Reference in New Issue