@@ -28,6 +28,11 @@ let visitLongIdent (lid: LongIdent) =
2828 | [ _ ] -> []
2929 | lid -> [ FileContentEntry.PrefixedIdentifier( longIdentToPath true lid) ]
3030
31+ let visitLongIdentForModuleAbbrev ( lid : LongIdent ) =
32+ match lid with
33+ | [] -> []
34+ | lid -> [ FileContentEntry.PrefixedIdentifier( longIdentToPath false lid) ]
35+
3136let visitSynAttribute ( a : SynAttribute ) : FileContentEntry list =
3237 [ yield ! visitSynLongIdent a.TypeName; yield ! visitSynExpr a.ArgExpr ]
3338
@@ -55,7 +60,7 @@ let visitSynModuleDecl (decl: SynModuleDecl) : FileContentEntry list =
5560 | SynModuleDecl.ModuleAbbrev ( longId = longId) ->
5661 // I believe this is enough
5762 // A module abbreviation doesn't appear to be exposed as part of the current module/namespace
58- visitLongIdent longId
63+ visitLongIdentForModuleAbbrev longId
5964 | SynModuleDecl.NamespaceFragment _ -> []
6065 | SynModuleDecl.Exception( exnDefn = SynExceptionDefn ( exnRepr = SynExceptionDefnRepr ( attributes = attributes
6166 caseName = caseName
@@ -79,7 +84,7 @@ let visitSynModuleSigDecl (md: SynModuleSigDecl) =
7984 yield FileContentEntry.NestedModule( ident.idText, lc visitSynModuleSigDecl decls)
8085 ]
8186 | SynModuleSigDecl.NestedModule _ -> failwith " A nested module cannot have multiple identifiers"
82- | SynModuleSigDecl.ModuleAbbrev _ -> failwith " no support for module abbreviations "
87+ | SynModuleSigDecl.ModuleAbbrev ( longId = longId ) -> visitLongIdentForModuleAbbrev longId
8388 | SynModuleSigDecl.Val ( valSig, _) -> visitSynValSig valSig
8489 | SynModuleSigDecl.Types ( types = types) -> lc visitSynTypeDefnSig types
8590 | SynModuleSigDecl.Exception( exnSig = SynExceptionSig ( exnRepr = SynExceptionDefnRepr ( attributes = attributes
0 commit comments