Vidar Holen
47d358c1d4
Tighten SC2333/SC2334 to only trigger against literals.
2025-05-17 00:55:50 +00:00
Vidar Holen
ad58768563
Merge branch 'tautologically-false' of github.com:e-kwsm/shellcheck into e-kwsm-tautologically-false
2025-05-12 17:04:34 +00:00
Vidar Holen
f78714e0f6
Add ":" alongside "true" for SC2015
2025-04-11 19:14:53 -07:00
Vidar Holen
de07ec1c56
Merge branch 'ignore-sc2015-true' of github.com:Flu/shellcheck into Flu-ignore-sc2015-true
2025-04-11 19:14:15 -07:00
Vidar Holen
553a80f77a
Also ignore SC2119 for :? and :+.
2025-04-08 21:21:50 -07:00
Vidar Holen
7fc992d0dc
Suppress SC2119/SC2120 for ${1:-default} ( fixes #2023 )
2025-04-08 20:52:52 -07:00
Vidar Holen
574c6d18fb
Suggest using test -e instead of -a ( fixes #3174 ).
2025-04-08 10:23:10 -07:00
Vidar Holen
72af76f443
Supress SC2093 when execfail is set ( fixes #3178 )
2025-04-06 19:58:13 -07:00
Vidar Holen
8ff0c5be7a
Suppress SC2216 when piping to cp/mv/rm -i ( fixes #3141 ).
2025-04-06 19:27:29 -07:00
Eisuke Kawashima
4f628cbe2a
feat: check tautologically-false conditionals
...
- fix #3179 — negation of SC2055, `[ x = y -a x = z]`
- fix #3181 — negation of SC2056, `(( x == y && x == z ))`
- fix #3180 — negation of SC2252, `[ x = y ] && [ x = z ]`
2025-04-04 18:21:35 +09:00
Adrian Fluturel
cbf0b33463
Skip SC2015 when the last command is true
2025-01-07 03:24:29 +01:00
Joseph C. Sible
5adfea21ee
Use the result of the comparison directly instead of an if/else
2024-12-13 23:20:48 -05:00
Joseph C. Sible
0ecaf2b5f1
Use foldr instead of explicit recursion
2024-12-13 23:19:36 -05:00
Vidar Holen
5e3e98bcb0
Use CFG to determine use-before-define for SC2218 ( fixes #3070 )
2024-10-27 15:43:30 -07:00
Vidar Holen
88e441453b
Make SC2002 optional (useless-use-of-cat)
2024-08-31 18:31:47 -07:00
Vidar Holen
cd6fdee99b
Merge pull request #3034 from dereckson/SC2016-oc
...
Whitelist oc to avoid SC2016 false positive
2024-08-04 16:50:30 -07:00
Emil Berg
38c5ba7c79
Fix typos and trailing whitespace
2024-08-03 08:49:40 +02:00
Sébastien Santoro
2696c6472d
Whitelist oc to avoid SC2016 false positive
...
Fixes #3033 .
2024-07-31 13:33:25 +00:00
Joseph C. Sible
98b8dc0720
Use fromList instead of reimplementing it in terms of foldl
2024-07-07 01:28:06 -04:00
Joseph C. Sible
61b7e66f80
Use sets instead of maps that never use their values
2024-07-07 01:28:06 -04:00
Vidar Holen
ac8fb00504
Account for BusyBox support of [[ ]] ( fixes #2967 )
2024-05-04 16:45:52 -07:00
Vidar Holen
a13cb85f49
Fixed broken test due to bad build cache
2024-05-04 16:34:21 -07:00
Vidar Holen
a7a906e2cb
Allow SC2154 to trigger in arrays ( fixes #2970 )
2024-05-04 16:29:51 -07:00
Vidar Holen
d705716dc4
Account for annotations in SC2215. Fixes #2975 .
2024-05-04 15:22:09 -07:00
Vidar Holen
76ff702e93
Supress SC2015 about A && B || C
when B is a test.
2024-05-04 15:12:13 -07:00
Vidar Holen
4f81dbe839
Add warning about uninvoked functions, reduce repeated triggering of SC2317 ( fixes #2966 )
2024-05-04 14:35:26 -07:00
Vidar Holen
2c5155e43d
Warn about capturing the output of redirected commands.
2024-04-14 18:47:19 -07:00
Lawrence Velázquez
9cb21c8557
Recommend typeset
instead of declare
in SC2324
...
Bash has both `typeset` and `declare`, but ksh has `typeset` only.
Recommend the more portable alternative to users.
2024-03-08 18:24:08 -05:00
Vidar Holen
a7e65dca8d
Update some copyright years
2024-03-04 09:19:51 -08:00
Vidar Holen
d80fdfa9e8
Add extended-analysis directive to toggle DFA
2024-02-03 16:11:39 -08:00
Joseph C. Sible
ba86c6363c
Use maybe instead of fromMaybe and fmap
2024-01-02 14:46:07 -05:00
Joseph C. Sible
9e0fdbe431
Simplify isTransparentCommand
2023-12-31 18:13:32 -05:00
Joseph C. Sible
b7f88ec4b7
Stop building tuples that we never look at both sides of
2023-12-31 18:09:02 -05:00
Joseph C. Sible
7b0589988f
Implement isCondition in terms of foldr
2023-12-31 17:21:50 -05:00
Joseph C. Sible
71889c139a
Use a case expression instead of any and take 1
2023-12-31 16:44:21 -05:00
Joseph C. Sible
a6984cddb0
Switch then and else to remove a not
2023-12-31 16:40:18 -05:00
Joseph C. Sible
6c81505870
Use a pattern guard instead of fromJust in checkLoopKeywordScope
2023-12-31 16:26:03 -05:00
Joseph C. Sible
10afe83ce3
Use getLiteralStringDef instead of rebuilding it with fromJust
2023-12-31 16:23:45 -05:00
Joseph C. Sible
a786f996a1
Replace !!! with pattern-matching where it's easy
2023-12-31 15:55:06 -05:00
Joseph C. Sible
6e5b5401c6
Manually fuse elem and map in checkArrayValueUsedAsIndex
2023-12-31 02:31:07 -05:00
Joseph C. Sible
add49cda17
Make getPath return a NonEmpty
2023-12-31 02:12:58 -05:00
Joseph C. Sible
dedf932fe8
Use traverse instead of sequence and map
2023-12-30 13:59:15 -05:00
Joseph C. Sible
f983d9ae93
Simplify functionMap and remove unnecessary partiality
2023-12-21 13:35:22 -05:00
Joseph C. Sible
f242922a2e
Use onlyLiteralString in more places
2023-12-19 00:00:32 -05:00
Grische
1e1045e73e
make busybox sh Dash-like
2023-11-27 13:01:22 +01:00
Grische
be8e4b2b8a
add basic busybox sh support
2023-11-27 13:00:10 +01:00
Joseph C. Sible
1aeab287e6
Add nil case that went missing in 4fd0615
2023-11-03 01:33:49 -04:00
Joseph C. Sible
4fd0615501
Stop using head in isLeadingNumberVar
2023-10-16 00:55:04 -04:00
Joseph C. Sible
8b3c37aa36
Use find instead of listToMaybe and filter
2023-10-16 00:06:53 -04:00
Vidar Holen
d18b2553cf
Merge pull request #2808 from bruce-ricard/pr/dfbr
...
improve short description for SC2038
2023-08-13 14:53:15 -07:00