git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Only parse `qualified as` for now
2aa6ea0Gary Burgess
src/Language/PureScript/Parser/Declarations.hs+14−4
@@ -99,10 +99,20 @@ parseImportDeclaration :: P.Parsec String ParseState Declaration
99parseImportDeclaration = do
99parseImportDeclaration = do
100 reserved "import"
100 reserved "import"
101 indented
101 indented
102+ qualImport <|> stdImport
103+ where
104+ stdImport = do
102− moduleName' <- moduleName
105+ moduleName' <- moduleName
103− idents <- P.optionMaybe $ parens $ commaSep parseDeclarationRef
106+ idents <- P.optionMaybe $ parens $ commaSep parseDeclarationRef
107+ return $ ImportDeclaration moduleName' idents Nothing
108+ qualImport = do
109+ reserved "qualified"
110+ indented
111+ moduleName' <- moduleName
112+ idents <- P.optionMaybe $ parens $ commaSep parseDeclarationRef
104− asQ <- P.optionMaybe $ reserved "as" *> moduleName
113+ reserved "as"
114+ asQ <- moduleName
105− return $ ImportDeclaration moduleName' idents asQ
115+ return $ ImportDeclaration moduleName' idents (Just asQ)
106
116
107parseDeclarationRef :: P.Parsec String ParseState DeclarationRef
117parseDeclarationRef :: P.Parsec String ParseState DeclarationRef
108parseDeclarationRef = ValueRef <$> parseIdent
118parseDeclarationRef = ValueRef <$> parseIdent