use 'source.js' instead of '$base' to avoid problems with embedding in html, as '$base' is interpreted as the patterns at the root of the syntax definitions