Skip to content

v0.14.0

Choose a tag to compare

@dannote dannote released this 20 Oct 20:51
· 9 commits to master since this release

Added

  • mix ex_ast.search --print name prints only the value captured by name,
    one value per match (#16).
  • mix ex_ast.search -A n, -B n and -C n print context lines around each
    match, ripgrep-style, with colored match spans and captures in a terminal
    (#17).

Fixed

  • Kernel.f(args) and f(args) match each other in both directions, including
    operators like Kernel.+(a, b); replacements keep the call as written (#20).
  • String literals, heredocs, interpolated strings and quoted atoms match by value,
    so escape sequences like \n in a pattern match the same string in source;
    sigil contents still compare as written (#19). Replacements keep the escapes
    of captured and templated strings.
  • __MODULE__, __ENV__, __DIR__, __CALLER__ and __STACKTRACE__ in a
    pattern now match only themselves instead of acting as wildcards (#18).
  • Child selectors no longer drop positional arguments of calls ending in a
    keyword list, and select every block keyword body (#15).
  • Child selectors now see the do: body of one-line calls that also take
    options, such as for x <- xs, into: %{}, do: body (#22).