- Changed to exclusive branching to reduce complexity (
Formatter#format_list_main_loop
).- If you have not customized the rules, there will be no change in behavior.
- This likely applies to most users.
- If you have customized the rules such that keywords overlap between conditions of the branches, this update may change the behavior.
- If you have not customized the rules, there will be no change in behavior.
# Example of customization that may change behavior:
custom_rule = AnbtSql::Rule.new
custom_rule.kw_nl_x << "SOME_CUSTOM_KEYWORD"
custom_rule.kw_nl_x_plus1_indent << "SOME_CUSTOM_KEYWORD"
- Some cleanups, formatting improvements
- cleanup: Remove encoding magic comments
No breaking changes.
- Avoid mutative string manipulation (coarse-tokenizer.rb: tokenize)
- Prevents frozen literal warnings in Ruby 3.4 (Issue #17)
- Update comments (PR #14)
- Some small fixes, cleanups, formatting improvements
- Support
"{schema}"."{table}"
notation.- Tokenize as a single name token. This affects formatter output:
echo 'select a from b.c, "d"."e"' | bin/anbt-sql-formatter
(before)
SELECT
a
FROM
b.c
,"d" . "e"
(after)
SELECT
a
FROM
b.c
,"d"."e"
No breaking changes.
- New configuration parameter
Rule#in_values_num
for controlling number of values in IN clause per line.
No breaking changes.
No breaking changes.
- Wrong matching when a string literal or a comment includes a multiwords keyword.
- Use
/usr/bin/env
for shebang.