Shake extension API #
This module provides basic API wrappers and boilerplate for shake extensions. This is mainly for readability, to ensure that the correct aspects of the state are being managed: different extensions use different parts of the state for specific purposes.
In particular, it provides withFreshShakeRecords for running an action after resetting the shake
extension state, allowing for capture of what mod uses that action produced.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Resets the new entries in the indirectModUse extension. Note that the state is never altered
in the course of the file, as it only represents imported entries. Only the entries are gotten/
reset.
Equations
- ImportGraph.Shake.resetNewIndirectModUses env asyncMode asyncDecl = Lean.SimplePersistentEnvExtension.setEntries env Lean.indirectModUseExt [] asyncMode asyncDecl
Instances For
Equations
- ImportGraph.Shake.getNewIndirectModUses env asyncMode = Lean.indirectModUseExt.getEntries env asyncMode
Instances For
Equations
- ImportGraph.Shake.setNewIndirectModUses env entries asyncMode asyncDecl = Lean.SimplePersistentEnvExtension.setEntries env Lean.indirectModUseExt entries asyncMode asyncDecl
Instances For
Gets and resets the new indirect mod uses recorded in the indirectModUse extension. Note that
the state per se is never altered in the course of the file, as it only represents imported
entries. Only the entries list is gotten/reset.
Equations
- ImportGraph.Shake.getResetNewIndirectModUses env asyncMode asyncDecl = (Lean.indirectModUseExt.getEntries env asyncMode, ImportGraph.Shake.resetNewIndirectModUses env asyncMode asyncDecl)
Instances For
A wrapper for extraModUses.toEnvExtension.asyncMode to allow it to appear as an optParam in
a public-facing type.
Instances For
Equations
Instances For
Equations
- ImportGraph.Shake.getNewExtraModUses env asyncMode asyncDecl = Lean.PersistentEnvExtension.getState Lean.extraModUses✝ env asyncMode asyncDecl
Instances For
Equations
- ImportGraph.Shake.setNewExtraModUses env entries state = Lean.PersistentEnvExtension.setState Lean.extraModUses✝ env (entries, state)
Instances For
Gets and resets the new extra mod uses in the extraModUses extension. Note that the state
does not include imported entries.
Equations
- ImportGraph.Shake.getResetExtraModUses env asyncMode asyncDecl = (ImportGraph.Shake.getNewExtraModUses env asyncMode asyncDecl, ImportGraph.Shake.resetNewExtraModUses env)
Instances For
A wrapper for isExtraRevModUseExt.toEnvExtension.asyncMode to allow it to appear as an
optParam in a public-facing type.
Equations
Instances For
Gets the state of the extraModUses extension.
Equations
Instances For
Resets the state of the extraModUses extension.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Resets the state of the extraModUses extension.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Merges the state of the extraModUses extension (using "or" semantics).
Equations
- ImportGraph.Shake.mergeNewExtraRevModUse env old asyncMode asyncDecl = if old = true then ImportGraph.Shake.setNewExtraRevModUse env old asyncMode asyncDecl else env
Instances For
Gets and resets the state of the extraModUses extension.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Erases any new shake records from the current module.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Copies new extra mod uses from src and adds them to dest. Does not erase extra mod uses
already in dest. The same as Lean.copyExtraModUses, but passes async modes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Copies new indirect mod uses from src and adds them to dest. Does not erase extra mod uses
already in dest.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Copies a new rev mod use from src to dest, preserving the one in dest if present.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Copies all new shake records from src to dest. Does not erase the entries in dest.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Resets the shake extension entries (the records from the current module), then restores them after running the given action, merging any new records into the new ones.
Equations
- One or more equations did not get rendered due to their size.