Revision history for Needle::Compile
0.0.9 2024-08-21T18:19:10+02:00
- Combine multiple consecutive regexes into a single regex
for performance
- Fix issue with multiple regexes crashing because $/ got
defined more than once: fixed by moving adding to the block
wrapping logic: having an extra $/ is probably not an issue
for the use cases of Needle::Compile
0.0.8 2024-08-21T16:31:53+02:00
- Make sure code blocks and regexes have a lexically visible
thread-safe $/ to prevent unexpected results in threaded
execution of the code
0.0.7 2024-08-16T17:53:20+02:00
- Bump dependency on String::Utils, because we can
- Fix some problems in the documentation
0.0.6 2024-08-15T22:43:27+02:00
- Add support for :matches named argument: instead of producing
a Bool for many types, it will produce a Slip of matches if
there was an match, and False if there weren't
- Up dependency on "has-word" for the "all-words" subroutine
- Make "implicit2explicit" also accept already explicit specifications
- Catch any compilation errors: return a Failure with the
original compilation error
- Make sure that '*' and '//' are correctly handled as searches
for exactly those characters
- Trim leading and trailing whitespace from regex specification,
as they are without meaning. This should make it easier to
follow the fast path of alphanumerics only, e.g. / foo /
0.0.5 2024-08-13T16:44:51+02:00
- Add support for :repo and :module named arguments for the
"code" type, to set up repos to search and modules to load
(similar to -I and -M command line arguments respecively)
- Add optional subroutine export "implicit2explicit", which
converts an implicit query specification into an explicit
type => query pair
- Up dependency on String::Utils (because we can)
- Add support for reading patterns from STDIN with the "-" as
filename
0.0.4 2024-08-04T14:17:26+02:00
- Add support for the "url:" prefix and "url" type, to fetch
needles from a remote URL
- Add StrType.ACCEPTS method for checking whether a given type
string is valid or not
0.0.3 2024-08-03T21:51:52+02:00
- Add support for the "s:" prefix and "split" type, to split
a given needle on whitespace to interpret as multiple needles
- Add support for multiple needles, either in a List, or as
multiple arguments to "compile-needle"
- Add support for the "&" prefix and "and" type to indicate
"and"ing with the result of the previous needle (as opposed
to default of "or"ing)
- Optionally export a Type role for butting strings, which is
limited to the known types
- Optionally export a StrType class to allow dispatching on
butted strings
- Add support for reading patterns from a file, with the
"file:" prefix and the "file" type
- Add documentation and many more tests
0.0.2 2024-08-03T11:40:49+02:00
- Add support for JSON::Path: jp: / json-path => / { jp()
- Add support for $*_ in code needles for external libraries
0.0.1 2024-08-02T16:54:21+02:00
- Initial version