module Bindings.Libsass.Types where
import Foreign
import Foreign.C.String
data SassOutputStyle = SassStyleNested
| SassStyleExpanded
| SassStyleCompact
| SassStyleCompressed
deriving (Eq, Show)
instance Enum SassOutputStyle where
fromEnum SassStyleNested = 0
fromEnum SassStyleExpanded = 1
fromEnum SassStyleCompact = 2
fromEnum SassStyleCompressed = 3
toEnum 0 = SassStyleNested
toEnum 1 = SassStyleExpanded
toEnum 2 = SassStyleCompact
toEnum 3 = SassStyleCompressed
toEnum u = error ("SassOutputStyle.toEnum: Cannot match " ++ show u)
data SassCompiler
data SassOptions
data SassContext
data SassFileContext
data SassDataContext
data SassCompilerState = SassCompilerCreated
| SassCompilerParsed
| SassCompilerExecuted
deriving (Show, Eq)
instance Enum SassCompilerState where
fromEnum SassCompilerCreated = 0
fromEnum SassCompilerParsed = 1
fromEnum SassCompilerExecuted = 2
toEnum 0 = SassCompilerCreated
toEnum 1 = SassCompilerParsed
toEnum 2 = SassCompilerExecuted
toEnum u = error ("SassCompilerState.toEnum: Cannot match " ++ show u)
data SassImport
data SassImporter
data SassFunction
type SassImportEntry = Ptr SassImport
type SassImportList = Ptr (Ptr SassImport)
type SassImporterEntry = Ptr SassImporter
type SassImporterList = Ptr (Ptr SassImporter)
type SassImporterFnType =
CString
-> SassImporterEntry
-> Ptr SassCompiler
-> IO SassImportList
type SassImporterFn = FunPtr SassImporterFnType
type SassFunctionEntry = Ptr SassFunction
type SassFunctionList = Ptr (Ptr SassFunction)
type SassFunctionFnType =
Ptr SassValue
-> SassFunctionEntry
-> Ptr SassOptions
-> IO (Ptr SassValue)
type SassFunctionFn = FunPtr SassFunctionFnType
data SassValue
data SassTag = SassBoolean
| SassNumber
| SassColor
| SassString
| SassList
| SassMap
| SassNull
| SassError
| SassWarning
deriving (Eq, Show)
instance Enum SassTag where
fromEnum SassBoolean = 0
fromEnum SassNumber = 1
fromEnum SassColor = 2
fromEnum SassString = 3
fromEnum SassList = 4
fromEnum SassMap = 5
fromEnum SassNull = 6
fromEnum SassError = 7
fromEnum SassWarning = 8
toEnum 0 = SassBoolean
toEnum 1 = SassNumber
toEnum 2 = SassColor
toEnum 3 = SassString
toEnum 4 = SassList
toEnum 5 = SassMap
toEnum 6 = SassNull
toEnum 7 = SassError
toEnum 8 = SassWarning
toEnum u = error ("SassTag.toEnum: Cannot match " ++ show u)
data SassSeparator = SassSeparatorComma
| SassSeparatorSpace
deriving (Eq, Show)
instance Enum SassSeparator where
fromEnum SassSeparatorComma = 0
fromEnum SassSeparatorSpace = 1
toEnum 0 = SassSeparatorComma
toEnum 1 = SassSeparatorSpace
toEnum u = error ("SassSeparator.toEnum: Cannot match " ++ show u)