Download Latest Version comby-1.8.1-x86_64-linux.tar.gz (11.7 MB)
Email in envelope

Get an email when there's a new version of comby

Home / 1.6.0
Name Modified Size InfoDownloads / Week
Parent folder
comby-1.6.0-x86_64-linux.tar.gz 2021-05-21 13.7 MB
comby-1.6.0-x86_64-linux 2021-05-21 45.9 MB
1.6.0.tar.gz 2021-05-21 454.2 kB
1.6.0.zip 2021-05-21 594.8 kB
README.md 2021-05-21 2.3 kB
Totals: 5 Items   60.6 MB 0

Utility properties for holes. The following are introduced and recognized in rules and rewrite templates, and are substituted:

  • Length. Substitute the length of a hole in rules and rewrite templates

    :[hole].length - String conversions. The following are recognized pattern that will substitute the value of :[hole] with the respective string processing in rewrite templates and rules

    :[hole].lowercase :[hole].UPPERCASE :[hole].Capitalize :[hole].uncapitalize :[hole].UpperCamelCase :[hole].lowerCamelCase :[hole].UPPER_SNAKE_CASE :[hole].lower_snake_case

  • Filepaths. Substitute the file name, file path, or directory

    :[hole].file.path :[hole].file.name :[hole].file.directory


  • Simpler rule syntax modifications. Less strict parsing and more convenient/readable possibilities for rule syntax.
Expand for full list of changes - trailing commas for rule expressions are OK: where :[x] == :[y], where match :[x] { | :[y] -> :[z], }, - optional first `|` for pattern matching: where match :[x] { :[y] -> :[z] } - convenience interpretations for `_`: where match :[x] { _ -> :[z] } implies where match :[x] { :[_] -> :[z] } - convenience interpretation for regex `~`: where match :[x] { ~match-regex -> :[z] } implies where match :[x] { :[~match-regex] -> :[z] } - Single, double escapable quotes in match and rewrite cases (interprets `\t`, `\n`, `\r`, `\\` escape sequences): where match :[x] { '"yep"\n' -> :[z] } - Raw string quotes (no interpreting escape sequences) where match :[x] { `"yep"\n` -> :[z] } - Heuristic parsing for patterns in match cases that require neither quotes nor recognized variable: where match :[x] { foo(:[x]) -> :[x] } where rewrite :[x] { foo(:[x]) -> :[x] } Behavior looks for the first `->`, so `->` must be escaped if this should be matched literally. Trailing and leading spaces in pattern matches are ignored--use quotes for significant leading and trailing spaces

  • Added .hcl language definition

  • The experimental optional hole syntax is removed. Use regular expressions holes with optional modifiers ? instead.

Source: README.md, updated 2021-05-21