diff --git a/packages/mini/mini.mjs b/packages/mini/mini.mjs index 9217ae24..fdd3d3b1 100644 --- a/packages/mini/mini.mjs +++ b/packages/mini/mini.mjs @@ -125,7 +125,7 @@ export function patternifyAST(ast, code, onEnter, offset = 0) { return enter(ast.source_); } case 'atom': { - if (ast.source_ === '~') { + if (ast.source_ === '~' || ast.source_ === '-') { return strudel.silence; } if (!ast.location_) { diff --git a/packages/mini/test/mini.test.mjs b/packages/mini/test/mini.test.mjs index 6bf1bbce..647512a8 100644 --- a/packages/mini/test/mini.test.mjs +++ b/packages/mini/test/mini.test.mjs @@ -117,6 +117,9 @@ describe('mini', () => { checkEuclid([11, 24], 'x ~ ~ x ~ x ~ x ~ x ~ x ~ ~ x ~ x ~ x ~ x ~ x ~'); checkEuclid([13, 24], 'x ~ x x ~ x ~ x ~ x ~ x ~ x x ~ x ~ x ~ x ~ x ~'); }); + it('supports the - alias for ~', () => { + expect(minS('a - b [- c]')).toEqual(minS('a ~ b [~ c]')); + }); it('supports the ? operator', () => { expect( mini('a?')