Skip to content

Instantly share code, notes, and snippets.

@kristianmandrup
Last active August 29, 2015 14:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kristianmandrup/b780a577480dba4e91db to your computer and use it in GitHub Desktop.
Save kristianmandrup/b780a577480dba4e91db to your computer and use it in GitHub Desktop.
Mercury macro
Trying to get from sth like:
'<cmp:sideBySideEditor />'
// '<div><cmp:MdEditor state="sideBySideEditor"/></div>'
And have the macro output:
"sideBySideEditor.render(state.sideBySideEditor)"
// "h('div', MdEditor.render(state.sideBySideEditor))",
Have been trying...
let _DOM = macro {
rule { { $el(:) } } => {
h($el.render(state.$el))
}
// and this, trying to match <comp-MdEditor ...
rule { { $[comp-] $el } } => {
h($el.render(state.$el))
}
No clue how to debug!!! This is a useless stacktrace :(((
/Users/kristianmandrup/experiments/frameworks/msx-reader/node_modules/sweet.js/lib/parser.js:5213
throw e;
^
Error: Line 1: Unexpected token {
[... _DOM { component : ...]
at throwError (/Users/kristianmandrup/experiments/frameworks/msx-reader/node_modules/sweet.js/lib/parser.js:1887:21)
at throwUnexpected (/Users/kristianmandrup/experiments/frameworks/msx-reader/node_modules/sweet.js/lib/parser.js:1939:9)
at consumeSemicolon (/Users/kristianmandrup/experiments/frameworks/msx-reader/node_modules/sweet.js/lib/parser.js:1994:13)
at parseStatement (/Users/kristianmandrup/experiments/frameworks/msx-reader/node_modules/sweet.js/lib/parser.js:3376:9)
at /Users/kristianmandrup/experiments/frameworks/msx-reader/node_modules/sweet.js/lib/parser.js:4316:38
at parseSourceElement (/Users/kristianmandrup/experiments/frameworks/msx-reader/node_modules/sweet.js/lib/parser.js:3790:20)
at parseProgramElement (/Users/kristianmandrup/experiments/frameworks/msx-reader/node_modules/sweet.js/lib/parser.js:3805:16)
at parseProgramElements (/Users/kristianmandrup/experiments/frameworks/msx-reader/node_modules/sweet.js/lib/parser.js:3833:29)
at parseProgram (/Users/kristianmandrup/experiments/frameworks/msx-reader/node_modules/sweet.js/lib/parser.js:3869:16)
at /Users/kristianmandrup/experiments/frameworks/msx-reader/node_modules/sweet.js/lib/parser.js:4316:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment