diff --git a/CHANGELOG.md b/CHANGELOG.md index 563d0576..7145a523 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,49 @@ # CHANGELOG + - 0.13.0 (2020-11-25) + * New builtins: + - `abs` + - `bits.and` + - `bits.lsh` + - `bits.negate` + - `bits.or` + - `bits.rsh` + - `bits.xor` + - `graph.reachable` + - `is_null` + - `json.is_valid` + - `json.patch` + - `numbers.range` + - `object.get` + - `regex.is_valid builtins` + - `regex.match` + - `type_name` + - `yaml.is_valid` + - `yaml.marshal` + - `yaml.unmarshal` + * New features: + - Add `--{,no-}strict-builtin-errors` flags + - Add an -O flag to explicitly turn on optimizations. + This will enable the optimizations even when debugging: see #229. + - Support indirect references, e.g. `split("foo/bar")[_]` + - Add `fregot capabilities` subcommand + - Add a verbosity flag to silence the repl + * Other improvements: + - Refactor type checking for builtins to construct a shallow as well + as a deep embedding of the type, used for type checking and type + printing respectively + - Use the new typing mechanisms to improve the flow typing for: + * `array.concat` + * `array.slice` + * `intersection` + - Coerce immediately on specific type tests in Infer. This improves + type checking in the presence of `is_null`, `is_array`, ... kinds of + functions + - Better error when failing to unify a function type + - Only use colors if we detect that `stderr` / `stdout` supports ANSI + - Sort the row context in the REPL to make it deterministic + - `min`/`max` should return undefined rather than `null` + - 0.12.3 (2020-09-02) * Fix a bug in indexing set rules using literal values. * Improve typing for arrays. We allow more granular, per-index types diff --git a/extra/capabilities-v0.13.0.json b/extra/capabilities-v0.13.0.json new file mode 100644 index 00000000..9cd5aec8 --- /dev/null +++ b/extra/capabilities-v0.13.0.json @@ -0,0 +1,1911 @@ +{ + "builtins": [ + { + "decl": { + "args": [ + { + "type": "number" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "name": "abs" + }, + { + "decl": { + "args": [ + { + "of": [ + { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "type": "boolean" + } + }, + "type": "array" + }, + { + "dynamic": { + "type": "boolean" + }, + "type": "array" + }, + { + "of": { + "type": "boolean" + }, + "type": "set" + } + ], + "type": "any" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "all" + }, + { + "decl": { + "args": [ + { + "of": { + "type": "any" + }, + "type": "set" + }, + { + "of": { + "type": "any" + }, + "type": "set" + } + ], + "result": { + "of": { + "type": "any" + }, + "type": "set" + }, + "type": "function" + }, + "infix": "&", + "name": "and" + }, + { + "decl": { + "args": [ + { + "of": { + "type": "any" + }, + "type": "set" + }, + { + "of": { + "type": "any" + }, + "type": "set" + } + ], + "result": { + "of": { + "type": "any" + }, + "type": "set" + }, + "type": "function" + }, + "name": "and" + }, + { + "decl": { + "args": [ + { + "of": [ + { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "type": "boolean" + } + }, + "type": "array" + }, + { + "dynamic": { + "type": "boolean" + }, + "type": "array" + }, + { + "of": { + "type": "boolean" + }, + "type": "set" + } + ], + "type": "any" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "any" + }, + { + "decl": { + "args": [ + { + "dynamic": { + "type": "any" + }, + "type": "array" + }, + { + "dynamic": { + "type": "any" + }, + "type": "array" + } + ], + "result": { + "dynamic": { + "type": "any" + }, + "type": "array" + }, + "type": "function" + }, + "name": "array.concat" + }, + { + "decl": { + "args": [ + { + "dynamic": { + "type": "any" + }, + "type": "array" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "dynamic": { + "type": "any" + }, + "type": "array" + }, + "type": "function" + }, + "name": "array.slice" + }, + { + "decl": { + "args": [ + { + "type": "string" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "base64.decode" + }, + { + "decl": { + "args": [ + { + "type": "string" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "base64.encode" + }, + { + "decl": { + "args": [ + { + "type": "string" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "base64url.decode" + }, + { + "decl": { + "args": [ + { + "type": "string" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "base64url.encode" + }, + { + "decl": { + "args": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "name": "bits.and" + }, + { + "decl": { + "args": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "name": "bits.lsh" + }, + { + "decl": { + "args": [ + { + "type": "number" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "name": "bits.negate" + }, + { + "decl": { + "args": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "name": "bits.or" + }, + { + "decl": { + "args": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "name": "bits.rsh" + }, + { + "decl": { + "args": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "name": "bits.xor" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "of": [ + { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "type": "string" + } + }, + "type": "array" + }, + { + "dynamic": { + "type": "string" + }, + "type": "array" + }, + { + "of": { + "type": "string" + }, + "type": "set" + } + ], + "type": "any" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "concat" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "contains" + }, + { + "decl": { + "args": [ + { + "of": [ + { + "type": "string" + }, + { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "type": "any" + } + }, + "type": "array" + }, + { + "dynamic": { + "type": "any" + }, + "type": "array" + }, + { + "of": { + "type": "any" + }, + "type": "set" + } + ], + "type": "any" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "name": "count" + }, + { + "decl": { + "args": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "infix": "/", + "name": "div" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "endswith" + }, + { + "decl": { + "args": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "format_int" + }, + { + "decl": { + "args": [ + { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "of": [ + { + "dynamic": { + "type": "any" + }, + "type": "array" + }, + { + "of": { + "type": "any" + }, + "type": "set" + } + ], + "type": "any" + } + }, + "type": "array" + }, + { + "of": [ + { + "dynamic": { + "type": "any" + }, + "type": "array" + }, + { + "of": { + "type": "any" + }, + "type": "set" + } + ], + "type": "any" + } + ], + "result": { + "of": { + "type": "any" + }, + "type": "set" + }, + "type": "function" + }, + "name": "graph.reachable" + }, + { + "decl": { + "args": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "infix": ">", + "name": "gt" + }, + { + "decl": { + "args": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "infix": ">=", + "name": "gte" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "name": "indexof" + }, + { + "decl": { + "args": [ + { + "of": { + "of": { + "type": "any" + }, + "type": "set" + }, + "type": "set" + } + ], + "result": { + "of": { + "type": "any" + }, + "type": "set" + }, + "type": "function" + }, + "name": "intersection" + }, + { + "decl": { + "args": [ + { + "type": "string" + } + ], + "result": { + "dynamic": { + "type": "any" + }, + "type": "array" + }, + "type": "function" + }, + "name": "io.jwt.decode" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "type": "any" + } + ], + "result": { + "dynamic": { + "type": "any" + }, + "type": "array" + }, + "type": "function" + }, + "name": "io.jwt.decode_verify" + }, + { + "decl": { + "args": [ + { + "type": "any" + }, + { + "type": "any" + }, + { + "type": "any" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "io.jwt.encode_sign" + }, + { + "decl": { + "args": [ + { + "type": "any" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "is_array" + }, + { + "decl": { + "args": [ + { + "type": "any" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "is_boolean" + }, + { + "decl": { + "args": [ + { + "type": "any" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "is_null" + }, + { + "decl": { + "args": [ + { + "type": "any" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "is_number" + }, + { + "decl": { + "args": [ + { + "type": "any" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "is_object" + }, + { + "decl": { + "args": [ + { + "type": "any" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "is_set" + }, + { + "decl": { + "args": [ + { + "type": "any" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "is_string" + }, + { + "decl": { + "args": [ + { + "type": "string" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "json.is_valid" + }, + { + "decl": { + "args": [ + { + "type": "any" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "json.marshal" + }, + { + "decl": { + "args": [ + { + "type": "any" + }, + { + "dynamic": { + "dynamic": { + "key": { + "type": "string" + }, + "value": { + "type": "any" + } + }, + "type": "array" + }, + "type": "array" + } + ], + "result": { + "type": "any" + }, + "type": "function" + }, + "name": "json.patch" + }, + { + "decl": { + "args": [ + { + "type": "string" + } + ], + "result": { + "type": "any" + }, + "type": "function" + }, + "name": "json.unmarshal" + }, + { + "decl": { + "args": [ + { + "type": "string" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "lower" + }, + { + "decl": { + "args": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "infix": "<", + "name": "lt" + }, + { + "decl": { + "args": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "infix": "<=", + "name": "lte" + }, + { + "decl": { + "args": [ + { + "of": [ + { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "type": "any" + } + }, + "type": "array" + }, + { + "dynamic": { + "type": "any" + }, + "type": "array" + }, + { + "of": { + "type": "any" + }, + "type": "set" + } + ], + "type": "any" + } + ], + "result": { + "type": "any" + }, + "type": "function" + }, + "name": "max" + }, + { + "decl": { + "args": [ + { + "of": [ + { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "type": "any" + } + }, + "type": "array" + }, + { + "dynamic": { + "type": "any" + }, + "type": "array" + }, + { + "of": { + "type": "any" + }, + "type": "set" + } + ], + "type": "any" + } + ], + "result": { + "type": "any" + }, + "type": "function" + }, + "name": "min" + }, + { + "decl": { + "args": [ + { + "of": [ + { + "type": "number" + }, + { + "of": { + "type": "any" + }, + "type": "set" + } + ], + "type": "any" + }, + { + "of": [ + { + "type": "number" + }, + { + "of": { + "type": "any" + }, + "type": "set" + } + ], + "type": "any" + } + ], + "result": { + "of": [ + { + "type": "number" + }, + { + "of": { + "type": "any" + }, + "type": "set" + } + ], + "type": "any" + }, + "type": "function" + }, + "infix": "-", + "name": "minus" + }, + { + "decl": { + "args": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "infix": "*", + "name": "mul" + }, + { + "decl": { + "args": [ + { + "type": "any" + }, + { + "type": "any" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "infix": "!=", + "name": "neq" + }, + { + "decl": { + "args": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "dynamic": { + "type": "number" + }, + "type": "array" + }, + "type": "function" + }, + "name": "numbers.range" + }, + { + "decl": { + "args": [ + { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "type": "any" + } + }, + "type": "array" + }, + { + "of": [ + { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "type": "any" + } + }, + "type": "array" + }, + { + "dynamic": { + "type": "any" + }, + "type": "array" + }, + { + "of": { + "type": "any" + }, + "type": "set" + } + ], + "type": "any" + } + ], + "result": { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "type": "any" + } + }, + "type": "array" + }, + "type": "function" + }, + "name": "object.filter" + }, + { + "decl": { + "args": [ + { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "type": "any" + } + }, + "type": "array" + }, + { + "type": "any" + }, + { + "type": "any" + } + ], + "result": { + "type": "any" + }, + "type": "function" + }, + "name": "object.get" + }, + { + "decl": { + "args": [ + { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "type": "any" + } + }, + "type": "array" + }, + { + "of": [ + { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "type": "any" + } + }, + "type": "array" + }, + { + "dynamic": { + "type": "any" + }, + "type": "array" + }, + { + "of": { + "type": "any" + }, + "type": "set" + } + ], + "type": "any" + } + ], + "result": { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "type": "any" + } + }, + "type": "array" + }, + "type": "function" + }, + "name": "object.remove" + }, + { + "decl": { + "args": [ + { + "of": { + "type": "any" + }, + "type": "set" + }, + { + "of": { + "type": "any" + }, + "type": "set" + } + ], + "result": { + "of": { + "type": "any" + }, + "type": "set" + }, + "type": "function" + }, + "name": "or" + }, + { + "decl": { + "args": [ + { + "of": { + "type": "any" + }, + "type": "set" + }, + { + "of": { + "type": "any" + }, + "type": "set" + } + ], + "result": { + "of": { + "type": "any" + }, + "type": "set" + }, + "type": "function" + }, + "infix": "|", + "name": "or" + }, + { + "decl": { + "args": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "infix": "+", + "name": "plus" + }, + { + "decl": { + "args": [ + { + "of": [ + { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "type": "number" + } + }, + "type": "array" + }, + { + "dynamic": { + "type": "number" + }, + "type": "array" + }, + { + "of": { + "type": "number" + }, + "type": "set" + } + ], + "type": "any" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "name": "product" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "re_match" + }, + { + "decl": { + "args": [ + { + "type": "string" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "regex.is_valid" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "regex.match" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "result": { + "dynamic": { + "type": "string" + }, + "type": "array" + }, + "type": "function" + }, + "name": "regex.split" + }, + { + "decl": { + "args": [ + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "infix": "%", + "name": "rem" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "type": "string" + }, + { + "type": "string" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "replace" + }, + { + "decl": { + "args": [], + "result": { + "of": { + "type": "any" + }, + "type": "set" + }, + "type": "function" + }, + "name": "set" + }, + { + "decl": { + "args": [ + { + "of": [ + { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "type": "any" + } + }, + "type": "array" + }, + { + "dynamic": { + "type": "any" + }, + "type": "array" + }, + { + "of": { + "type": "any" + }, + "type": "set" + } + ], + "type": "any" + } + ], + "result": { + "dynamic": { + "type": "any" + }, + "type": "array" + }, + "type": "function" + }, + "name": "sort" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "result": { + "dynamic": { + "type": "string" + }, + "type": "array" + }, + "type": "function" + }, + "name": "split" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "dynamic": { + "type": "any" + }, + "type": "array" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "sprintf" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "startswith" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "substring" + }, + { + "decl": { + "args": [ + { + "of": [ + { + "dynamic": { + "key": { + "type": "any" + }, + "value": { + "type": "number" + } + }, + "type": "array" + }, + { + "dynamic": { + "type": "number" + }, + "type": "array" + }, + { + "of": { + "type": "number" + }, + "type": "set" + } + ], + "type": "any" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "name": "sum" + }, + { + "decl": { + "args": [ + { + "type": "number" + } + ], + "result": { + "dynamic": { + "type": "number" + }, + "type": "array" + }, + "type": "function" + }, + "name": "time.date" + }, + { + "decl": { + "args": [], + "result": { + "type": "number" + }, + "type": "function" + }, + "name": "time.now_ns" + }, + { + "decl": { + "args": [ + { + "type": "string" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "name": "time.parse_rfc3339_ns" + }, + { + "decl": { + "args": [ + { + "type": "string" + } + ], + "result": { + "type": "number" + }, + "type": "function" + }, + "name": "to_number" + }, + { + "decl": { + "args": [ + { + "type": "string" + } + ], + "result": { + "of": [], + "type": "any" + }, + "type": "function" + }, + "name": "trace" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "trim" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "trim_left" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "trim_prefix" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "trim_right" + }, + { + "decl": { + "args": [ + { + "type": "string" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "trim_space" + }, + { + "decl": { + "args": [ + { + "type": "string" + }, + { + "type": "string" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "trim_suffix" + }, + { + "decl": { + "args": [ + { + "type": "any" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "type_name" + }, + { + "decl": { + "args": [ + { + "of": { + "of": { + "type": "any" + }, + "type": "set" + }, + "type": "set" + } + ], + "result": { + "of": { + "type": "any" + }, + "type": "set" + }, + "type": "function" + }, + "name": "union" + }, + { + "decl": { + "args": [ + { + "type": "string" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "upper" + }, + { + "decl": { + "args": [ + { + "type": "any" + } + ], + "result": { + "dynamic": { + "type": "any" + }, + "type": "array" + }, + "type": "function" + }, + "name": "walk" + }, + { + "decl": { + "args": [ + { + "type": "string" + } + ], + "result": { + "type": "boolean" + }, + "type": "function" + }, + "name": "yaml.is_valid" + }, + { + "decl": { + "args": [ + { + "type": "any" + } + ], + "result": { + "type": "string" + }, + "type": "function" + }, + "name": "yaml.marshal" + }, + { + "decl": { + "args": [ + { + "type": "string" + } + ], + "result": { + "type": "any" + }, + "type": "function" + }, + "name": "yaml.unmarshal" + } + ] +} diff --git a/fregot.cabal b/fregot.cabal index 23f796ff..fe48408b 100644 --- a/fregot.cabal +++ b/fregot.cabal @@ -1,5 +1,5 @@ Name: fregot -Version: 0.12.3 +Version: 0.13.0 Synopsis: Fugue Rego Toolkit License: Apache-2.0 License-file: LICENSE diff --git a/tests/golden/cli/repl-input.stderr b/tests/golden/cli/repl-input.stderr index a3f4ec69..15fbaf62 100644 --- a/tests/golden/cli/repl-input.stderr +++ b/tests/golden/cli/repl-input.stderr @@ -1,2 +1,2 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info diff --git a/tests/golden/repl/break-data.stderr b/tests/golden/repl/break-data.stderr index 4d263173..25758c8c 100644 --- a/tests/golden/repl/break-data.stderr +++ b/tests/golden/repl/break-data.stderr @@ -1,3 +1,3 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Set breakpoint at step.test_step diff --git a/tests/golden/repl/break-source.stderr b/tests/golden/repl/break-source.stderr index 22ac4243..e2a59640 100644 --- a/tests/golden/repl/break-source.stderr +++ b/tests/golden/repl/break-source.stderr @@ -1,3 +1,3 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Set breakpoint at step.rego:5 diff --git a/tests/golden/repl/break-unset.stderr b/tests/golden/repl/break-unset.stderr index a7c89e49..0d27330c 100644 --- a/tests/golden/repl/break-unset.stderr +++ b/tests/golden/repl/break-unset.stderr @@ -1,5 +1,5 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Set breakpoint at step.rego:5 Removed breakpoint at step.rego:5 no breakpoints set diff --git a/tests/golden/repl/debug-cache.stderr b/tests/golden/repl/debug-cache.stderr index cc26d8ff..e8f2b881 100644 --- a/tests/golden/repl/debug-cache.stderr +++ b/tests/golden/repl/debug-cache.stderr @@ -1,5 +1,5 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Loading debug-cache.rego... Loaded package fregot.tests.repl.debug_cache Set breakpoint at fregot.tests.repl.debug_cache.test_allow diff --git a/tests/golden/repl/debug-context.stderr b/tests/golden/repl/debug-context.stderr index 693c24c5..78a57b4b 100644 --- a/tests/golden/repl/debug-context.stderr +++ b/tests/golden/repl/debug-context.stderr @@ -1,3 +1,3 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Set breakpoint at debug_context.valid_security_groups diff --git a/tests/golden/repl/debug-error.stderr b/tests/golden/repl/debug-error.stderr index d9c826d9..26b39e75 100644 --- a/tests/golden/repl/debug-error.stderr +++ b/tests/golden/repl/debug-error.stderr @@ -1,5 +1,5 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Set breakpoint at debug_error.test_crash fregot (eval error): "debug-error.rego" (line 5, column 3): diff --git a/tests/golden/repl/debug-noopt.stderr b/tests/golden/repl/debug-noopt.stderr index 657dcd25..b75fd38d 100644 --- a/tests/golden/repl/debug-noopt.stderr +++ b/tests/golden/repl/debug-noopt.stderr @@ -1,5 +1,5 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Loading ../opt/comprehension-index.rego... Loaded package comprehension_index Set breakpoint at comprehension_index.exposed_ports_by_interface diff --git a/tests/golden/repl/debug-opt.stderr b/tests/golden/repl/debug-opt.stderr index fe886ed4..ecc9b8c9 100644 --- a/tests/golden/repl/debug-opt.stderr +++ b/tests/golden/repl/debug-opt.stderr @@ -1,5 +1,5 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Loading ../opt/comprehension-index.rego... Loaded package comprehension_index Set breakpoint at comprehension_index.exposed_ports_by_interface diff --git a/tests/golden/repl/debug-reload.stderr b/tests/golden/repl/debug-reload.stderr index 481c31c0..9fd6f854 100644 --- a/tests/golden/repl/debug-reload.stderr +++ b/tests/golden/repl/debug-reload.stderr @@ -1,5 +1,5 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Rule rule added Set breakpoint at repl.rule Reloading when debugging is not possible as it would modify the code currently running. diff --git a/tests/golden/repl/help.stderr b/tests/golden/repl/help.stderr index 15ddb075..cdde4019 100644 --- a/tests/golden/repl/help.stderr +++ b/tests/golden/repl/help.stderr @@ -1,5 +1,5 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Enter an expression to evaluate it. Enter a rule to add it to the current package. diff --git a/tests/golden/repl/input-doc.stderr b/tests/golden/repl/input-doc.stderr index a3f4ec69..15fbaf62 100644 --- a/tests/golden/repl/input-doc.stderr +++ b/tests/golden/repl/input-doc.stderr @@ -1,2 +1,2 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info diff --git a/tests/golden/repl/input-yaml.stderr b/tests/golden/repl/input-yaml.stderr index a3f4ec69..15fbaf62 100644 --- a/tests/golden/repl/input-yaml.stderr +++ b/tests/golden/repl/input-yaml.stderr @@ -1,2 +1,2 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info diff --git a/tests/golden/repl/load-data.stderr b/tests/golden/repl/load-data.stderr index 3b90cd96..ee86f115 100644 --- a/tests/golden/repl/load-data.stderr +++ b/tests/golden/repl/load-data.stderr @@ -1,4 +1,4 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Loading data.yaml... OK diff --git a/tests/golden/repl/load.stderr b/tests/golden/repl/load.stderr index ee20eab7..37d0d0b6 100644 --- a/tests/golden/repl/load.stderr +++ b/tests/golden/repl/load.stderr @@ -1,4 +1,4 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Loading load.rego... Loaded package fregot.tests.repl.load diff --git a/tests/golden/repl/open.stderr b/tests/golden/repl/open.stderr index 700a8a84..0f75268c 100644 --- a/tests/golden/repl/open.stderr +++ b/tests/golden/repl/open.stderr @@ -1,5 +1,5 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Warning: package mypkg1 contains no rules Rule r added Warning: package mypkg2 contains no rules diff --git a/tests/golden/repl/plain-call.stderr b/tests/golden/repl/plain-call.stderr index a3f4ec69..15fbaf62 100644 --- a/tests/golden/repl/plain-call.stderr +++ b/tests/golden/repl/plain-call.stderr @@ -1,2 +1,2 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info diff --git a/tests/golden/repl/prefix-data.stderr b/tests/golden/repl/prefix-data.stderr index 8741a8a8..a66f9886 100644 --- a/tests/golden/repl/prefix-data.stderr +++ b/tests/golden/repl/prefix-data.stderr @@ -1,4 +1,4 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Loading prefix-data.json... OK diff --git a/tests/golden/repl/pretty.stderr b/tests/golden/repl/pretty.stderr index db620d77..17860cf4 100644 --- a/tests/golden/repl/pretty.stderr +++ b/tests/golden/repl/pretty.stderr @@ -1,4 +1,4 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Loading pretty.rego... Loaded package pretty diff --git a/tests/golden/repl/rewind.stderr b/tests/golden/repl/rewind.stderr index dc0dff6e..b17f3552 100644 --- a/tests/golden/repl/rewind.stderr +++ b/tests/golden/repl/rewind.stderr @@ -1,5 +1,5 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Set breakpoint at rewind.crashing_rule fregot (eval error): "rewind.rego" (line 5, column 3): diff --git a/tests/golden/repl/set.stderr b/tests/golden/repl/set.stderr index a3f4ec69..15fbaf62 100644 --- a/tests/golden/repl/set.stderr +++ b/tests/golden/repl/set.stderr @@ -1,2 +1,2 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info diff --git a/tests/golden/repl/silent.stderr b/tests/golden/repl/silent.stderr index a3f4ec69..15fbaf62 100644 --- a/tests/golden/repl/silent.stderr +++ b/tests/golden/repl/silent.stderr @@ -1,2 +1,2 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info diff --git a/tests/golden/repl/step-into.stderr b/tests/golden/repl/step-into.stderr index 4d263173..25758c8c 100644 --- a/tests/golden/repl/step-into.stderr +++ b/tests/golden/repl/step-into.stderr @@ -1,3 +1,3 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Set breakpoint at step.test_step diff --git a/tests/golden/repl/step-over.stderr b/tests/golden/repl/step-over.stderr index 4d263173..25758c8c 100644 --- a/tests/golden/repl/step-over.stderr +++ b/tests/golden/repl/step-over.stderr @@ -1,3 +1,3 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Set breakpoint at step.test_step diff --git a/tests/golden/repl/test.stderr b/tests/golden/repl/test.stderr index 9b6da650..df604e55 100644 --- a/tests/golden/repl/test.stderr +++ b/tests/golden/repl/test.stderr @@ -1,4 +1,4 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Loading test.rego... Loaded package fregot.tests.repl.test diff --git a/tests/golden/repl/watch-input.stderr b/tests/golden/repl/watch-input.stderr index 031072df..b83bfb58 100644 --- a/tests/golden/repl/watch-input.stderr +++ b/tests/golden/repl/watch-input.stderr @@ -1,3 +1,3 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Reloaded watch-input-2.json diff --git a/tests/golden/repl/watch-warn.stderr b/tests/golden/repl/watch-warn.stderr index 142efdd9..e3222785 100644 --- a/tests/golden/repl/watch-warn.stderr +++ b/tests/golden/repl/watch-warn.stderr @@ -1,3 +1,3 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Restart the with `--watch` to enable watching. diff --git a/tests/golden/types/comprehensions.stderr b/tests/golden/types/comprehensions.stderr index a3f4ec69..15fbaf62 100644 --- a/tests/golden/types/comprehensions.stderr +++ b/tests/golden/types/comprehensions.stderr @@ -1,2 +1,2 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info diff --git a/tests/golden/types/granular.stderr b/tests/golden/types/granular.stderr index 27457185..e111ce0e 100644 --- a/tests/golden/types/granular.stderr +++ b/tests/golden/types/granular.stderr @@ -1,4 +1,4 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Loading granular.rego... Loaded package granular diff --git a/tests/golden/types/rules.stderr b/tests/golden/types/rules.stderr index 9ae8d4f4..88dd867f 100644 --- a/tests/golden/types/rules.stderr +++ b/tests/golden/types/rules.stderr @@ -1,4 +1,4 @@ F u g u e R E G O T o o l k i t -fregot v0.12.3 repl - use :help for usage info +fregot v0.13.0 repl - use :help for usage info Loading rules.rego... Loaded package rules