All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- [Sourceror.Zipper] Fixed
search_pattern/2
andmove_to_cursor/2
returning false positives in the presence of__cursor__()
- [Sourceror.Zipper] Added
supertree/1
- [Sourceror.Zipper] Changed most functions to accept and "pass-through"
nil
zippers instead of crashing to allow piping those functions. - [Sourceror.Zipper] Show
#subtree root
when inspecting subtree zippers
- [Sourceror.Zipper] Added
find_all/3
- [Sourceror] Added
strip_meta/1
- [Sourceror.Zipper] Added
search_pattern/2
- [Sourceror.Zipper] Added
at/2
- [Sourceror.Zipper] Added
find_value/3
- [Sourceror.Zipper] Allow updating the outer tree with
within/2
- [Sourceror.Zipper] Added
move_to_cursor/2
to move to the next node that matches a pattern
- [Sourceror] Fixed
get_range
for qualified double calls likeMod.fun()()
- [Sourceror] Converted patch and range maps into
Patch
andRange
structs - [Sourceror.Zipper] Added
within/2
last elemetn in a block - [Sourceror.Zipper] Add
topmost
andtopmost_root
- [Sourceror] Fix range calculations for heredocs
- [Sourceror.Zipper] Fixed
remove/1
producing invalid AST when removing the - [Sourceror.Zipper] Fixed match on empty children list in
down/1
- [Sourceror] Fixed line/column metadata for map literals.
- [Sourceror.Zipper] Added
subtree/1
to get a zipper for the current node.
- [Sourceror] Fix trailing comments being misplaced
- [Sourceror] Fix
Sourceror.get_range
for interpolation nodes inside strings and charlists
- [Sourceror] Fix
Sourceror.get_range
for binaries - [Sourceror] Fix
Sourceror.get_range
fordo
/end
blocks that haveend_of_expression
metadata
- [Sourceror] Fix
Sourceror.get_range
returning incorrect ranges for anonymous functions with empty bodies
- [Sourceror] Add support for Elixir 1.16
The changelog for v0.14 releases can be found in the 0.14 branch.