Commit Graph

203 Commits

Author SHA1 Message Date
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