File: .lake/packages/lean4/src/lean/lake/Lake/DSL/AttributesCore.lean

full_name: Lake.initFn._@..lake.packages.lean4.src.lean.lake.Lake.DSL.AttributesCore._hyg.5
code: initialize packageAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `package "mark a definition as a Lake package configuration"
goal: IO Lake.OrderedTagAttribute

full_name: Lake.packageAttr
code: initialize packageAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `package "mark a definition as a Lake package configuration"
goal: Lake.OrderedTagAttribute

full_name: Lake.packageDepAttr
code: initialize packageDepAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `package_dep "mark a definition as a Lake package dependency"
goal: Lake.OrderedTagAttribute

full_name: Lake.initFn._@..lake.packages.lean4.src.lean.lake.Lake.DSL.AttributesCore._hyg.33
code: initialize packageDepAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `package_dep "mark a definition as a Lake package dependency"
goal: IO Lake.OrderedTagAttribute

full_name: Lake.initFn._@..lake.packages.lean4.src.lean.lake.Lake.DSL.AttributesCore._hyg.61
code: initialize postUpdateAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `post_update "mark a definition as a Lake package post-update hook"
goal: IO Lake.OrderedTagAttribute

full_name: Lake.postUpdateAttr
code: initialize postUpdateAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `post_update "mark a definition as a Lake package post-update hook"
goal: Lake.OrderedTagAttribute

full_name: Lake.scriptAttr
code: initialize scriptAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `script "mark a definition as a Lake script"
goal: Lake.OrderedTagAttribute

full_name: Lake.initFn._@..lake.packages.lean4.src.lean.lake.Lake.DSL.AttributesCore._hyg.89
code: initialize scriptAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `script "mark a definition as a Lake script"
goal: IO Lake.OrderedTagAttribute

full_name: Lake.defaultScriptAttr
code: initialize defaultScriptAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `default_script "mark a Lake script as the package's default"
    fun name => do
      unless (← getEnv <&> (scriptAttr.hasTag · name)) do
        throwError "attribute `default_script` can only be used on a `script`"
goal: Lake.OrderedTagAttribute

full_name: Lake.initFn._@..lake.packages.lean4.src.lean.lake.Lake.DSL.AttributesCore._hyg.117
code: initialize defaultScriptAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `default_script "mark a Lake script as the package's default"
    fun name => do
      unless (← getEnv <&> (scriptAttr.hasTag · name)) do
        throwError "attribute `default_script` can only be used on a `script`"
goal: IO Lake.OrderedTagAttribute

full_name: Lake.leanLibAttr
code: initialize leanLibAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `lean_lib "mark a definition as a Lake Lean library target configuration"
goal: Lake.OrderedTagAttribute

full_name: Lake.initFn._@..lake.packages.lean4.src.lean.lake.Lake.DSL.AttributesCore._hyg.210
code: initialize leanLibAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `lean_lib "mark a definition as a Lake Lean library target configuration"
goal: IO Lake.OrderedTagAttribute

full_name: Lake.initFn._@..lake.packages.lean4.src.lean.lake.Lake.DSL.AttributesCore._hyg.238
code: initialize leanExeAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `lean_exe "mark a definition as a Lake Lean executable target configuration"
goal: IO Lake.OrderedTagAttribute

full_name: Lake.leanExeAttr
code: initialize leanExeAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `lean_exe "mark a definition as a Lake Lean executable target configuration"
goal: Lake.OrderedTagAttribute

full_name: Lake.externLibAttr
code: initialize externLibAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `extern_lib "mark a definition as a Lake external library target"
goal: Lake.OrderedTagAttribute

full_name: Lake.initFn._@..lake.packages.lean4.src.lean.lake.Lake.DSL.AttributesCore._hyg.266
code: initialize externLibAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `extern_lib "mark a definition as a Lake external library target"
goal: IO Lake.OrderedTagAttribute

full_name: Lake.targetAttr
code: initialize targetAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `target "mark a definition as a custom Lake target"
goal: Lake.OrderedTagAttribute

full_name: Lake.initFn._@..lake.packages.lean4.src.lean.lake.Lake.DSL.AttributesCore._hyg.294
code: initialize targetAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `target "mark a definition as a custom Lake target"
goal: IO Lake.OrderedTagAttribute

