Vidar Holen
d63406abe4
Prevent SC2101 to collide with 2060 for tr -d [:space:]
2014-04-12 16:43:57 -07:00
Vidar Holen
81956d324d
Don't warn when single quoting PROMPT_COMMAND and PS1
2014-04-05 17:08:03 -07:00
Vidar Holen
f549aad809
Suggest grep -c for grep|wc
2014-04-05 16:53:09 -07:00
Vidar Holen
f9f965693d
Don't warn about single quoting $0 for xprop
2014-04-05 16:32:59 -07:00
Vidar Holen
727d940e10
Don't warn about expr when using <, > and friends
2014-04-05 16:29:35 -07:00
Vidar Holen
c26c2b8536
Stop using generic char 'c' in 2022
2014-04-05 16:17:52 -07:00
Vidar Holen
d8878ed852
Fixed warnings when assigning arrays to scalars
2014-04-05 14:56:12 -07:00
Vidar Holen
c3cc5f649f
Fixed warning about \n in echo -n -e '\n'
2014-04-05 12:49:24 -07:00
Vidar Holen
f01e6e1a99
Check for accidentally overriding $PATH
2014-03-29 10:07:23 -07:00
Vidar Holen
de0145fb29
Stable version 0.3.2
...
This release is dedicated to knirch, mcandre, Dridi,
ptman, pihentagy, Riviera, and everyone else who keeps
submitting bug reports and feature suggestions!
2014-03-22 11:05:27 -07:00
Vidar Holen
0d4ae95e1d
Recognize declare -x as exporting variables
2014-03-22 10:43:56 -07:00
Vidar Holen
50db49e2fb
Rename Unquotable to QuoteFree
2014-03-22 10:27:59 -07:00
Vidar Holen
60aafae21d
Count array indexes as references, even without $
2014-03-22 10:22:34 -07:00
Vidar Holen
4f1fd43360
Don't suggest removing $ in (( 10#$n ))
2014-03-16 15:06:18 -07:00
Vidar Holen
ca5af5c55a
Don't warn about decimals in (( )) for zsh/ksh
2014-03-16 14:56:23 -07:00
Vidar Holen
2a9c9ae0ad
Warn about using <=/>=, and don't warn about -gt 1.2 in ksh/zsh
2014-03-16 14:51:46 -07:00
Vidar Holen
67f4a0d6eb
Accept and warn about capitalization in keywords.
2014-03-15 16:08:33 -07:00
Vidar Holen
b68de7f42b
Don't warn about for s in "${!var}", it could be an array
2014-03-13 20:54:10 -07:00
Vidar Holen
7dacb62d36
Fixed determining shell for shebangs with flags
2014-03-09 17:24:05 -07:00
Vidar Holen
3423cde931
Check attempts to set variables with 'set'
2014-03-01 16:52:53 -08:00
Vidar Holen
b2d1aa01f7
Don't warn about commas when quoted in a=("a,b")
2014-03-01 15:30:51 -08:00
Vidar Holen
19e1bdf11f
Warn about array assignments for /bin/sh
2014-03-01 15:16:31 -08:00
Vidar Holen
75d51087c8
Warn about functions using parameters that are never passed
2014-03-01 14:42:00 -08:00
Vidar Holen
ed524fb77f
Don't warn about decimals when comparing with =
2014-03-01 10:24:22 -08:00
Vidar Holen
97045c4af1
Fixed x[0] not recognized as reference of x in arithmetics
2014-03-01 10:14:17 -08:00
Vidar Holen
632c1614a1
Added support for |&
2014-03-01 10:05:43 -08:00
Vidar Holen
d07294810b
Allow \n before and after ||/&& in [[ ]]
2014-02-28 18:46:10 -08:00
Vidar Holen
bf3c942294
Warn about using 'su foo' to continue as foo
2014-02-16 18:51:30 -08:00
Vidar Holen
055b40462d
Improved $(echo ..) warnings
2014-02-16 13:26:50 -08:00
Vidar Holen
b087b7efb1
Some hlint fixes.
...
Ironically, this is the first time the linter has been linted.
2014-02-16 12:57:34 -08:00
Vidar Holen
5d8d57cf07
Suggest useless use of echo for $(echo $var)
2014-02-12 19:20:39 -08:00
Vidar Holen
661091a9da
Added better message for SC1007, for 'var= value'
2014-02-12 18:26:41 -08:00
Vidar Holen
2ec60c2627
Added double prime to list of unicode quotes.
2014-02-08 14:15:04 -08:00
Vidar Holen
8b4909b238
Improve warnings for missing quotes.
2014-02-08 14:10:45 -08:00
Vidar Holen
968e34e002
Parse forward ticks (acute accents) just like backticks and warn.
2014-02-08 09:50:20 -08:00
Vidar Holen
197b3e3f20
Some checks for accidental rm -r
2014-02-04 19:43:16 -08:00
Vidar Holen
0e464ea476
Stable version 0.3.1
...
This release is dedicated to the Flycheck team,
even though ShellCheck is written entirely in Vim.
2014-02-03 20:22:30 -08:00
Vidar Holen
4e5d32b05a
Added --version flag
2014-02-03 20:06:59 -08:00
Vidar Holen
c5141b77bf
Fixed parser not accepting `` in arithmetic contex
2014-02-03 16:45:48 -08:00
Vidar Holen
77916d2645
Fixed compilation error on GHC7
2014-02-02 21:47:02 -08:00
Vidar Holen
4968e7d9ff
Added -s flag to override dialect, e.g. -s ksh
2014-02-02 19:28:09 -08:00
Vidar Holen
075d58ee90
Replaced parser error for 'function' with shell-aware check.
2014-02-02 13:39:44 -08:00
Vidar Holen
6a4a5a815e
Don't consider last stage of pipeline a subshell for Ksh/Zsh
...
Also fixes the problem where pipelines were considered a single subshell.
2014-02-02 13:03:26 -08:00
Vidar Holen
76a39f254b
Refactoring, 25% speedup.
...
* Checks now use Writer monad instead of State
* Parser no longer emits notes unrelated to parsing.
* All checks are now passed a parameter value, containing shell type,
map from notes to parents and such. This eliminates recalculation
and removes the need for a special group of parent examining checks.
2014-02-02 04:59:17 -08:00
Vidar Holen
8ec9fa43fd
Warn about break/continue in subshells and outside loops
2014-02-01 23:45:26 -08:00
Vidar Holen
e8634a3c27
Removed duplicate check for [[ a == b + 1 ]]
2014-02-01 20:45:44 -08:00
Vidar Holen
9ae776530b
Check for [[ i + 1 = 2 ]]
2014-01-27 22:47:48 -08:00
Vidar Holen
82328cd86e
Warn about literal "\ " just like literal quotes.
...
Also, do it recursively.
2014-01-27 22:11:46 -08:00
Vidar Holen
4262c4b1bf
Allow {} in arithmetic for loops
2014-01-26 12:44:51 -08:00
Vidar Holen
7ad0110443
Don't warn about sed '$d' or '$p'
2014-01-25 14:54:05 -08:00
Vidar Holen
e9bba2f75a
Don't warn about comma separation in for f in {a,b}
2014-01-25 14:30:25 -08:00
Vidar Holen
74ea5eaeec
Parse but warn about "else if"
2014-01-25 14:12:31 -08:00
Vidar Holen
cfb44b3fe2
Warn about 'cd $f; foo; cd ..' loop antipattern.
2014-01-17 09:02:14 -08:00
Vidar Holen
43ed5e748d
Allow '# shellcheck disable=SC1234' to ignore by code.
2014-01-16 23:08:56 -08:00
Vidar Holen
4dca88aade
Don't warn about quotes in variables for eval
2014-01-16 19:41:09 -08:00
Vidar Holen
1d2c7a8551
Warn about abused char classes, such as [10-15] and [:digit:]
2014-01-14 21:20:21 -08:00
Vidar Holen
659709d529
Fixed ${!var} not counting as reference of var
2013-12-30 10:00:05 -08:00
Vidar Holen
5b4729d940
Parser: allow subshell function definitions
2013-12-30 09:50:14 -08:00
Vidar Holen
8c00850134
Minor performance tweaks (~10% improvement)
2013-12-15 18:43:34 -08:00
Vidar Holen
d1990e3396
Warn about 'i=i+1' and 'i=i + 1'
2013-12-15 16:11:17 -08:00
Vidar Holen
95ebe1cd07
Fixed parser error for '..; done| ..'
2013-12-15 14:39:47 -08:00
Vidar Holen
27822a1f56
Warn about 'foo=bar echo $foo'
2013-12-14 16:06:19 -08:00
Vidar Holen
eb06b06475
Don't warn about single quoted vars for ssh
2013-12-14 15:28:58 -08:00
Vidar Holen
5d72432046
If printf string contains %, don't warn about using vars
2013-12-14 15:27:11 -08:00
Vidar Holen
da51b14789
Parser: accept here doc token strings more liberally
2013-12-14 15:20:15 -08:00
Vidar Holen
7be8485b8b
Fixed parsing of 'time' in front of compound commands
2013-12-14 14:44:47 -08:00
Vidar Holen
a4d36ba0d2
Warn about while read f; do ssh "$f"; done
2013-11-29 23:05:41 -08:00
Vidar Holen
d4bc0f6e10
Don't require separator before do in 'for i do ..'
2013-11-29 16:22:37 -08:00
Vidar Holen
1011ae7b3c
Fixed incorrect parsing of [ foo -a -f bar ]
2013-11-24 18:49:49 -08:00
Vidar Holen
d603ee1e89
Don't warn for A&&B||C if C is echo/exit/assignment
2013-11-24 16:15:10 -08:00
Vidar Holen
4fc518c877
Cleaned up command matching code
2013-11-24 15:48:07 -08:00
Vidar Holen
7fda86d6e2
Fixed warning for 'exec foo; exit 3'
2013-11-24 14:48:12 -08:00
Vidar Holen
6905373b6c
Fix incorrect warning for 'foo > bar 2> bar'
2013-11-24 14:20:24 -08:00
Vidar Holen
1d8401d583
Assume variables have spaces by default
2013-11-17 16:16:58 -08:00
Vidar Holen
a89aee1a34
Assume variables have spaces/globs by default
2013-11-17 16:13:45 -08:00
Vidar Holen
4853dce3fe
Fixed wrong quoting warning for foo=" "; foo
2013-11-17 15:00:07 -08:00
Vidar Holen
a793e09bab
Added hint to suggest missing ;; in case
2013-11-17 14:41:55 -08:00
Vidar Holen
d8b5d6393a
\" should not be treated specially in `backticks`
2013-11-12 18:27:18 -08:00
Vidar Holen
d404bc703d
Show expose error code in shellcheck frontends
2013-11-10 12:22:33 -08:00
Vidar Holen
e5e08df1d9
Numbered messages
2013-11-10 10:55:46 -08:00
Vidar Holen
83c3dd3418
Accept ./? in function names
2013-11-03 13:58:06 -08:00
Vidar Holen
8d265aa25e
Don't warn about expr if using : operator
2013-11-03 13:47:04 -08:00
Vidar Holen
71bc26aefa
Fixed parsing of | outside of groups in =~ regex
2013-11-03 13:13:24 -08:00
Vidar Holen
8a3d259ae6
Don't warn about single quotes in args to perl
2013-11-03 12:47:44 -08:00
Vidar Holen
3a9ae0ebf1
Accept dir-/basename due to edge cases like "/" and "foo"
2013-11-03 12:42:11 -08:00
Vidar Holen
6d0bfcf37a
Fixed parser accepting spaces after here doc token
2013-10-27 16:02:27 -07:00
Vidar Holen
e0bbb89d00
Fixed parser bug where }> wasn't recognized as Rbrace
2013-10-27 15:36:47 -07:00
Vidar Holen
b1af7bb8f2
Fixed parser error for 'for ((;;)) ; do'
2013-10-11 20:03:55 -07:00
Vidar Holen
157fea73da
Suggest ./* instead of * for command arguments
2013-10-06 15:54:31 -07:00
Vidar Holen
b439f02b8e
Improved assignment parsing: track indices and += vs =
2013-10-06 14:44:43 -07:00
Vidar Holen
710a28c572
Revert "Fixed parsing for 'eval var=(values)'", because it fails for 'eval $x=foo'
...
This reverts commit 34e69556b1
.
2013-09-29 21:35:20 -07:00
Vidar Holen
702d57b655
Warn about unicode quotes
2013-09-29 21:22:42 -07:00
Vidar Holen
34e69556b1
Fixed parsing for 'eval var=(values)'
2013-09-29 21:00:29 -07:00
Vidar Holen
7c411b39ac
Fixed warnings for read -p "Name: "
2013-09-29 20:55:26 -07:00
Vidar Holen
5a959bc340
Fix parser errors for unclosed $( in here docs
2013-09-21 16:27:17 -07:00
Vidar Holen
fb5f72951d
Don't warn about unused variables for read ''
2013-09-12 19:11:42 -07:00
Vidar Holen
7630136d6c
Move command and variable lists to ShellCheck.Data.
2013-09-12 18:50:33 -07:00
Vidar Holen
dacb8c597f
Fixed a series of extglob parsing oddities and edge cases
2013-09-04 13:02:30 -07:00
Vidar Holen
58b8e0ab70
Suggest pgrep when grepping ps
2013-08-31 18:32:07 -07:00
Vidar Holen
9586a46c9c
Warn about assigned but unreferenced variables
2013-08-31 18:26:20 -07:00