# Cataloger capabilities. See ../README.md for documentation.

catalogers:
  - ecosystem: haskell # MANUAL
    name: haskell-cataloger # AUTO-GENERATED
    type: generic # AUTO-GENERATED
    source: # AUTO-GENERATED
      file: syft/pkg/cataloger/haskell/cataloger.go
      function: NewHackageCataloger
    selectors: # AUTO-GENERATED
      - cabal
      - declared
      - directory
      - hackage
      - haskell
      - language
      - package
    parsers: # AUTO-GENERATED structure
      - function: parseCabalFreeze
        detector: # AUTO-GENERATED
          method: glob # AUTO-GENERATED
          criteria: # AUTO-GENERATED
            - '**/cabal.project.freeze'
        package_types: # AUTO-GENERATED
          - hackage
        capabilities: # MANUAL - preserved across regeneration
          - name: license
            default: false
          - name: dependency.depth
            default:
              - direct
              - indirect
          - name: dependency.edges
            default: ""
          - name: dependency.kinds
            default:
              - runtime
              - dev
          - name: package_manager.files.listing
            default: false
          - name: package_manager.files.digests
            default: false
          - name: package_manager.package_integrity_hash
            default: false
      - function: parseStackLock
        detector: # AUTO-GENERATED
          method: glob # AUTO-GENERATED
          criteria: # AUTO-GENERATED
            - '**/stack.yaml.lock'
        metadata_types: # AUTO-GENERATED
          - pkg.HackageStackYamlLockEntry
        package_types: # AUTO-GENERATED
          - hackage
        json_schema_types: # AUTO-GENERATED
          - HaskellHackageStackLockEntry
        capabilities: # MANUAL - preserved across regeneration
          - name: license
            default: false
          - name: dependency.depth
            default:
              - direct
              - indirect
          - name: dependency.edges
            default: ""
          - name: dependency.kinds
            default:
              - runtime
              - dev
          - name: package_manager.files.listing
            default: false
          - name: package_manager.files.digests
            default: false
          - name: package_manager.package_integrity_hash
            default: true
            evidence:
              - HackageStackYamlLockEntry.PkgHash
      - function: parseStackYaml
        detector: # AUTO-GENERATED
          method: glob # AUTO-GENERATED
          criteria: # AUTO-GENERATED
            - '**/stack.yaml'
        metadata_types: # AUTO-GENERATED
          - pkg.HackageStackYamlEntry
        package_types: # AUTO-GENERATED
          - hackage
        json_schema_types: # AUTO-GENERATED
          - HaskellHackageStackEntry
        capabilities: # MANUAL - preserved across regeneration
          - name: license
            default: false
          - name: dependency.depth
            default:
              - direct
          - name: dependency.edges
            default: ""
          - name: dependency.kinds
            default:
              - runtime
              - dev
          - name: package_manager.files.listing
            default: false
          - name: package_manager.files.digests
            default: false
          - name: package_manager.package_integrity_hash
            default: true
            evidence:
              - HackageStackYamlEntry.PkgHash
