branch: externals/sql-indent commit 31c29ed86ffe75049e0c2b298250d8bf07bd6ecb Author: Alex Harsanyi <alexharsa...@gmail.com> Commit: Alex Harsanyi <alexharsa...@gmail.com>
Recognize more types of begin transaction statements (fixes #84) "begin" follwed by a semicolon, "begin work" and "begin transaction" are considered statements and not block start delimters. --- .travis.yml | 2 +- sql-indent-test.el | 5 +++++ sql-indent.el | 2 +- test-data/pr84-syn.eld | 28 ++++++++++++++++++++++++++++ test-data/pr84.sql | 18 ++++++++++++++++++ 5 files changed, 53 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index dbe98cd..72b3869 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,7 +21,7 @@ matrix: allow_failures: - env: EMACS_VERSION=snapshot env: - - EMACS_VERSION=25.2 + - EMACS_VERSION=26.2 before_install: # Configure $PATH: Executables are installed to $HOME/bin - export PATH="$HOME/bin:$PATH" diff --git a/sql-indent-test.el b/sql-indent-test.el index 9705929..f8181d4 100644 --- a/sql-indent-test.el +++ b/sql-indent-test.el @@ -412,4 +412,9 @@ information read from DATA-FILE (as generated by "test-data/pr83.sql" "test-data/pr83-syn.eld")) +(ert-deftest sqlind-ert-pr84 () + (sqlind-ert-check-file-syntax + "test-data/pr84.sql" + "test-data/pr84-syn.eld")) + ;;; sql-indent-test.el ends here diff --git a/sql-indent.el b/sql-indent.el index 454c25e..112b05a 100644 --- a/sql-indent.el +++ b/sql-indent.el @@ -252,7 +252,7 @@ symbols and their meaning." (save-excursion (forward-word 1) (sqlind-forward-syntactic-ws) - (looking-at "transaction")))) + (looking-at "transaction\\>\\|work\\>\\|;")))) ;;;; Syntactic analysis of SQL code diff --git a/test-data/pr84-syn.eld b/test-data/pr84-syn.eld new file mode 100644 index 0000000..42e7d85 --- /dev/null +++ b/test-data/pr84-syn.eld @@ -0,0 +1,28 @@ +((((block-start begin) + . 1) + (toplevel . 1)) + ((toplevel . 1)) + ((toplevel . 1)) + ((toplevel . 1)) + (((block-start begin) + . 1) + (toplevel . 1)) + ((toplevel . 1)) + ((toplevel . 1)) + ((toplevel . 1)) + (((block-start begin) + . 1) + (toplevel . 1)) + ((statement-continuation . 76)) + ((toplevel . 1)) + ((toplevel . 1)) + ((toplevel . 1)) + (((block-start begin) + . 1) + (toplevel . 1)) + ((statement-continuation . 163)) + ((toplevel . 1)) + ((toplevel . 1)) + ((toplevel . 1)) + ((toplevel . 1))) + \ No newline at end of file diff --git a/test-data/pr84.sql b/test-data/pr84.sql new file mode 100644 index 0000000..9e8e058 --- /dev/null +++ b/test-data/pr84.sql @@ -0,0 +1,18 @@ +begin; + select * from foo; +commit; + +begin work; +select * from foo; +commit; + +begin -- a comment + work; +select * from foo; +commit; + +begin -- a comment + transaction; +select * from foo; +commit; +