diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-04-08 11:07:35 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-04-08 11:07:35 -0700 |
commit | 39e8885634d8087751703942918b5b8b6e13ed27 (patch) | |
tree | 4d2bbede02dfc9ddf06792d6cc873668ac5d86a5 /src | |
parent | 0a1110333ae81557e6319f2109bc591f834dbc16 (diff) |
add support for quoted labels; fixes #360
Diffstat (limited to 'src')
-rw-r--r-- | src/intertyper.js | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/intertyper.js b/src/intertyper.js index a1e1b0f2..7dafed6f 100644 --- a/src/intertyper.js +++ b/src/intertyper.js @@ -338,7 +338,8 @@ function intertyper(data, sidePass, baseLineNums) { return '/dev/null'; } else if (item.indent === 0) { if ((tokensLength >= 1 && token0Text.substr(-1) == ':') || - (tokensLength >= 3 && token1Text == '<label>')) + (tokensLength >= 3 && token1Text == '<label>') || + (tokensLength >= 2 && token1Text == ':')) return 'Label'; if (tokensLength >= 4 && token0Text == 'declare') return 'External'; @@ -547,13 +548,15 @@ function intertyper(data, sidePass, baseLineNums) { // label substrate.addActor('Label', { processItem: function(item) { + var rawLabel = item.tokens[0].text.substr(-1) == ':' ? + '%' + item.tokens[0].text.substr(0, item.tokens[0].text.length-1) : + (item.tokens[1].text == '<label>' ? + '%' + item.tokens[2].text.substr(1) : + '%' + item.tokens[0].text) + var niceLabel = toNiceIdent(rawLabel); return [{ intertype: 'label', - ident: toNiceIdent( - item.tokens[0].text.substr(-1) == ':' ? - '%' + item.tokens[0].text.substr(0, item.tokens[0].text.length-1) : - '%' + item.tokens[2].text.substr(1) - ), + ident: niceLabel, lineNum: item.lineNum }]; } |