Vidar Holen
6dc419bbf5
Improve warning for 'else if'.
2016-07-02 15:40:29 -07:00
Vidar Holen
7af3470a91
Improve parser errors when reparsing array indices.
2016-07-01 22:06:50 -07:00
Vidar Holen
e3bef9dc97
Warn about (( 1 -lt 2 ))
2016-07-01 20:33:07 -07:00
Vidar Holen
6c1abb2dee
Performance: make readDollarExpr fail early if no $
2016-06-30 10:01:03 -07:00
Vidar Holen
43c26061b9
Improve parsing for ambiguous $((foo) ) and ((foo) ).
2016-06-26 22:13:48 -07:00
Vidar Holen
eb2472ada8
Merge branch 'master' of github.com:koalaman/shellcheck
2016-06-26 14:40:43 -07:00
Vidar Holen
3e5ecaa262
Parse indices of associative arrays properly
2016-06-26 14:39:49 -07:00
Russell Harmon
7f5f5b7fb5
Make SC1035 emit a proper end column
...
Example JSON output:
```
$ shellcheck -s bash -f json /dev/stdin <<< "[[0 -eq 1 ]]"
[{"file":"/tmp/zshNCNwPz","line":1,"column":1,"endColumn":3,"level":"error","code":1035,"message":"You need a space after the [[ and before the ]]."}]
```
2016-06-18 14:59:47 -07:00
Russell Harmon
856d57f7d8
PositionedComment and ParseNote contains end cols.
...
This change makes PositionedComment and ParseNote contain end columns.
It additionally modifies the JSON formatter to show the end column in an
"endColumn" property. No modifications to the messages shown by any
other formatter have been made.
Currently, all checks set the end column to the start column. It should
now be possible however to start setting the end column in the parser.
Additional work is needed to set the end column during AST analysis.
2016-06-18 14:58:00 -07:00
Vidar Holen
40136fe249
Fix parsing of [[ a =~ {$var} ]]
2016-05-08 12:19:25 -07:00
Vidar Holen
86999ded1f
Improve 'let' parsing, trigger unused var for ((a=1))
2016-04-30 13:45:39 -07:00
Vidar Holen
2f0ae44de4
Fix parsing of here documents
2016-04-16 19:14:02 -07:00
Vidar Holen
f835c2d4c1
Fix handling of spaces in shebangs.
2016-04-16 09:42:07 -07:00
Vidar Holen
2957fb64c9
Allow parsing 'time ( foo )'
2016-03-19 16:13:54 -07:00
Vidar Holen
944313c6ba
Directives after the shebang now apply to the entire script.
...
Also adds support for the shell= directive.
2016-03-08 20:16:16 -08:00
Vidar Holen
8a3bd25f7c
Improve error for missing final ) in $((foo)
2016-02-07 14:16:40 -08:00
Vidar Holen
825c1b5d22
Support parsing $((( as $( ((, with warning.
2016-02-06 22:19:29 -08:00
Vidar Holen
92473b512a
Add warning for trailing spaces after \ breaks.
2016-02-01 20:20:34 -08:00
Vidar Holen
528381796e
Allow escaped characters in [..] globs
2015-12-13 10:19:48 -08:00
Vidar Holen
c7964a7a78
Warn about missing space in 'function foo{'.
2015-12-05 16:09:44 -08:00
Vidar Holen
1a5296659b
Properly handle escaped double quotes in quoted backtick expressions.
2015-11-01 12:30:33 -08:00
Vidar Holen
ffb9578a98
Support parsing quoted test operators, and also warn about unicode dashes.
2015-10-17 16:33:21 -07:00
Vidar Holen
630f20e888
Count ~/ as dynamic for resolving source paths.
2015-10-17 10:50:07 -07:00
Vidar Holen
d01b59a827
Don't warn about empty assignments when at end of command.
2015-10-13 12:16:39 -07:00
Vidar Holen
55692926b9
Don't consider {} and {a} brace expansions.
2015-10-03 21:12:28 -07:00
Vidar Holen
0f00de80fd
Support {n}>&1 named file descriptors.
2015-09-05 09:48:34 -07:00
Vidar Holen
c808c9b6fe
End here doc tokens on < and >.
2015-09-03 20:58:21 -07:00
Vidar Holen
bf9297e2a5
Parse ksh ${ ..; } expansions.
2015-09-03 20:26:02 -07:00
Vidar Holen
7f547cc0ec
Warn when using unescaped parens in eval.
2015-09-02 21:11:39 -07:00
Vidar Holen
01c27dc96a
Parse double arithmetic negation, i.e. (( !!a ));
2015-09-02 19:31:22 -07:00
Matteo Beniamino
f054e2e2cc
Added FlexibleContexts extension in Parser.hs to fix compilation.
2015-08-23 10:55:18 +02:00
Vidar Holen
090e09e4ca
Support nested trinary expressions.
2015-08-22 14:20:20 -07:00
Vidar Holen
d0029ae1d4
Ignore === in assignments, and add a special warning 1097 for ==.
2015-08-22 12:20:03 -07:00
Vidar Holen
eea7bc326e
Improved parsing error expected messages.
2015-08-22 11:06:49 -07:00
Vidar Holen
73cd2cdd6f
Also warn about missing 'then' before 'else'
2015-08-19 20:27:14 -07:00
Vidar Holen
a01862bc12
Adds a #shellcheck source=file directive to override source statements.
2015-08-19 19:09:55 -07:00
Vidar Holen
f31c8bd3a3
Preliminary support for sourced files.
2015-08-16 17:18:51 -07:00
Vidar Holen
f85441add9
Removed unused pragma.
2015-08-15 13:25:34 -07:00
Vidar Holen
67cfcfd206
Separated formatters into multiple files.
2015-08-15 12:51:13 -07:00
Vidar Holen
72eeafe002
Some cleanup to make room for future improvements.
2015-08-15 09:34:19 -07:00
Vidar Holen
cbda90eeb5
Warn about zero-width spaces.
2015-07-25 13:59:00 -07:00
Vidar Holen
0522a5f0bd
Allow escaped linefeeds to break lines in $(())
2015-07-15 09:01:29 -07:00
Vidar Holen
3d83b87c9a
Added copyright notice to individual source files.
2015-06-30 19:21:12 -07:00
Vidar Holen
349dfdab35
Relicense from AGPL v3 to GPL v3.
2015-06-20 09:52:07 -07:00
Vidar Holen
ca37794b7c
Allow empty scripts, $()s and <()s. Also improves related error messages.
2015-06-14 14:30:11 -07:00
Vidar Holen
6076f0b1da
Parse variables and subexpressions in brace expansions
2015-05-10 12:49:50 -07:00
Vidar Holen
93debd3556
Add expect to list of known non-shells
2015-04-02 19:22:47 -07:00
Vidar Holen
47b971c582
Declared FlexibleContexts for GHC 7.10
2015-03-31 21:59:03 -07:00
Vidar Holen
ed56a837c3
Killed Zsh support
2015-03-20 10:03:56 -07:00
Vidar Holen
0a80188363
Fix parsing of ((a?b:c))
2015-03-08 18:11:23 -07:00