full_name: Lake.initFn._@..lake.packages.lean4.src.lean.lake.Lake.DSL.AttributesCore._hyg.322
code: initialize defaultTargetAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `default_target "mark a Lake target as the package's default"
    fun name => do
      let valid ← getEnv <&> fun env =>
        leanLibAttr.hasTag env name ||
        leanExeAttr.hasTag env name ||
        externLibAttr.hasTag env name ||
        targetAttr.hasTag env name
      unless valid do
        throwError "attribute `default_target` can only be used on a target (e.g., `lean_lib`, `lean_exe`)"
goal: IO Lake.OrderedTagAttribute

full_name: Lake.defaultTargetAttr
code: initialize defaultTargetAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `default_target "mark a Lake target as the package's default"
    fun name => do
      let valid ← getEnv <&> fun env =>
        leanLibAttr.hasTag env name ||
        leanExeAttr.hasTag env name ||
        externLibAttr.hasTag env name ||
        targetAttr.hasTag env name
      unless valid do
        throwError "attribute `default_target` can only be used on a target (e.g., `lean_lib`, `lean_exe`)"
goal: Lake.OrderedTagAttribute

full_name: Lake.initFn._@..lake.packages.lean4.src.lean.lake.Lake.DSL.AttributesCore._hyg.425
code: initialize testDriverAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `test_driver "mark a Lake script, executable, or library as package's test driver"
    fun name => do
      let valid ← getEnv <&> fun env =>
        scriptAttr.hasTag env name ||
        leanExeAttr.hasTag env name ||
        leanLibAttr.hasTag env name
      unless valid do
        throwError "attribute `test_driver` can only be used on a `script`, `lean_exe`, or `lean_lib`"
goal: IO Lake.OrderedTagAttribute

full_name: Lake.testDriverAttr
code: initialize testDriverAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `test_driver "mark a Lake script, executable, or library as package's test driver"
    fun name => do
      let valid ← getEnv <&> fun env =>
        scriptAttr.hasTag env name ||
        leanExeAttr.hasTag env name ||
        leanLibAttr.hasTag env name
      unless valid do
        throwError "attribute `test_driver` can only be used on a `script`, `lean_exe`, or `lean_lib`"
goal: Lake.OrderedTagAttribute

full_name: Lake.initFn._@..lake.packages.lean4.src.lean.lake.Lake.DSL.AttributesCore._hyg.522
code: initialize lintDriverAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `lint_driver "mark a Lake script or executable as package's linter"
    fun name => do
      let valid ← getEnv <&> fun env =>
        scriptAttr.hasTag env name ||
        leanExeAttr.hasTag env name
      unless valid do
        throwError "attribute `lint_driver` can only be used on a `script` or `lean_exe`"
goal: IO Lake.OrderedTagAttribute

full_name: Lake.lintDriverAttr
code: initialize lintDriverAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `lint_driver "mark a Lake script or executable as package's linter"
    fun name => do
      let valid ← getEnv <&> fun env =>
        scriptAttr.hasTag env name ||
        leanExeAttr.hasTag env name
      unless valid do
        throwError "attribute `lint_driver` can only be used on a `script` or `lean_exe`"
goal: Lake.OrderedTagAttribute

full_name: Lake.moduleFacetAttr
code: initialize moduleFacetAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `module_facet "mark a definition as a Lake module facet"
goal: Lake.OrderedTagAttribute

full_name: Lake.initFn._@..lake.packages.lean4.src.lean.lake.Lake.DSL.AttributesCore._hyg.613
code: initialize moduleFacetAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `module_facet "mark a definition as a Lake module facet"
goal: IO Lake.OrderedTagAttribute

full_name: Lake.initFn._@..lake.packages.lean4.src.lean.lake.Lake.DSL.AttributesCore._hyg.641
code: initialize packageFacetAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `package_facet "mark a definition as a Lake package facet"
goal: IO Lake.OrderedTagAttribute

full_name: Lake.packageFacetAttr
code: initialize packageFacetAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `package_facet "mark a definition as a Lake package facet"
goal: Lake.OrderedTagAttribute

full_name: Lake.initFn._@..lake.packages.lean4.src.lean.lake.Lake.DSL.AttributesCore._hyg.669
code: initialize libraryFacetAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `library_facet "mark a definition as a Lake library facet"
goal: IO Lake.OrderedTagAttribute

full_name: Lake.libraryFacetAttr
code: initialize libraryFacetAttr : OrderedTagAttribute ←
  registerOrderedTagAttribute `library_facet "mark a definition as a Lake library facet"
goal: Lake.OrderedTagAttribute