diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2019-10-08 12:36:07 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2019-10-08 12:36:07 +0000 |
| commit | 20aeafec7fee769fe8889b3a1ae8e0557273d628 (patch) | |
| tree | 3caae036c15abe18e46483426d2006faab48e2a8 | |
| parent | change server path mapping (diff) | |
| download | mmm-20aeafec7fee769fe8889b3a1ae8e0557273d628.tar.gz mmm-20aeafec7fee769fe8889b3a1ae8e0557273d628.zip | |
fix conversion pattern escapes
| -rw-r--r-- | mmm/mmmfs/conversion.moon | 7 | ||||
| -rw-r--r-- | mmm/mmmfs/converts.moon | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/mmm/mmmfs/conversion.moon b/mmm/mmmfs/conversion.moon index 54cd680..871ba7e 100644 --- a/mmm/mmmfs/conversion.moon +++ b/mmm/mmmfs/conversion.moon @@ -2,14 +2,15 @@ require = relative ..., 1 converts = require '.converts' count = (base, pattern='->') -> select 2, base\gsub pattern, '' -escape_pattern = (inp) -> "^#{inp\gsub '([-/])', '%%%1'}$" +escape_pattern = (inp) -> "^#{inp\gsub '([^%w])', '%%%1'}$" +escape_inp = (inp) -> "^#{inp\gsub '([-/])', '%%%1'}$" -- attempt to find a conversion path from 'have' to 'want' -- * have - start type string or list of type strings -- * want - stop type pattern -- * limit - limit conversion amount -- returns a list of conversion steps -get_conversions = (want, have, _converts=converts, limit=3) -> +get_conversions = (want, have, _converts=converts, limit=5) -> assert have, 'need starting type(s)' if 'string' == type have @@ -28,7 +29,7 @@ get_conversions = (want, have, _converts=converts, limit=3) -> return conversions, start else for convert in *_converts - inp = escape_pattern convert.inp + inp = escape_inp convert.inp continue unless rest\match inp result = rest\gsub inp, convert.out if result diff --git a/mmm/mmmfs/converts.moon b/mmm/mmmfs/converts.moon index f508d23..766c8ad 100644 --- a/mmm/mmmfs/converts.moon +++ b/mmm/mmmfs/converts.moon @@ -201,7 +201,7 @@ converts = { transform: single code }, { - inp: 'URL -> .*', + inp: 'URL -> .+', out: 'mmm/dom', transform: single code }, |
