Vidar Holen
0a2cf208c8
Fixed quoted ~ warning to only trigger for ~/
2015-03-07 23:48:01 -08:00
Vidar Holen
0d74140650
Multiple wrong assignment warning fixes
2015-03-07 20:15:04 -08:00
Vidar Holen
955ad60823
Fixed parser errors not being excluded by -e
2015-03-01 13:44:57 -08:00
Vidar Holen
33c78b7c95
Track variables created through coproc.
2015-01-27 10:11:17 -08:00
Vidar Holen
a485482979
Add support for coproc
2015-01-26 22:21:04 -08:00
Vidar Holen
a8ff7a02fd
Fix $10 warning triggering for $?!, and also warn about $arr[index].
2014-11-22 10:09:19 -08:00
Vidar Holen
d9dd58bec8
Warn about 'for $var in values'.
2014-11-09 16:22:01 -08:00
Vidar Holen
af1bb93aba
Better warnings for repeated ;;s
2014-11-09 14:33:36 -08:00
Vidar Holen
e909c8ac42
More lenient line feed handling in test expressions.
2014-11-08 15:35:06 -08:00
Vidar Holen
9dadce96c0
Improve messages for missing 'then' statements.
2014-10-12 16:17:03 -07:00
Vidar Holen
a69e27b774
Warn about swapped !# in the shebang.
2014-10-11 12:35:45 -07:00
Vidar Holen
2f3533fff6
Improve warnings for $ in (()). Also improves array subscripts.
2014-08-16 17:08:57 -07:00
Vidar Holen
8494509150
Warn about missing shebangs.
2014-08-09 17:32:42 -07:00
Vidar Holen
8ba1f2fdf2
Better handling of directories and inaccessible files.
2014-08-08 09:36:17 -07:00
Vidar Holen
b000b05507
Parse empty and comment-only backtick expansions.
2014-07-26 12:07:59 -07:00
Vidar Holen
b9784cbcc0
Parse let arguments as arithmetic expressions.
2014-06-22 13:23:44 -07:00
Vidar Holen
1a3f6aadaf
Support indices in array declarations
2014-06-22 10:35:45 -07:00
Vidar Holen
0fd351404f
Allow escape sequences in here documents.
2014-06-16 14:18:29 -07:00
Vidar Holen
c11c0196d5
Fixed broken parsing of <( in arithmetics
2014-06-10 00:42:07 -07:00
Vidar Holen
fc421adb45
Reworked arithmetics to allow composite terms
2014-06-07 22:09:34 -07:00
Vidar Holen
3dd592a02a
Support ;& and ;;& in case statements
2014-06-07 12:23:42 -07:00
Rodrigo Setti
5dac723593
Collection of HLint fixes
...
http://community.haskell.org/~ndm/hlint/
2014-05-31 22:20:49 +00:00
Rodrigo Setti
0a9ed917e7
Test Suite in Cabal (cabal test)
...
Please run using "cabal test --show-details=streaming", there's a known
issue about this that was fixed in the latest version of cabal:
https://github.com/haskell/cabal/issues/1810
2014-05-31 01:30:23 +00:00
Vidar Holen
fdce0116da
Fix parsing {} in regex
2014-05-13 19:20:34 -07:00
Vidar Holen
c4181d45d2
Warn about suspicious IFS, such as IFS="\n"
2014-05-10 15:37:02 -07:00
Vidar Holen
680f838c63
Warn about literal, unquoted {/}
2014-05-10 14:07:53 -07:00
Vidar Holen
fd909eeca0
Fix parsing of &;; in case statements
2014-05-10 11:29:30 -07:00
Vidar Holen
c566efd442
Warn about UTF-8 BOMs in scripts.
2014-05-03 10:37:12 -07:00
Vidar Holen
47c220d59c
Removed noisy SC1000 about unescaped $s
2014-05-03 10:19:01 -07:00
Vidar Holen
033ce6d941
Allow zsh =(..) process substitution
2014-05-02 20:36:38 -07:00
Vidar Holen
0a263579e0
Support for zsh short form for loops and anonymous functions
2014-04-13 13:37:37 -07:00
Vidar Holen
67f4a0d6eb
Accept and warn about capitalization in keywords.
2014-03-15 16:08:33 -07: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
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
c5141b77bf
Fixed parser not accepting `` in arithmetic contex
2014-02-03 16:45:48 -08:00
Vidar Holen
075d58ee90
Replaced parser error for 'function' with shell-aware check.
2014-02-02 13:39:44 -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
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
4262c4b1bf
Allow {} in arithmetic for loops
2014-01-26 12:44:51 -08:00
Vidar Holen
74ea5eaeec
Parse but warn about "else if"
2014-01-25 14:12:31 -08:00
Vidar Holen
43ed5e748d
Allow '# shellcheck disable=SC1234' to ignore by code.
2014-01-16 23:08:56 -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
95ebe1cd07
Fixed parser error for '..; done| ..'
2013-12-15 14:39:47 -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
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
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
71bc26aefa
Fixed parsing of | outside of groups in =~ regex
2013-11-03 13:13:24 -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
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
5a959bc340
Fix parser errors for unclosed $( in here docs
2013-09-21 16:27:17 -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
bb49cf8e65
Parse the contents of unquoted here documents
2013-08-31 17:03:15 -07:00
Vidar Holen
de1fa61560
Warn about client side expansion in ssh strings/heredocs.
2013-08-03 21:19:32 -07:00
Vidar Holen
07b1fd6f44
Allow :+- in function names. :(){ :|:;};:, anyone?
2013-08-03 20:22:32 -07:00
Vidar Holen
4d9f8ebb39
Allow lack of spaces/separators in for((;;))do ..
2013-07-23 23:30:48 -07:00
Vidar Holen
5ba382d79b
Fixed parsing of IFS= read as single assignment
2013-07-23 22:12:13 -07:00
Vidar Holen
6974497f45
Don't warn for \. (regex) and \, (printf "%q" output)
2013-07-23 21:35:00 -07:00
Vidar Holen
d6dab3bd05
Don't warn about IFS= read ..
2013-07-23 21:23:33 -07:00
Vidar Holen
9393e4405b
Fixed accidental warning for $".."
2013-07-11 09:32:13 -07:00
Vidar Holen
e84d5abc3e
Support for recursive regex groups
2013-07-10 23:47:25 -07:00
Vidar Holen
0a2314cdcd
Also allow array syntax for args to readonly.
2013-07-10 23:15:08 -07:00
Vidar Holen
2214889a36
Improved messages for missing spaces in [..]
2013-07-10 23:03:42 -07:00
Vidar Holen
5a3493740e
Warn for [ \( foo = bar\) ]
2013-07-10 18:05:51 -07:00
Vidar Holen
e6f2ee1f88
Don't try to parse $'..' in ""
2013-07-10 17:41:38 -07:00
Vidar Holen
636c6a9336
Parser support for export a=(b c). Also declare/local/typeset.
2013-07-09 23:32:13 -07:00
Vidar Holen
d04262c70f
Fixed broken recursive backtick expansion.
2013-07-09 21:53:15 -07:00
Vidar Holen
599beff5b1
Moved shebang verification to parser
2013-07-08 09:39:54 -07:00
Vidar Holen
2500b2cce6
Fixed parser warning for \{foo,bar\}
2013-07-06 15:36:06 -07:00
Vidar Holen
56e0119db1
Fixed some incorrect warnings for PS1 escapes.
2013-07-05 19:12:13 -07:00
Vidar Holen
76c5af2973
Parser support for $[..], plus deprecation warning.
2013-07-05 09:42:08 -07:00
Vidar Holen
10b5e44ad0
Improved help for missing here doc terminator.
2013-07-04 14:19:54 -07:00
Vidar Holen
dbd4ff109c
Mention second level structure being parsed when error.
2013-07-04 13:07:27 -07:00
Vidar Holen
b060370b92
Added and improved parse warnings for missing spaces.
2013-07-03 16:37:58 -07:00
Vidar Holen
651bab73de
Fixed crash for ''foo due to unsafe 'last'
2013-07-01 09:14:33 -07:00
Vidar Holen
f820298b6e
Added recursive parsing support for `..`
2013-06-26 21:04:39 -07:00
Vidar Holen
438c4ec572
Fixed up warnings for \r, and added warnings for
2013-06-21 01:22:11 -07:00
Vidar Holen
5794f3d390
Fixed parsing of "test$"
2013-06-21 00:33:20 -07:00
Vidar Holen
092073d0b3
Fixed parsing for case foo \n in ..
2013-06-20 23:57:08 -07:00
Vidar Holen
3b246f94a3
Fixed parsing for cmd &> file
2013-06-18 20:08:33 -07:00
Vidar Holen
564e3c5413
Don't start comments for #s in the middle of words. Thanks Mitch!
2013-06-07 18:32:59 -07:00
Vidar Holen
103b037921
Fixed parsing for [] in =~ regex
2013-05-31 14:22:13 -07:00
Vidar Holen
1dbbc51f86
Improved regex parsing. To think [[ f =~ f( ]] )* ]] is valid..
2013-05-28 21:32:15 -07:00