Commit Graph

61 Commits

Author SHA1 Message Date
Rijnard van Tonder
d65d1f646d don't access unsafe buffer 2020-07-06 18:40:50 -07:00
Rijnard van Tonder
3e852c4ed5
Update for OCaml 4.10 and Core 0.13 (#188) 2020-07-04 17:42:52 -07:00
Rijnard van Tonder
ab93d72163
add flag for omega matcher engine (#179) 2020-04-28 15:22:18 -07:00
Rijnard van Tonder
26b7acf21b
add expression hole semantics (#170) 2020-02-15 23:39:01 -07:00
Rijnard van Tonder
ac44dbe9e6 remove unused files 2020-01-11 15:13:57 -07:00
Rijnard van Tonder
823b6005da omega matcher progress 2020-01-11 15:09:07 -07:00
Rijnard van Tonder
3e437f1a8a
exempt underscore from inferred equality constraints (#160) 2020-01-08 16:31:44 -07:00
Rijnard van Tonder
ff9dc04bc4
remove unneeded attempts for string parsing (#158) 2019-12-22 16:15:20 -07:00
Rijnard van Tonder
b47825a1f4
Use text matcher for plain text file extensions (#154) 2019-12-09 16:53:44 -07:00
Rijnard van Tonder
e6810b9ebb update types for alternative engine 2019-11-28 12:37:52 -07:00
Rijnard van Tonder
5d2f553929
Optional holes initial implementation (#133) 2019-11-24 01:48:17 -07:00
Rijnard van Tonder
40cac158b6
Separate Javascript and Typescript and handle .tsx and .jsx (#130) 2019-11-05 18:42:17 -07:00
Rijnard van Tonder
1aacf1c057
Add new matching engine (#127) 2019-11-03 00:57:02 -07:00
Rijnard van Tonder
9e95c7c78f
Add basic definition for Nim (#122) 2019-10-25 23:44:55 -07:00
Rijnard van Tonder
5a1fc4ff3d
Add definition for Reason (#121) 2019-10-21 22:48:02 -07:00
Rijnard van Tonder
18abf1f904
Add -disable-substring-matching option 2019-10-03 23:20:03 -04:00
Rijnard van Tonder
2a3164ce91
Fix up case for handling empty string properly 2019-10-02 01:22:00 -04:00
Rijnard van Tonder
f60e0b7866
Update test coverage and dune files 2019-09-25 01:12:25 -04:00
Rijnard van Tonder
194d423d96
Infer equality from template when there's no rule file 2019-09-24 21:39:42 -04:00
Rijnard van Tonder
69b9987df8
Error on invalid matcher option 2019-09-24 03:09:55 -04:00
Rijnard van Tonder
e8a7d9e625
Update opam and dependencies 2019-09-22 19:29:29 -04:00
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
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
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
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
eabf75d7a7
Refactor main
- Configuration options
- Option error detection
- Dedicated output types
- Printers
2019-05-29 22:06:29 -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