999 lines
29 KiB
Plaintext
999 lines
29 KiB
Plaintext
2019-06-20 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Update version to 1.4
|
|
|
|
2019-06-08 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Recognize left and right outer join statements #85
|
|
|
|
* sql-indent.el (sqlind-find-join-start): new defun to look for join
|
|
statements, can find "left outer join" statements as well, see #85
|
|
(sqlind-syntax-in-select, sqlind-refine-syntax): use
|
|
`sqlind-find-join-start`
|
|
(sqlind-lineup-joins-to-anchor): only look for the first join keyword,
|
|
to detect the case where they un on multiple lines
|
|
|
|
2019-04-18 Alex Harsanyi <AlexHarsanyi@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.
|
|
|
|
2019-03-31 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Don't recognize select keywords in comments, fixes #83
|
|
|
|
when searching for select keywords for anchors, don't stop inside
|
|
comments -- this just uses `sqlind-search-backward`, which makes sure
|
|
that the position that is found is at the same level as the starting
|
|
position.
|
|
|
|
Also fixed a bug in `sqlind-same-level-statement` which missed that the
|
|
anchor was inside a comment.
|
|
|
|
2019-03-15 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
recognize elseif in addition to elif #81
|
|
|
|
2019-03-15 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
don't be confused by drop function or procedure statements #80
|
|
|
|
2019-03-10 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Apply advices of `checkdoc' (#77)
|
|
|
|
* sql-indent.el: spelling and other documentation fixes.
|
|
|
|
2019-03-10 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Fix `sqlind-comment-end' regexp. (#79)
|
|
|
|
* sql-indent.el: Fix the regexp detected by
|
|
trawl (https://github.com/mattiase/trawl).
|
|
|
|
2019-03-01 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
also fix sqlind-end-statement-regexp
|
|
|
|
2019-03-01 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Fix regexp bug in `sqlind-good-if-candidate` (fixes #76)
|
|
|
|
2019-02-20 Alex Harsányi <alex-hhh@users.noreply.github.com>
|
|
|
|
Recognize more create keywords (#75)
|
|
|
|
|
|
|
|
2018-12-13 Alex Harsányi <alex-hhh@users.noreply.github.com>
|
|
|
|
Recognize FULL JOIN, UNION ALL and EXCEPT keywords #73 (#74)
|
|
|
|
* sql-indent.el (sqlind-select-clauses-regexp): match "UNION
|
|
ALL" and
|
|
"EXCEPT" as select clauses.
|
|
(sqlind-select-join-regexp): match FULL JOIN keywords
|
|
(sqlind-lineup-joins-to-anchor): use `sqlind-select-join-regexp`
|
|
to
|
|
match all join keywords.
|
|
|
|
2018-12-13 Alex Harsányi <alex-hhh@users.noreply.github.com>
|
|
|
|
Recognize `select-join-condition` syntax inside nested statements #70
|
|
(#71)
|
|
|
|
Updated syntax parser to recognize some JOIN condition keywords as
|
|
`select-join-condition` syntax, even inside nested statements.
|
|
Updated some non-related tests (m, pr17 and pr68), as this syntax was
|
|
not
|
|
recognized when these tests were written. While this change will
|
|
modify the
|
|
indentation in such cases, it allows more refined control
|
|
over the indention.
|
|
|
|
* sql-indent.el (sqlind-join-condition-regexp): keywords that
|
|
|
|
constitute JOIN conditions
|
|
(sqlind-syntax-in-select): match `sqlind-join-condition-regexp`
|
|
when
|
|
looking for join condition keywords
|
|
(sqlind-refine-syntax): try to refine a
|
|
`nested-statement-continuation into a `select-join-condition` if
|
|
there
|
|
is a JOIN in the nested statement.
|
|
|
|
2018-12-11 Alex Harsányi <alex-hhh@users.noreply.github.com>
|
|
|
|
`sqlind-search-backward` finds things at the same nesting level (#68)
|
|
(#69)
|
|
|
|
* sql-indent.el (sqlind-search-backward): use
|
|
`sqlind-same-level-statement` to check if the position is at the
|
|
same
|
|
nesting level as the starting point
|
|
|
|
* (sqlind-same-level-statement): fix to check that the point has the
|
|
|
|
same nesting, in-comment and in-string status as start.
|
|
|
|
2018-10-25 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
update version to 1.3
|
|
|
|
2018-10-23 Alex Harsányi <alex-hhh@users.noreply.github.com>
|
|
|
|
Fix up bad detection of $$ delimiters in PostgreSQL dialect (#67)
|
|
|
|
this resulted in severe performance degradation for the indent function
|
|
and
|
|
bad anchor for the $$ blocks.
|
|
|
|
* sql-indent.el (sqlind-maybe-create-statement): strip off any
|
|
parens
|
|
off the function name.
|
|
(sqlind-maybe-$$-statement): re-wrote the function to avoid
|
|
calling
|
|
`sqlind-beginning-of-block` recursively.
|
|
(sqlind-start-block-regexp): fixup $$ matching
|
|
|
|
2018-10-09 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
don't recognize "begin transaction" as a block
|
|
|
|
"begin transaction;" is a statement, and the code used to confuse the
|
|
"begin" with a block begin, breaking some indentation.
|
|
|
|
2018-07-12 Alex Harsányi <alex-hhh@users.noreply.github.com>
|
|
|
|
recognize implicit JOIN clauses (fixes #64) (#65)
|
|
|
|
... these are JOIN clauses without an explicit INNER, LEFT, RIGHT, etc.
|
|
|
|
2018-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* sql-indent.el: Add `package-requires` for cl-lib
|
|
|
|
2018-05-06 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
update to version 1.2
|
|
|
|
2018-02-26 Alex Harsányi <alex-hhh@users.noreply.github.com>
|
|
|
|
Recognize MySQL optional clauses, #60 (#61)
|
|
|
|
(sqlind-maybe-skip-mysql-create-options): skip over optional clauses
|
|
between
|
|
CREATE and the thing being created -- this allows correct
|
|
identification of
|
|
the create statement
|
|
|
|
(sqlind-maybe-create-statement): skip over any "if not exist" keywords
|
|
between
|
|
the thing being created and its name -- this allows correct
|
|
identification of
|
|
the view or table name.
|
|
|
|
(sqlind-refine-syntax): refine SELECT statements inside table
|
|
declarations, as
|
|
in "CREATE TABLE AS SELECT..."
|
|
also recognize tabs as whitespace syntax in various regexps.
|
|
add tests, also update the `if-exists.sql` test as the view name is
|
|
correctly
|
|
determined now.
|
|
|
|
2018-02-13 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* sql-indent.el: Don't require cc-defs.
|
|
|
|
(sqlind-indent-comment-start): Use line-end-position.
|
|
(sqlind-indent-select-column, sqlind-indent-select-table)
|
|
(sqlind-lineup-to-clause-end): Use eolp.
|
|
|
|
2018-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
sql-indent.el: Fix Author: email format
|
|
|
|
2018-01-30 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Add .elpaignore file
|
|
|
|
Files and patterns listed here will be ignored when the ELPA package is
|
|
assembled.
|
|
|
|
2018-01-28 Alex Harsányi <alex-hhh@users.noreply.github.com>
|
|
|
|
Fix travis build. (#58)
|
|
|
|
See also
|
|
|
|
* https://github.com/travis-ci/travis-ci/issues/9061
|
|
* https://github.com/flycheck/emacs-travis/issues/13
|
|
|
|
2018-01-28 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Update sql-indent.el to version 1.1
|
|
|
|
Updated / clarified some of the documentation as well
|
|
|
|
2018-01-06 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
add explanation on how `sqlind-beginning-of-block` works
|
|
|
|
2018-01-06 Alex Harsányi <alex-hhh@users.noreply.github.com>
|
|
|
|
Recognize PostgreSQL $$ quote syntax, #54 (#55)
|
|
|
|
Function bodies in PostgreSQL are defined between '$$' markers. The
|
|
code now
|
|
recognizes these as begin/end statements. There's a test
|
|
file,
|
|
`test-data/pr54.sql`, specifying the cases that are correctly detected.
|
|
|
|
PostgreSQL support likely needs more work.
|
|
|
|
2018-01-04 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Fix various typos here and there. (#57)
|
|
|
|
|
|
|
|
2018-01-04 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Fix typo in sql-indent.org. (#56)
|
|
|
|
|
|
|
|
2018-01-03 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Updated documentation
|
|
|
|
* Simplified CONTRIBUTING.md -- removed information that is
|
|
available
|
|
elsewhere
|
|
|
|
* Fixed a type in the user manual, `sql-indent.org` specifying the
|
|
wrong hook
|
|
name for the customization
|
|
|
|
* Clarified test naming conventions in `sql-indent-test.el`
|
|
|
|
2018-01-03 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Correct indentation of column continuation with operators. (#53)
|
|
|
|
* Correct indentation of column continuation with operators.
|
|
Correct from
|
|
```sql
|
|
select my_col || chr(10)
|
|
|| '-*-' data_type,
|
|
x
|
|
from dual;
|
|
```
|
|
to
|
|
```sql
|
|
select my_col || chr(10)
|
|
|| '-*-' data_type,
|
|
x
|
|
from dual;
|
|
```
|
|
|
|
* sql-indent.el
|
|
(sqlind-column-definition-start): find the first column of the
|
|
|
|
statement.
|
|
(sqlind-use-anchor-indentation): use the indentation of the anchor
|
|
|
|
instead of the indentation of the line containing the anchor.
|
|
(sqlind-adjust-operator): search the column start in
|
|
|
|
select-column-continuation.
|
|
|
|
* Add test for PR#53.
|
|
|
|
* Simplify code.
|
|
|
|
(sqlind-column-definition-start): avoid unnecessary (unless (while
|
|
...)).
|
|
(sqlind-adjust-operator): avoid complex goto-char.
|
|
|
|
2017-12-16 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Correct the adjustment of indentation for operators in select (#52)
|
|
|
|
* Correct the adjustment of indentation for operators in select
|
|
With this fix the following statement is propely indented
|
|
|
|
``` sql
|
|
select mt.myVar
|
|
|| '-*-' myVarLabel,
|
|
myVar2
|
|
from myTable mt;
|
|
```
|
|
instead of
|
|
|
|
``` sql
|
|
select mt.myVar
|
|
|| '-*-' myVarLabel,
|
|
myVar2
|
|
from myTable mt;
|
|
```
|
|
|
|
* sql-indent.el: Use sqlind syntax table in adjustments functions.
|
|
(sqlind-adjust-operator): Use sqlind syntax table.
|
|
|
|
* Add test to pr52
|
|
|
|
2017-12-16 Alex Harsányi <alex-hhh@users.noreply.github.com>
|
|
|
|
Add CONTRIBUTING.md file (#51)
|
|
|
|
|
|
|
|
2017-12-12 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Add new indentation function for select columns. (#50)
|
|
|
|
* Add new indentation function for select columns.
|
|
|
|
* sql-indent-left.el: Improve indentation of select columns
|
|
(sqlind-indent-select-keywords): tweak indentation after DISTINCT,
|
|
|
|
UNIQUE or TOP keywords.
|
|
|
|
* Add tests for pr50, correct sqlind-indentation-left-offsets-alist.
|
|
|
|
* sql-indent-left.el: correct sqlind-indent-select-keywords
|
|
(sqlind-indent-select-keywords): avoid error when no keyword found.
|
|
|
|
* sql-indent-test.el: add test for pr50.
|
|
|
|
* Add `sqlind-indent-select-column-alt'.
|
|
Clone `sqlind-indent-select-column' into
|
|
`sqlind-indent-select-column-alt'
|
|
to allow alignment of select colums
|
|
with KEYWORDS.
|
|
|
|
* sql-indent-left.el: Change setup to use
|
|
`sqlind-indent-select-column-alt'
|
|
(sqlind-indent-select-column-alt): extends
|
|
`sqlind-indent-select-column'.
|
|
|
|
* Checkdoc style corrections.
|
|
sql-indent-left.el: apply chechdoc advices.
|
|
|
|
2017-12-02 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Update README with instructions on how to install from GNU ELPA
|
|
|
|
* README.md: add instructions for installing from GNU ELPA
|
|
|
|
* sql-indent.el: reference `sql-indent.org` in the commentary section
|
|
|
|
2017-11-30 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
Fix up copyrights for GNU ELPA, plus minor tweaks
|
|
|
|
* .gitignore: Add -autoloads and -pkg files.
|
|
|
|
* sql-indent-test.el, sql-indent-left.el: Fix copyright header.
|
|
|
|
* sql-indent.el: Fix copyright header. Don't require `align`.
|
|
(sqlind-minor-mode-map): New keymap.
|
|
(sqlind-minor-mode): Don't modify sql-mode's keymap. Use
|
|
kill-local-variable.
|
|
|
|
2017-10-13 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Correct detection of labels in `sqlind-maybe-loop-statement'. (#49)
|
|
|
|
Correct detection of labels in `sqlind-maybe-loop-statement'
|
|
|
|
2017-10-09 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Correct detection of labels in `for` or `while` loops. (#48)
|
|
|
|
Correct detection of labels in `for` or `while` loops.
|
|
|
|
2017-09-21 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Introduce a nested-statement-close syntax
|
|
|
|
This is recognized inside a nested statement when the line to be
|
|
indented starts with a closing bracket. This is intended to replace
|
|
`sqlind-lineup-close-paren-to-open` and
|
|
`sqlind-lineup-close-paren-to-open-indentation` indentation helpers
|
|
which had to be added to too many syntactic symbols.
|
|
|
|
With the new syntax symbol, using `sqlind-use-anchor-indentation` will
|
|
lineup hanging close brackets with the start of the statement and
|
|
`sqlind-use-anchor-indentation` will line them up with the actual
|
|
opening bracket itself.
|
|
|
|
2017-09-19 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
new alignment rule for issue #47
|
|
|
|
2017-09-19 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
fixup refining a nested-statement-continuation (#46)
|
|
|
|
when the nested statement continuation had a comment at the start, any
|
|
select statements inside it were missed.
|
|
|
|
2017-09-18 Brendan Rocks <brendan-r@users.noreply.github.com>
|
|
|
|
Minor documentation tweaks (#44)
|
|
|
|
Fix installation command in documentation and other typos
|
|
|
|
`install-package-from-buffer` makes more linguistic sense, but
|
|
`package-install-from-buffer`, seems to be the appropriate
|
|
command
|
|
(Emacs 25.2)
|
|
|
|
|
|
2017-09-18 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
new indentation helper function and clarified documentation
|
|
|
|
added `sqlind-lineup-close-paren-to-open-indentation` function to assist
|
|
with issue #43
|
|
|
|
2017-08-19 Alex Harsányi <alex-hhh@users.noreply.github.com>
|
|
|
|
Don't be confused by names that contain keywords (#42)
|
|
|
|
Don't be confused by names that contain keywords
|
|
for example, the "FOR" in "V_SPORT_ZONE_FOR_SESSION" is not a keyword.
|
|
|
|
* Add test cases for PR42
|
|
|
|
2017-08-19 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Fix example in documentation
|
|
|
|
2017-08-09 Alex Harsányi <alex-hhh@users.noreply.github.com>
|
|
|
|
Travis build and test support (#41)
|
|
|
|
Add Travis CI support to the repository
|
|
|
|
2017-08-09 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Recognize MsSQL directives and declarations (#40)
|
|
|
|
2017-08-02 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Fix detection of select column start and LIMIT keyword #39
|
|
|
|
* sql-indent.el (sqlind-column-definition-start): use LIMIT as the
|
|
bounds for `sqlind-same-level-statement`, so we search between the start
|
|
of the SELECT and the current point.
|
|
(sqlind-select-clauses-regexp): recognize LIMIT as a select clause
|
|
keyword.
|
|
|
|
2017-07-30 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Correct display of lighter when minor-mode is enabled. (#38)
|
|
|
|
Add an space before text to avoid it to stick on previous word in
|
|
modeline.
|
|
|
|
2017-07-24 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Allow detection of user name in package, procedure or function. (#37)
|
|
|
|
* Allow detection of user name in package, procedure or function.
|
|
Avoid `mismatched end label for package (1 104)` message whith and sql
|
|
|
|
of this form:
|
|
|
|
```sql
|
|
create or replace package my_user.my_wonderfull_package as
|
|
function my_amazing_func return number;
|
|
end my_wonderfull_package;
|
|
/
|
|
```
|
|
|
|
* Add tests to PR #37.
|
|
|
|
2017-07-21 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Try to correct 'bad closing for begin block' message. (#36)
|
|
|
|
Detection of for .. loop inside another statement
|
|
see "test-data/pr36.sql" for an example.
|
|
|
|
2017-07-15 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Add %type, %rowtype and table prefix in function's return type. (#33)
|
|
|
|
* Add %type, %rowtype and table prefix in function's return type.
|
|
Allow correct indenting after and function declaration like bellow:
|
|
declare
|
|
function dummy return my_user.my_table%rowtype;
|
|
function dummy2 return my_user.my_table.my_col%type;
|
|
var dummy3 number;
|
|
begin
|
|
null;
|
|
end;
|
|
|
|
* Add tests cases for PR #33.
|
|
|
|
2017-07-15 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Improve left indentation of case statement. (#34)
|
|
|
|
|
|
|
|
2017-06-29 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Don't be fooled by "if exists" statements
|
|
|
|
"IF" keywords in things like "drop index if exists" statements are no
|
|
longer considered statement starts.
|
|
|
|
2017-06-29 Alex Harsányi <alex-hhh@users.noreply.github.com>
|
|
|
|
Performance improvements (#31)
|
|
|
|
* Establish a limit for syntactic information search
|
|
See also issue #26
|
|
|
|
`sqlind-syntax-of-line' will use `sqlind-begining-of-directive' to
|
|
establish a
|
|
search limit for the current syntax. This avoids calling
|
|
`sqlind-begining-of-directive' repeatedly.
|
|
This changes the indentation anchor for toplevel statements when
|
|
directives
|
|
are present in the file. Unit test data updated
|
|
accordingly.
|
|
|
|
* sql-indent.el (sqlind-search-limit): new variable
|
|
(sqlind-beginning-of-statement-1): avoid searching before
|
|
`sqlind-search-limit'
|
|
(sqlind-beginning-of-statement): use `sqlind-search-limit'
|
|
(sqlind-maybe-loop-statement): fix mispelling of throw symbol
|
|
(sqlind-beginning-of-block): limit search to `sqlind-search-limit'
|
|
(sqlind-syntax-of-line): bind `sqlind-search-limit' to
|
|
`sqlind-begining-of-directive'
|
|
|
|
* Fix spelling of `sqlind-beginning-of-directive`
|
|
|
|
2017-06-20 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Performance improvements (#26)
|
|
|
|
* sql-indent.el (sqlind-backward-syntactic-ws)
|
|
(sqlind-forward-syntactic-ws, sqlind-search-backward): rewrite code to
|
|
avoid catch/throw forms
|
|
(sqlind-match-string): make it a `defsubst'
|
|
(sqlind-beginning-of-statement): avoid calling
|
|
`sqlind-begining-of-directive' when not needed
|
|
(sqlind-syntax-of-line): avoid unnecessary goto-char calls, and replace
|
|
`parse-partial-sexp' with `syntax-ppss'
|
|
|
|
2017-06-15 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Moved most of the README.md contents into sql-indent.org
|
|
|
|
... this is the beginning of a sql-ident manual. The ORG format should
|
|
make it easier to browse in Emacs, and Github also renders it quite
|
|
nicely.
|
|
|
|
2017-06-15 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Avoid infinite loop in `sqlind-syntax-in-case`
|
|
|
|
Updated the test case with code that triggered the bug
|
|
|
|
2017-06-15 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Detect end of exception block correctly (#30)
|
|
|
|
|
|
|
|
2017-06-13 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
fix anchor point for case statement syntax (#29)
|
|
|
|
code that was looking for the "when" keyword was moving the point,
|
|
resulting in the incorrect anchor point being used for '(in-block case
|
|
...) syntax. Updated tests to reflect fixed code.
|
|
|
|
Also added `sqlind-syntax-keyword` helper function, to be used by
|
|
indentation functions.
|
|
|
|
2017-06-13 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Fix exception being a type as well as a keyword (#28)
|
|
|
|
"exception" is both a keyword and a datatype. Add code to differentiate
|
|
between the two. Only the keyword is a block start. Updated test files
|
|
to reflect that.
|
|
|
|
2017-06-12 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
fix syntax detection in exception blocks and case statements (#28 and
|
|
#29)
|
|
|
|
Exception statements with multiple when clauses are correctly recognized
|
|
and classified. Case statements with multi-lone when clauses are also
|
|
correctly identified. Added unit tests for both cases.
|
|
|
|
Some refactoring was necessary to allow recursive syntax refinement
|
|
(`sqlind-refine-syntax`)
|
|
|
|
2017-06-12 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Fix incorrect match for end keyword in sqlind-end-statement-regexp
|
|
|
|
2017-06-08 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Fix bug with wrong regexp and throw clause
|
|
|
|
a wrong "end" keyword regexp would match non-keywords that ended with
|
|
the string "end", causing problems
|
|
|
|
also fixes a misspelling for a throw clause
|
|
|
|
2017-06-08 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Various minor improvements on left align SQL statments. (#22)
|
|
|
|
* Various minor improvements on left align SQL statments.
|
|
|
|
* Update pr17-io-left after updating sql-indent-left setup.
|
|
|
|
2017-06-03 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Remove execution bits on sql-indent-left.el (#25)
|
|
|
|
|
|
|
|
2017-06-03 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Recognize assignments as statement starts (#24)
|
|
|
|
2017-06-01 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Update test for issue #19 to be more comprehensive
|
|
|
|
2017-06-01 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Merge branch 'master' of github.com:alex-hhh/emacs-sql-indent
|
|
|
|
2017-06-01 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Update unit test suite to run independent of user settings
|
|
|
|
Previously, the test suite depended on whether the tabs are expanded
|
|
into spaces or not and other user settings.
|
|
|
|
2017-05-31 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Exclude equals inside strings from alignments. (#20)
|
|
|
|
Update align rules to ignore equal signs inside strings (#20)
|
|
|
|
2017-05-31 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Add a rule to align pipes (||). (#21)
|
|
|
|
Align rules for string concatenation operators (#21)
|
|
|
|
2017-05-30 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Correctly recognize the begin block of a package (#19)
|
|
|
|
2017-05-29 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Correctly detect syntax for cursor statements (fix #19)
|
|
|
|
Cursors are correctly detected as beginning of a statement. Also an
|
|
optional type for the cursor is recognized correctly.
|
|
|
|
Also fixed block navigation for package names (so package end statements
|
|
are correctly recognized)
|
|
|
|
Added tests for the above cases.
|
|
|
|
2017-05-26 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Identify syntax for CASE expressions in assignment (fixes #18)
|
|
|
|
Also added unit tests that shows/tests the types of CASE expressions
|
|
that can show up in PL/SQL.
|
|
|
|
2017-05-25 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
use cl-lib instead of cl and provide some helpers
|
|
|
|
the cl library is deprecated in Emacs, to be replaced with cl-lib (which
|
|
has the same functions, but with the "cl-" prefix)
|
|
|
|
Also provided some helper functions to access syntactic context,
|
|
hopefully this will simplify the code somewhat.
|
|
|
|
2017-05-24 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Fix checkdoc errors in sql-indent.el
|
|
|
|
2017-05-24 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
moved contents of customize-indentation.md into README.md
|
|
|
|
2017-05-24 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Recognize syntax of CASE statements which are not nested
|
|
|
|
Based on an example in https://github.com/bsvingen/sql-indent/issues/1
|
|
|
|
Also added test case for this syntax type.
|
|
|
|
2017-05-24 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Add test cases for sample indentation mode
|
|
|
|
Based on a sample SQL indentation example provided by the SQL mode
|
|
maintainer.
|
|
|
|
2017-05-24 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
updated .gitignore
|
|
|
|
2017-05-23 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Add a test suite for sql-indent
|
|
|
|
2017-05-23 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Updated installation and customization documentation
|
|
|
|
2017-05-23 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Fix indentation.
|
|
|
|
Previous version didn't work.
|
|
|
|
2017-05-23 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Compilation error ...
|
|
|
|
2017-05-23 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Correct indentation of function's declaration in package specs.
|
|
|
|
Detect end of function declaration in package spec.
|
|
|
|
2017-05-22 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
sqlind-begining-of-directive -- another approach to disambiguate SET
|
|
|
|
2017-05-22 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
sqlind-begining-of-directive -- another approach to disambiguate SET
|
|
|
|
2017-05-22 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
sqlind-adjust-operator -- fix up string concatenation cases
|
|
|
|
The operator correctly determines the position of the left hand operand
|
|
for the binary operator. For example the code below is indented
|
|
correctly now:
|
|
|
|
```sql select col1, 'abc def'--comment
|
|
|| 'abc'
|
|
|| 'def'
|
|
|
|
```
|
|
|
|
2017-05-22 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Renamed some indentation functions for consistency
|
|
|
|
* `sqlind-adjust-and-or-left` renamed to
|
|
`sqlind-left-justify-logical-operator`
|
|
|
|
* `sqlind-adjust-and-or-right` renamed to
|
|
`sqlind-right-justify-logical-operator`
|
|
|
|
2017-05-22 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
silence byte compiler warnings
|
|
|
|
2017-05-22 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
sqlind-begining-of-directive -- disambiguate Oracle SET keyword
|
|
|
|
The SET keyword in Oracle SQLPlus is a directive as well as part of the
|
|
SQL UPDATE statement. `sqlind-begining-of-directive' will correctly
|
|
identify uses of SET which are directives.
|
|
|
|
2017-05-20 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Start workgin on aligning keywords left or right. (#14)
|
|
|
|
Provide sample customization for the SQL indentation engine
|
|
Some extra indentation helper functions are also provided and
|
|
documented.
|
|
|
|
2017-05-14 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
sqlind-beginning-of-statement-1 -- don't look inside comments, fixes #15
|
|
|
|
2017-05-14 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Separate indentation of AND, OR into a separate rule.
|
|
|
|
2017-05-11 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Use default value of indent-line-function when deactivating minor mode.
|
|
|
|
As the user could change the value of indent-line-function, we could not
|
|
reset it to 'indent-relative.
|
|
|
|
2017-05-11 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Create a `sqlind-minor-mode` to toggle syntactic indentation
|
|
|
|
Also updated commentary section with customization starting points.
|
|
|
|
2017-05-10 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
update alignment rules to handle variable declarations with assignments
|
|
|
|
This is further work on pull request #13
|
|
|
|
2017-05-10 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Merge branch 'master' of github.com:alex-hhh/emacs-sql-indent
|
|
|
|
2017-05-10 Alex Harsányi <alex-hhh@users.noreply.github.com>
|
|
|
|
Merge pull request #13 from PierreTechoueyres/pte/sqlind-align-rules
|
|
|
|
Add support for assignment and arrow (=>) in align.
|
|
|
|
2017-05-10 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
fixup sqlind-lineup-joins-to-anchor
|
|
|
|
2017-05-10 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Add a handful if indentation helpers
|
|
|
|
They are not used directly, but they can be used to construct custom
|
|
indentation tables.
|
|
|
|
2017-05-10 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
classify select columns start start with a comma as select-column
|
|
|
|
This helps with indenting SQL statements that use a comma at the start
|
|
of the column, like this:
|
|
|
|
SELECT col1
|
|
,col2
|
|
FROM ...
|
|
|
|
This is also consistent with how we classify select-table syntaxes
|
|
|
|
2017-05-09 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Add support for assignment and arrow (=>) in align.
|
|
|
|
Allow to align some keywords in sql statements. Ex:
|
|
|
|
declare
|
|
function dummy(p_param_1 in varchar2,
|
|
p_param_2 in out varchar2,
|
|
p_param_2 out varchar2)
|
|
return boolean;
|
|
end dummy;
|
|
|
|
function dummy_2(p_param_1 out varchar2,
|
|
p_param_2 out varchar2,
|
|
p_param_2 out varchar2)
|
|
return boolean;
|
|
|
|
function dummy_3(p_param_1 varchar2,
|
|
p_param_2 in varchar2,
|
|
p_param_2 out varchar2)
|
|
return boolean;
|
|
|
|
var1 boolean := true;
|
|
var2 number := 1;
|
|
var42 varchar2(1) := 'Y'; begin
|
|
if dummy(p_param_1 => val1,
|
|
p_param_10 => val10) then
|
|
null;
|
|
end if; end;
|
|
/
|
|
|
|
2017-05-07 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
install a separate syntax table for syntax parsing
|
|
|
|
keep the sql-mode syntax table unchanged, but use a special one during
|
|
syntactic parsing. This is done so that navigation over syntactic
|
|
elements is simpler for parsing, but stays reasonable while the user
|
|
edits the file.
|
|
|
|
For example, the string "table.column" will be considered one symbol for
|
|
indentation purposes, but two symbols for editing (so an M-b will move
|
|
to the dot)
|
|
|
|
2017-05-07 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
put our own syntax table into sql-mode
|
|
|
|
2017-05-07 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
move default indentation offsets in separate constant
|
|
|
|
`sqlind-indentation-offsets-alist' is now buffer local and it is simpler
|
|
to override
|
|
|
|
2017-05-06 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Merge branch 'master' of github.com:alex-hhh/emacs-sql-indent
|
|
|
|
2017-05-06 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Add initial align rules for SQL statements
|
|
|
|
2017-05-05 Alex Harsányi <alex-hhh@users.noreply.github.com>
|
|
|
|
Merge pull request #6 from PierreTechoueyres/pte/add-keywors
|
|
|
|
Add new keywords in `sqlind-sqlplus-directive'.
|
|
|
|
2017-05-05 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
don't move cursor when indenting the line
|
|
|
|
previous simplified too much
|
|
|
|
2017-05-04 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Add new keywords in `sqlind-sqlplus-directive'.
|
|
|
|
Add Oracle's keywords to start scripts inside a script.
|
|
|
|
2017-05-04 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Updated README file
|
|
|
|
2017-05-04 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Use `indent-line-to` in `sqlind-indent-line`
|
|
|
|
2017-03-23 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Indent nested if statements correctly, fixes #4
|
|
|
|
`sqlind-begining-of-block` and `sqlind-begining-of-statement` recognize
|
|
IF statements and stop at the right point so that syntactic info is
|
|
created correctly.
|
|
|
|
2017-03-22 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
fix parsing the "end if" block when an "elsif" is present
|
|
|
|
2017-01-02 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Add new keywords in `sqlind-sqlplus-directive'.
|
|
|
|
2016-12-30 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
update markdown formatting
|
|
|
|
2016-12-30 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Added documentation on how to customize indentation
|
|
|
|
2016-12-28 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Enable lexical-binding.
|
|
|
|
Enable lexical-binding and suppress compiler warning about unused
|
|
variables.
|
|
|
|
2016-10-07 alex-hhh <alex-hhh@users.noreply.github.com>
|
|
|
|
Merge pull request #1 from PierreTechoueyres/pte/start-with-connect-by
|
|
|
|
Add support for connect by/start with.
|
|
|
|
2016-10-06 Pierre Téchoueyres <pierre.techoueyres@free.fr>
|
|
|
|
Add support for connect by/start with.
|
|
|
|
Add support for Oracle SQL start with / connect by. Align them like
|
|
group by.
|
|
|
|
2016-05-21 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
fixup parsing of case clauses
|
|
|
|
2015-12-23 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
Add comments and headers to make it a proper pakage
|
|
|
|
This file can now be installed using package-install and friends.
|
|
|
|
2015-12-21 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
updated README file
|
|
|
|
2015-12-21 Alex Harsanyi <AlexHarsanyi@gmail.com>
|
|
|
|
initial revision
|
|
|
|
2015-12-21 alex-hhh <alex-hhh@users.noreply.github.com>
|
|
|
|
Initial commit
|
|
|