Skip to content

Commit 5e4cdf9

Browse files
committed
Tweak directive regexp, force space after semicolon to separate directives in same line.
Should fix #57
1 parent bc65673 commit 5e4cdf9

File tree

4 files changed

+14
-8
lines changed

4 files changed

+14
-8
lines changed

spec/leafdoc-e2e-spec.js

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ describe('e2e tests', () => {
1414

1515
for (const i in dirs) {
1616
const dirName = dirs[i];
17+
// if (dirName !== 'leaflet-vml') { continue; }
1718
const dir = `./spec/e2e/${ dirName }/`;
1819

1920
it(dirName, () => {

spec/specRunner.html

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
<script type="text/javascript" src="../node_modules/jasmine-core/lib/jasmine-core/jasmine-html.js"></script>
1010
<script type="text/javascript" src="../node_modules/jasmine-core/lib/jasmine-core/boot.js"></script>
1111

12-
13-
1412
<script>
1513
window.module = {};
1614
</script>
17-
<script type="text/javascript" src="../src/parsers/multilang.js"></script>
18-
<script type="text/javascript" src="../src/parsers/trivial.js"></script>
15+
<script type="module" src="../src/parsers/multilang.mjs"></script>
16+
<script type="module" src="../src/parsers/trivial.mjs"></script>
17+
<!-- <script type="text/javascript" src="../src/parsers/multilang.mjs"></script> -->
18+
<!-- <script type="text/javascript" src="../src/parsers/trivial.mjs"></script> -->
1919

2020
<script type="text/javascript" src="intel-hex-parse-spec.js"></script>
2121
<script type="text/javascript" src="intel-hex-blocks-spec.js"></script>

src/leafdoc.mjs

+8-3
Original file line numberDiff line numberDiff line change
@@ -252,16 +252,21 @@ export default class Leafdoc {
252252
let match;
253253
// In "param foo, bar", directive is "param" and content is "foo, bar"
254254
while (match = regexps.getLeafDirective().exec(line)) {
255-
if (match[2]) { match[2] = match[2].trim(); }
256-
directives.push([match[1], match[2]]); // [directive, content]
255+
if (match.groups.content) {
256+
match.groups.content = match.groups.content.trim();
257+
}
258+
directives.push([
259+
match.groups.directive,
260+
match.groups.content
261+
]);
257262
// console.log('directive match: ', match);
258263
blockIsEmpty = false;
259264
lineIsValid = true;
260265
parsedCharacters = match.index + match[0].length;
261266
}
262267

263268
if (lineIsValid) {
264-
const trailing = line.substr(parsedCharacters + 1).trim();
269+
const trailing = line.substr(parsedCharacters).trim();
265270
if (trailing) {
266271
directives.push(['comment', trailing]);
267272
}

src/regexps.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export function getLeafDirective() {
3535

3636
// Re-builds the 🍂 directive based on a different leading character
3737
export function redoLeafDirective(char) {
38-
global.leafDirective = xRegExp(` \\s* ${ char } (?<directive> \\S+ ) (\\s+ (?<content> [^;\\n]+ )){0,1} `, 'gnx');
38+
global.leafDirective = new RegExp(`\\s*${char}(?<directive>\\S+)(\\s+(?<content>.+?))?(?:; |$)`, 'g');
3939
return global.leafDirective;
4040
}
4141

0 commit comments

Comments
 (0)