comby

A code rewrite tool for structural search and replace that supports ~every language.

APACHE-2.0 License

Stars
2.4K

Bot releases are hidden (Show)

comby - 0.17.0

Published by rvantonder about 4 years ago

  • Fix: don't traverse directories if exact paths are specified on the command line
  • Feature: TOML file format for specifying templates
  • Feature: .comby file in TOML format, where using flags="-my-flags" will be appending to comby invocation in the current directory. This file can also be used to specify templates for the directory
comby - 0.16.0

Published by rvantonder over 4 years ago

Added:

  • -exclude option to exclude files

Updated source files to compile with OCaml 4.10.

comby - 0.15.0

Published by rvantonder over 4 years ago

  • exclude-dir option now accepts multiple comma-separated prefixes.
comby - 0.14.1

Published by rvantonder over 4 years ago

Bug fix for a ZIP64 issue reading the central directory on large ZIP64 files.

comby - 0.14.0

Published by rvantonder over 4 years ago

  • Use custom labels to refer to the same id when generating unique identifiers in rewrite templates. E.g.,
func foo_:[id(unique_label)]() {...} 
var my_function = foo_:[id(unique_label)]
  • Fixes a ZIP64 bug when reading a large value for the central directory.
comby - 0.13.1

Published by rvantonder over 4 years ago

  • Putting :[id()] in the rewrite template will generate a unique (with high probability) 12 character hex string. The method uses 48 bits. This is an experimental feature.
comby - 0.13.0

Published by rvantonder almost 5 years ago

Change:

  • exempt underscore from inferred equality constraints (#160)
comby - 0.12.2

Published by rvantonder almost 5 years ago

  • Adds ZIP64 read support.
comby - 0.12.1

Published by rvantonder almost 5 years ago

  • Suppress printing out long strings if they time out.
comby - 0.12.0

Published by rvantonder almost 5 years ago

comby - 0.11.3

Published by rvantonder almost 5 years ago

  • Preserve '\r' in string contents when generating diffs
comby - 0.11.2

Published by rvantonder almost 5 years ago

  • Creates diff compatible patches for all trailing newline cases
comby - 0.11.1

Published by rvantonder almost 5 years ago

  • Adds functionality to generate patch and git apply compatible patches for special cases where files do not contain trailing newlines.
comby - 0.11.0

Published by rvantonder almost 5 years ago

  • Adds substitute option for substituting variables
  • Defaults to Javascript/Typescript matchers for .jsx and .tsx extensions
  • Now converts and reports line/column numbers for offsets. Lines start at 1, columns start at 1.
comby - 0.10.0

Published by rvantonder almost 5 years ago

  • Adds -disable-substring-matching option to disable substring matching
  • Adds support for Reason and basic support for Nim
comby - 0.9.1

Published by rvantonder about 5 years ago

  • Minor fix to editor offsets in review mode.
comby - 0.9.0

Published by rvantonder about 5 years ago

  • Adds interactive mode with the -review option. Edit can be set with -editor, and default accept behavior can be toggled with -default-no (as in codemod).
  • -match-only returns matches on single lines, prefixed by the matched files, like grep. Newlines are converted to \n.
  • Allow rewrite templates to contain [hole\n], [ hole], :[hole.] syntax which substitute for variable hole.
comby - 0.8.0

Published by rvantonder about 5 years ago

comby - 0.7.0

Published by rvantonder over 5 years ago

Adds support for nestable alphanumeric delimiters (e.g., def ... end in Ruby,case ... esac in Bash, and begin ... end in OCaml).

comby - 0.6.0

Published by rvantonder over 5 years ago

  • Maps .jsx and .tsx to Javascript
  • -json-only-diff flag
  • -exclude-dir in zip files
  • Extended shorthand match syntax:
    :[x\n] to match until newline
    :[x.] to match alphanumeric and punctuation
    :[ ] or [ x] to match only spaces/tabs
  • Adds paren, dyck languages.