mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-08-07 06:22:32 +08:00
Count ~/ as dynamic for resolving source paths.
This commit is contained in:
@@ -147,6 +147,9 @@ prop_canSourceBadSyntax =
|
||||
prop_cantSourceDynamic =
|
||||
[1090] == checkWithIncludes [("lib", "")] ". \"$1\""
|
||||
|
||||
prop_cantSourceDynamic2 =
|
||||
[1090] == checkWithIncludes [("lib", "")] "source ~/foo"
|
||||
|
||||
prop_canSourceDynamicWhenRedirected =
|
||||
null $ checkWithIncludes [("lib", "")] "#shellcheck source=lib\n. \"$1\""
|
||||
|
||||
|
@@ -1536,7 +1536,11 @@ readSimpleCommand = called "simple command" $ do
|
||||
readSource :: Monad m => SourcePos -> Token -> SCParser m Token
|
||||
readSource pos t@(T_Redirecting _ _ (T_SimpleCommand _ _ (cmd:file:_))) = do
|
||||
override <- getSourceOverride
|
||||
let literalFile = override `mplus` getLiteralString file
|
||||
let literalFile = do
|
||||
name <- override `mplus` getLiteralString file
|
||||
-- Hack to avoid 'source ~/foo' trying to read from literal tilde
|
||||
guard . not $ "~/" `isPrefixOf` name
|
||||
return name
|
||||
case literalFile of
|
||||
Nothing -> do
|
||||
parseNoteAt pos WarningC 1090
|
||||
|
Reference in New Issue
Block a user