Vidar Holen
66c7cf19e2
Fix missing backslash in SC1003 about '\''
2017-04-01 22:01:05 -07:00
Vidar Holen
2688a81526
Don't suggest indirection for 'declare var$n=foo'
2017-03-18 14:54:52 -07:00
Vidar Holen
2154583fd3
Don't parse unicode quotes as real quotes.
2017-02-25 15:14:52 -08:00
Vidar Holen
8809a36952
Warn when finding HTML entities like &
2017-01-14 11:59:31 -08:00
Vidar Holen
d8f8a2fa14
Minor 2% parser speedup
2016-12-29 10:56:00 -08:00
Vidar Holen
df3cc70658
Improve code for warning about escaped single quotes.
2016-12-28 21:51:28 -08:00
Vidar Holen
bd9d05c759
Warn about missing space in [ foo= bar ]
2016-12-27 21:20:59 -08:00
Austin English
af87fe9315
add missing references to dash
2016-12-20 17:10:55 -08:00
Vidar Holen
0a381be37b
Improve heredoc delimiter handling.
2016-12-11 10:09:13 -08:00
Vidar Holen
b4fb439191
Save string read by T_ParamSubSpecialChar
2016-12-03 10:19:14 -08:00
MortimerMcMire315
0897ab7092
Add handling for special characters in parameter substitutions.
...
Fixes koalaman/shellcheck#562 . Special characters inside braces are
parsed into T_ParamSubSpecialChar instead of T_Literal so that they are
not flagged in the function checkInexplicablyUnquoted when sandwiched
between double quotes.
2016-11-28 16:06:02 -05:00
Vidar Holen
f26038125d
Allow spaces/comments before filewide annotations.
2016-11-20 18:06:36 -08:00
Vidar Holen
619b6c42f3
Improve parsing of fd close/duplicate redirections.
2016-10-21 11:31:58 -07:00
Vidar Holen
88c56ecd53
Allow unrecognized directives with warnings.
2016-10-14 12:14:20 -07:00
Vidar Holen
6b62b5bf7e
Don't warn about [ a '>' b ] needing escapes.
2016-10-01 14:54:28 -07:00
Vidar Holen
8672af29ef
Split duplicate SC1009 into SC1014 for if [ grep foo bar ]
2016-10-01 13:34:14 -07:00
Vidar Holen
13a2070a32
Support multidimensional KSH arrays and warn in Bash.
2016-08-06 18:40:08 -07:00
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