{-# LANGUAGE TemplateHaskellQuotes #-}

module PlutusTx.Plugin (plugin, plc) where

import PlutusTx.Plugin.Common
import PlutusTx.Plugin.Unsupported
import PlutusTx.Plugin.Utils

import GHC.Plugins qualified as GHC

plugin :: GHC.Plugin
plugin :: Plugin
plugin =
  Plugin
GHC.defaultPlugin
    { GHC.typeCheckResultAction = \[CommandLineOption]
_cliOpts ModSummary
_modSummary -> TcGblEnv -> TcM TcGblEnv
injectUnsupportedMarkers
    , GHC.pluginRecompile = GHC.flagRecompile
    , GHC.installCoreToDos = installCorePlugin 'plc
    }