-- | Collects references common to all SRS documents in one list for easy use.
module Drasil.DocLang.References (secRefs) where

import Language.Drasil
import Drasil.DocLang.SRS
import Drasil.DocumentLanguage.Core (getTraceConfigUID)

import Drasil.Sections.TableOfAbbAndAcronyms (tableAbbAccRef)
import Drasil.Sections.TableOfSymbols (symbTableRef)
import Drasil.Sections.TableOfUnits (unitTableRef)
import Drasil.Sections.TraceabilityMandGs (traceMatAssumpAssump, traceMatAssumpOther, traceMatRefinement)
import Drasil.Sections.Requirements (reqInputsRef)
import Drasil.Sections.AuxiliaryConstants (tableOfConstantsRef)
import Drasil.Sections.SpecificSystemDescription (tInDataCstRef, tOutDataCstRef)


-- | All section references used in creating a Software Requirements Specification (SRS).
secRefs :: [Reference]
secRefs :: [Reference]
secRefs = [Reference]
sectionReferences forall a. [a] -> [a] -> [a]
++ [Reference
tableAbbAccRef, Reference
reqInputsRef, Reference
symbTableRef,
  Reference
unitTableRef, Reference
tableOfConstantsRef, Reference
tInDataCstRef, Reference
tOutDataCstRef]
  forall a. [a] -> [a] -> [a]
++ forall a b. (a -> b) -> [a] -> [b]
map (forall r.
(HasUID r, HasRefAddress r, HasShortName r) =>
r -> Reference
refforall b c a. (b -> c) -> (a -> b) -> a -> c
.UID -> Reference
makeTabRef'forall b c a. (b -> c) -> (a -> b) -> a -> c
.TraceConfig -> UID
getTraceConfigUID) [TraceConfig
traceMatAssumpAssump, -- can this be deleted?
  TraceConfig
traceMatAssumpOther, TraceConfig
traceMatRefinement]