@@ -205,6 +205,7 @@ The `configureInstaller` pre-run hook:
205205| ` list --cached ` | Lists packs in ` .Download/ ` |
206206| ` list --public ` | Lists all non-deprecated packs from the public index |
207207| ` list --public --deprecated ` | Lists deprecated packs from the public index |
208+ | ` list --deprecated ` | Lists deprecated packs from the public index |
208209| ` list --updates ` | Lists packs with newer versions available |
209210| ` list --filter ` | Filters results (case-sensitive, accepts multiple expressions) |
210211| ` list-required ` | Lists dependencies of installed packs |
@@ -240,12 +241,15 @@ type PacksInstallationType struct {
240241- ` UpdatePack() ` — Updates one or all packs to latest versions
241242- ` InitializeCache() ` — Builds ` cache.pidx ` from existing PDSC files in ` .Web/ `
242243- ` CheckConcurrency() ` — Validates and adjusts the concurrent-downloads setting
243- - ` DownloadPDSCFiles() ` — Downloads all PDSC files from the public index in parallel, optionally skipping deprecated packs
244+ - ` DownloadPDSCFiles() ` — Downloads all PDSC files from the public
245+ index in parallel, optionally skipping deprecated packs
244246- ` UpdateInstalledPDSCFiles() ` — Refreshes already-cached PDSC files from the index
245247- ` UpdatePublicIndexIfOnline() ` — Updates the public index only when connectivity is available
246- - ` UpdatePublicIndex() ` — Downloads and updates the public index and PDSC files, with option to skip deprecated PDSC files
247- - ` ListInstalledPacks() ` — Lists packs with various filter modes; supports ` --deprecated ` flag to show only deprecated
248- packs (hidden by default in ` --public ` listing)
248+ - ` UpdatePublicIndex() ` — Downloads and updates the public index and
249+ PDSC files, with option to skip deprecated PDSC files
250+ - ` ListInstalledPacks() ` — Lists packs with various filter modes;
251+ supports ` --deprecated ` flag to show only deprecated packs
252+ (hidden by default in ` --public ` listing)
249253- ` FindPackURL() ` — Resolves a pack ID to a download URL from the index
250254- ` SetPackRoot() ` — Initializes the ` Installation ` singleton and directory paths
251255- ` ReadIndexFiles() ` — Loads ` index.pidx ` , ` local_repository.pidx ` , and ` cache.pidx `
@@ -331,17 +335,19 @@ type PidxXML struct {
331335 Pdscs []PdscTag // List of all pack references
332336 }
333337 // Internal lookup maps for O(1) access
334- pdscList map [string ][]int // key → indices
335- pdscListName map [string ][]int // vendor.name → indices
338+ pdscList map [string ][]PdscTag // key → PdscTags
339+ pdscListName map [string ]string // vendor.name → key
340+ deprecatedDate time.Time // today UTC, set once per Read()
336341}
337342
338343type PdscTag struct {
339- URL string ` xml:"url,attr"`
340- Vendor string ` xml:"vendor,attr"`
341- Name string ` xml:"name,attr"`
342- Version string ` xml:"version,attr"`
343- Deprecated string ` xml:"deprecated,attr,omitempty"`
344- Replacement string ` xml:"replacement,attr,omitempty"`
344+ URL string ` xml:"url,attr"`
345+ Vendor string ` xml:"vendor,attr"`
346+ Name string ` xml:"name,attr"`
347+ Version string ` xml:"version,attr"`
348+ Deprecated string ` xml:"deprecated,attr,omitempty"`
349+ Replacement string ` xml:"replacement,attr,omitempty"`
350+ isDeprecated bool // cached flag, computed on insert
345351}
346352```
347353
@@ -361,8 +367,11 @@ type PdscTag struct {
361367- ` YamlPackID() ` — Returns ` Vendor::Name@Version ` format
362368- ` PackURL() ` — Constructs the full ` .pack ` download URL (PdscTag method)
363369- ` PdscFileName() ` — Returns the ` .pdsc ` filename (PdscTag method)
364- - ` IsDeprecated() ` — Returns ` true ` if the ` Deprecated ` date (format ` YYYY-MM-DD ` ) is today or in the
365- past (PdscTag method)
370+ - ` IsDeprecated() ` — Returns the cached deprecated flag.
371+ Computed via ` computeIsDeprecated() ` when a PdscTag is
372+ inserted (` Read ` , ` AddPdsc ` , ` AddReplacePdsc ` ).
373+ Uses ` PidxXML.deprecatedDate ` (today UTC, set once per
374+ ` NewPidxXML ` /` Read ` ) as reference (PdscTag method)
366375
367376### 7.2 PDSC — Pack Description (` pdsc.go ` )
368377
@@ -670,7 +679,8 @@ All errors are predefined constants in `errors.go`, allowing consistent error ch
670679Helper functions:
671680
672681- ` Is() ` — Wraps ` errors.Is() ` for convenience
673- - ` AlreadyLogged() ` — Wraps errors to prevent the same message from being logged twice as the error travels up the call stack
682+ - ` AlreadyLogged() ` — Wraps errors to prevent the same message from
683+ being logged twice as the error travels up the call stack
674684
675685---
676686
0 commit comments