Rijnard van Tonder
582b337c7d
fixup implicit equality and add test
2019-09-18 03:16:41 -04:00
Rijnard van Tonder
1bbe0e8007
Match empty string before newline for newline hole
2019-09-17 02:16:05 -04:00
Rijnard van Tonder
0d705a7a0b
Use an optional type for escapable string syntax
2019-09-16 08:53:12 -05:00
Rijnard van Tonder
e43eb684c0
Add /substitute endpoint to server
...
Closes #72
2019-09-15 19:16:17 -05:00
Rijnard van Tonder
c1fc7f9154
Factor out shared rewrite pipeline for CLI and server
2019-09-15 18:47:20 -05:00
Rijnard van Tonder
7ecd5abfb3
remove angle delimiters from Elixir
2019-09-13 18:51:13 -04:00
Rijnard van Tonder
cf1e350106
Implicit equal constraint in templates with same hole identifiers
2019-09-13 02:38:40 -04:00
Rijnard van Tonder
0b691c851c
Introduce simplified rewrite rule syntax
2019-09-13 02:24:49 -04:00
Rijnard van Tonder
99966c347c
Fix up python definition.
2019-09-13 02:24:29 -04:00
Rijnard van Tonder
a6b8d7130d
Bug fix: allow nonalphanumeric delimiters preceding alphanum delimiters
2019-09-11 18:18:48 -04:00
Rijnard van Tonder
9b47a19731
Explain matcher
...
- Emit warning if the generic matcher is inferred
- Infer extension even if `.` is absent (Go is inferred for `go`, Java for `java`, etc.)
- Adds `comby -list` that lists `-match` options for all supported languages
- Emits the inferred matcher of non-generic matchers if `DEBUG_COMBY` is set
2019-09-03 23:30:41 -04:00
Rijnard van Tonder
05d2ce6812
add more languages to -list
2019-09-03 23:17:19 -04:00
Rijnard van Tonder
4bdb1dd3f0
Exclude reserved delimiters from matching non-space holes
2019-09-02 23:01:28 -04:00
Rijnard van Tonder
2301b60765
explain matcher
2019-09-02 23:00:54 -04:00
Rijnard van Tonder
45d5505c4e
Consecutive newline holes should match consecutive lines
2019-09-01 00:52:23 -04:00
Rijnard van Tonder
d2da2fff47
wip explain matcher
2019-08-29 01:56:58 -04:00
Thorsten Ball
c5a86ab5df
Add Syntax_config
...
Adds `-custom_matcher` flag for custom language syntax
2019-07-31 05:05:58 -07:00
Rijnard van Tonder
0a71e07077
Remove bash alphanum delimiter whitespace
2019-07-11 03:36:00 -04:00
Rijnard van Tonder
7708c056d1
Add alphanumeric delimiter support
...
Adds support for nestable alphanumeric delimiters (e.g., `def ... end` in Ruby,`case ... esac` in Bash, and `begin ... end` in OCaml).
2019-07-06 01:19:51 -04:00
Rijnard van Tonder
b91c424740
Extended hole matching
...
Adds shorthands:
`:[x\n]` to match until newline
`:[x.]` to match alphanumeric and punctuation
`:[ ]` or `[ x]` to match only spaces/tabs
2019-06-30 23:44:12 -07:00
Rijnard van Tonder
b27f6ab4b6
Add -json-only-diff
2019-06-19 01:53:08 -04:00
Rijnard van Tonder
3704ede05a
Map .jsx and .tsx to JS matcher
2019-06-17 17:06:53 -04:00
Rijnard van Tonder
47afef6b20
Add paren and dyck languages
2019-06-15 19:33:18 -04:00
Rijnard van Tonder
dc4b4b3b88
Option -matcher to force matcher and ignore file extensions
2019-06-11 03:45:51 -04:00
Rijnard van Tonder
265d9410c3
Add more languages and experimental block keywords
2019-06-06 16:34:38 -04:00
Rijnard van Tonder
2a34e9ff92
Fix strings prefixed by non-whitespace or hole or delimiter
2019-06-06 12:13:11 -04:00
Rijnard van Tonder
1dc3c9005e
Relax balanced apostrophe for ocaml and rust
2019-06-05 23:06:34 -04:00
Rijnard van Tonder
210bbcc8a3
Add Julia, Fortran, Pascal.
2019-06-05 22:49:03 -04:00
Rijnard van Tonder
7d789a58fe
Use colored diff output by default. Fix printing.
2019-06-05 22:47:10 -04:00
Rijnard van Tonder
eabf75d7a7
Refactor main
...
- Configuration options
- Option error detection
- Dedicated output types
- Printers
2019-05-29 22:06:29 -04:00
Rijnard van Tonder
0bde4aae73
Use OCaml 4.07
2019-05-17 21:52:25 -04:00
Rijnard van Tonder
36ef457e43
Add bisect-ppx and coveralls
2019-04-27 20:03:27 -04:00
Rijnard van Tonder
fe4fd72bb3
Fix lisp strings
2019-04-27 19:10:55 -04:00
Rijnard van Tonder
c58fd43129
Dart has triple quotes raw strings ( #17 )
2019-04-26 23:17:14 -04:00
Rijnard van Tonder
2df40597f4
fix timer
2019-04-25 23:52:05 -04:00
Rijnard van Tonder
c120778228
Update file extensions for new matchers.
2019-04-23 19:27:29 -04:00
Rijnard van Tonder
d86ef120c2
Nested comments for languages that need them
2019-04-23 19:25:22 -04:00
Rijnard van Tonder
b02b053ed2
More languages
2019-04-23 16:11:41 -04:00
Rijnard van Tonder
8d4fca6bcb
Use a single language module
2019-04-23 13:14:40 -04:00
Rijnard van Tonder
639ec7d1df
Parse raw strings before strings because python ambiguity
2019-04-23 12:46:25 -04:00
Rijnard van Tonder
e2cca3e614
Use comment variants and pull out mparser dependencies.
2019-04-23 02:23:20 -04:00
Rijnard van Tonder
6e939a21ab
Single hole with prefix. *Uses attempt*
2019-04-22 14:13:43 -04:00
Rijnard van Tonder
ca791604f1
match until character
2019-04-21 19:57:21 -04:00
Rijnard van Tonder
3c5876043e
Add very basic matcher for latex
2019-04-20 23:48:55 -04:00
Rijnard van Tonder
f142a6c140
be more strict about spaces: at least one space also required
2019-04-18 01:28:22 -04:00
Rijnard van Tonder
90cd6f5e5c
there must be at least one predicate in a rule
2019-04-18 01:26:39 -04:00
Rijnard van Tonder
4f9180a5ff
make server tests more robust
2019-04-14 01:28:03 -04:00
Rijnard van Tonder
021049138b
allow short hole syntax in rewrite template
2019-04-12 22:25:37 -04:00
Rijnard van Tonder
455fb95e29
rename to in_place_substitutions
2019-04-12 20:54:05 -04:00
Rijnard van Tonder
d2b23cd217
Use generic matcher on unsupported extensions, and include base string delimiters for it
2019-04-12 00:11:35 -04:00
Rijnard van Tonder
65d56fbe82
remove deprecated rewrite rule parts
2019-04-09 12:34:53 -04:00
Rijnard van Tonder
1e1d919c78
change environment json output to variable key
2019-04-09 12:26:49 -04:00
Rijnard van Tonder
f5c03e19ef
Initial code commit
2019-04-09 03:18:31 -04:00