Vidar Holen
4b0a35d4c9
Merge pull request #1302 from pjeby/fix949
...
Fix #949 (failing on @ in function names)
2018-07-26 21:07:48 -07:00
Vidar Holen
d8a32da07f
Retire SC1117 (unknown quoted escapes) due to noise
2018-07-26 19:23:53 -07:00
PJ Eby
0d1a34a291
Fix #949 (failing on @ in function names)
...
'@' was previously mentioned in 5005dc0fa1
as a
character needed to fix #909 , but was not included
in the actual change at that time.
2018-07-23 16:18:35 -04:00
Vidar Holen
5005dc0fa1
Allow directive/-s to override shebang blacklist ( fixes #974 )
2018-07-22 12:43:51 -07:00
Vidar Holen
b8ee7436e5
Add a test for 03ce3b15
2018-07-21 13:51:21 -07:00
Vidar Holen
da8e450386
Realign =s
2018-07-21 13:51:08 -07:00
Ng Zhi An
03ce3b15b6
Fix false positive when indexing into array in cond
...
Fixes #1268
2018-07-18 22:31:58 -07:00
Vidar Holen
b01f1128c7
Make SC1012 "printf '\t'" suggestion use single quotes
2018-06-24 11:47:00 -07:00
Vidar Holen
868a7be33e
Improve spans for some warnings
2018-06-17 19:19:18 -07:00
Vidar Holen
9d3e79b576
Require all Ids to be constructed with a span
2018-06-16 17:33:08 -07:00
Vidar Holen
402e635f86
Warn about & followed by letters, e.g. http://foo/?a=b&c=d
2018-06-16 12:30:19 -07:00
Ng Zhi An
4111ce8fde
Make end pos non-optional
2018-06-12 22:39:06 -07:00
Ng Zhi An
b9a9eb2529
Change getNextId to create a zero width span at new id
2018-06-12 22:17:35 -07:00
Ng Zhi An
e717802de1
Change usage of endPosOfStartId to startSpan and endSpan
2018-06-12 22:11:11 -07:00
Ng Zhi An
1699c9e9ba
Add api to begin and end a span of source code
2018-06-12 21:56:53 -07:00
Ng Zhi An
8ff35fb4af
Add end pos to readSingleQuoted
2018-06-07 23:09:59 -07:00
Ng Zhi An
29e8c0a16e
Add end pos to readDollarBraced
2018-06-07 22:25:16 -07:00
Ng Zhi An
3848788c2d
Add end pos to readDollarVariable
2018-06-07 21:55:41 -07:00
Ng Zhi An
0c459ae2cb
Add function to set end pos of start id
2018-06-07 21:55:41 -07:00
Ng Zhi An
e496b413bd
Remove usage of withNextId
2018-06-07 21:55:41 -07:00
Ng Zhi An
48ac654a93
Merge end pos map into start pos map
2018-06-07 21:55:41 -07:00
Russell Harmon
4470fe715c
Support emitting a correct end column on SC2086
...
This does the necessary work to emit end columns on AST analyses. SC2086
is made to emit a correct end column as an illustrative example.
For example:
```
$ shellcheck -s bash -f json /dev/stdin <<< 'echo $1'
[{"file":"/dev/stdin","line":1,"endLine":1,"column":6,"endColumn":8,"level":"info","code":2086,"message":"Double quote to prevent globbing and word splitting."}]
```
This change deprecates the parser's getNextId and getNextIdAt, replacing
it with a new withNextId function. This function has the type signature:
withNextId :: Monad m => ParsecT s UserState (SCBase m) (Id -> b) -> ParsecT s UserState (SCBase m) b
Specifically, it should be used to wrap read* functions and will pass in
a newly generated Id which should be used to represent that node.
Sub-parsers will need their own call to withNextId in order to get a
unique Id.
In doing this, withNextId can now track both the entry and exit position
of every read* parser which uses it, enabling the tracking of end
columns throughout the application.
2018-06-07 21:55:41 -07:00
Vidar Holen
135cf5932f
Parse here docs as per spec ( fixes #1050 )
2018-05-26 21:01:18 -07:00
Vidar Holen
467dfe07b6
Add a unit test and separate ids for 884eff0c
2018-05-23 19:51:36 -07:00
Ng Zhi An
884eff0c36
Add T_SourceCommand to wrap source commands and sourced code
...
Fixes #1181
2018-05-22 22:43:26 -07:00
Vidar Holen
235bf6605f
Merge pull request #1205 from ngzhian/remove-unused
...
Remove unused code
2018-05-12 19:15:42 -07:00
Vidar Holen
cf608dc2f6
Parse FD move operations like 2>&1- correctly. Fixes #1180 .
2018-05-12 18:30:35 -07:00
Ng Zhi An
728922d2b8
Remove unused code
2018-05-06 15:24:34 -07:00
Vidar Holen
5481ccd7f7
Warn about elseif or elsif as command names ( fixes #1177 )
2018-04-27 22:23:37 -07:00
Vidar Holen
32af2783f0
Allow stripping unit tests
2018-04-02 21:14:23 -07:00
Oleg Grenrus
cd7c077ecc
Move library into src/
2018-03-08 19:57:40 +02:00