packages feed

hlibsass 0.1.0.0 → 0.1.1.0

raw patch · 15 files changed

+943/−942 lines, 15 filessetup-changed

Files

− Binding/Libsass.hs
@@ -1,19 +0,0 @@--- |--- This is the main module of the library - it reexports rest of the library, so--- you should only import this one.--{-# LANGUAGE ForeignFunctionInterface #-}-module Binding.Libsass-  (-    libsass_version-  , module Libsass-  ) where--import           Binding.Libsass.Context   as Libsass-import           Binding.Libsass.Functions as Libsass-import           Binding.Libsass.Types     as Libsass-import           Binding.Libsass.Wrappers  as Libsass-import           Binding.Libsass.Values    as Libsass-import           Foreign.C.String--foreign import ccall unsafe "sass.h" libsass_version :: CString
− Binding/Libsass/Context.hs
@@ -1,358 +0,0 @@-{-# LANGUAGE ForeignFunctionInterface #-}-module Binding.Libsass.Context where--import           Binding.Libsass.Types-import           Foreign-import           Foreign.C.String-import           Foreign.C.Types--foreign import ccall unsafe "sass_context.h" sass_make_options-    :: IO (Ptr SassOptions)--foreign import ccall unsafe "sass_context.h" sass_make_file_context-    :: CString-    -> IO (Ptr SassFileContext)---- | Creates and initializes a data context, ie. context that parses string---   instead of a file.------   WARNING! The string that this function takes is released by the libsass---   during cleanup. You must not deallocate it.-foreign import ccall unsafe "sass_context.h" sass_make_data_context-    :: CString-    -> IO (Ptr SassDataContext)--foreign import ccall safe "sass_context.h" sass_compile_file_context-    :: Ptr SassFileContext-    -> IO CInt--foreign import ccall safe "sass_context.h" sass_compile_data_context-    :: Ptr SassDataContext-    -> IO CInt--foreign import ccall unsafe "sass_context.h" sass_make_file_compiler-    :: Ptr SassFileContext-    -> IO (Ptr SassCompiler)--foreign import ccall unsafe "sass_context.h" sass_make_data_compiler-    :: Ptr SassDataContext-    -> IO (Ptr SassCompiler)--foreign import ccall safe "sass_context.h" sass_compiler_parse-    :: Ptr SassCompiler-    -> IO CInt--foreign import ccall safe "sass_context.h" sass_compiler_execute-    :: Ptr SassCompiler-    -> IO CInt--foreign import ccall unsafe "sass_context.h" sass_delete_compiler-    :: Ptr SassCompiler-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_delete_file_context-    :: Ptr SassFileContext-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_delete_data_context-    :: Ptr SassDataContext-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_file_context_get_context-    :: Ptr SassFileContext-    -> Ptr SassContext--foreign import ccall unsafe "sass_context.h" sass_data_context_get_context-    :: Ptr SassDataContext-    -> Ptr SassContext--foreign import ccall unsafe "sass_context.h" sass_context_get_options-    :: Ptr SassContext-    -> Ptr SassOptions--foreign import ccall unsafe "sass_context.h" sass_file_context_get_options-    :: Ptr SassFileContext-    -> Ptr SassOptions--foreign import ccall unsafe "sass_context.h" sass_data_context_get_options-    :: Ptr SassDataContext-    -> Ptr SassOptions--foreign import ccall unsafe "sass_context.h" sass_file_context_set_options-    :: Ptr SassFileContext-    -> Ptr SassOptions-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_data_context_set_options-    :: Ptr SassDataContext-    -> Ptr SassOptions-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_get_precision-    :: Ptr SassOptions-    -> IO CInt--foreign import ccall unsafe "sass_context.h" sass_option_get_output_style-    :: Ptr SassOptions-    -> IO CInt -- ^ Returns 'SassOutputStyle'--foreign import ccall unsafe "sass_context.h" sass_option_get_source_comments-    :: Ptr SassOptions-    -> IO Bool--foreign import ccall unsafe "sass_context.h" sass_option_get_source_map_embed-    :: Ptr SassOptions-    -> IO Bool--foreign import ccall unsafe "sass_context.h" sass_option_get_source_map_contents-    :: Ptr SassOptions-    -> IO Bool--foreign import ccall unsafe "sass_context.h" sass_option_get_omit_source_map_url-    :: Ptr SassOptions-    -> IO Bool--foreign import ccall unsafe "sass_context.h" sass_option_get_is_indented_syntax_src-    :: Ptr SassOptions-    -> IO Bool--foreign import ccall unsafe "sass_context.h" sass_option_get_indent-    :: Ptr SassOptions-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_option_get_linefeed-    :: Ptr SassOptions-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_option_get_input_path-    :: Ptr SassOptions-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_option_get_output_path-    :: Ptr SassOptions-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_option_get_plugin_path-    :: Ptr SassOptions-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_option_get_include_path-    :: Ptr SassOptions-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_option_get_source_map_file-    :: Ptr SassOptions-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_option_get_source_map_root-    :: Ptr SassOptions-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_option_get_c_headers-     :: Ptr SassOptions-     -> IO SassImporterList--foreign import ccall unsafe "sass_context.h" sass_option_get_c_importers-     :: Ptr SassOptions-     -> IO SassImporterList--foreign import ccall unsafe "sass_context.h" sass_option_get_c_functions-     :: Ptr SassOptions-     -> IO SassFunctionList--foreign import ccall unsafe "sass_context.h" sass_option_set_precision-    :: Ptr SassOptions-    -> CInt-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_output_style-    :: Ptr SassOptions-    -> CInt -- ^ 'SassOutputStyle'-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_source_comments-    :: Ptr SassOptions-    -> Bool-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_source_map_embed-    :: Ptr SassOptions-    -> Bool-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_source_map_contents-    :: Ptr SassOptions-    -> Bool-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_omit_source_map_url-    :: Ptr SassOptions-    -> Bool-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_is_indented_syntax_src-    :: Ptr SassOptions-    -> Bool-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_indent-    :: Ptr SassOptions-    -> CString-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_linefeed-    :: Ptr SassOptions-    -> CString-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_input_path-    :: Ptr SassOptions-    -> CString-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_output_path-    :: Ptr SassOptions-    -> CString-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_plugin_path-    :: Ptr SassOptions-    -> CString-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_include_path-    :: Ptr SassOptions-    -> CString-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_source_map_file-    :: Ptr SassOptions-    -> CString-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_source_map_root-    :: Ptr SassOptions-    -> CString-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_c_headers-    :: Ptr SassOptions-    -> SassImporterList-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_c_importers-    :: Ptr SassOptions-    -> SassImporterList-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_set_c_functions-    :: Ptr SassOptions-    -> SassFunctionList-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_context_get_output_string-    :: Ptr SassContext-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_context_get_error_status-    :: Ptr SassContext-    -> IO CInt--foreign import ccall unsafe "sass_context.h" sass_context_get_error_json-    :: Ptr SassContext-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_context_get_error_text-    :: Ptr SassContext-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_context_get_error_message-    :: Ptr SassContext-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_context_get_error_file-    :: Ptr SassContext-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_context_get_error_src-    :: Ptr SassContext-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_context_get_error_line-    :: Ptr SassContext-    -> IO CSize--foreign import ccall unsafe "sass_context.h" sass_context_get_error_column-    :: Ptr SassContext-    -> IO CSize--foreign import ccall unsafe "sass_context.h" sass_context_get_source_map_string-    :: Ptr SassContext-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_context_get_included_files-    :: Ptr SassContext-    -> IO (Ptr CString)--foreign import ccall unsafe "sass_context.h" sass_context_get_included_files_size-    :: Ptr SassContext-    -> IO CSize--foreign import ccall unsafe "sass_context.h" sass_context_take_error_json-    :: Ptr SassContext-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_context_take_error_text-    :: Ptr SassContext-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_context_take_error_message-    :: Ptr SassContext-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_context_take_error_file-    :: Ptr SassContext-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_context_take_output_string-    :: Ptr SassContext-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_context_take_source_map_string-    :: Ptr SassContext-    -> IO CString--foreign import ccall unsafe "sass_context.h" sass_context_take_included_files-    :: Ptr SassContext-    -> IO (Ptr CString)--foreign import ccall unsafe "sass_context.h" sass_compiler_get_state-    :: Ptr SassCompiler-    -> IO CInt -- ^ Retruns 'SassCompilerState'--foreign import ccall unsafe "sass_context.h" sass_compiler_get_context-    :: Ptr SassCompiler-    -> IO (Ptr SassContext)--foreign import ccall unsafe "sass_context.h" sass_compiler_get_import_stack_size-    :: Ptr SassCompiler-    -> IO CSize--foreign import ccall unsafe "sass_context.h" sass_compiler_get_last_import-    :: Ptr SassCompiler-    -> IO SassImportEntry--foreign import ccall unsafe "sass_context.h" sass_compiler_get_import_entry-    :: Ptr SassCompiler-    -> CSize-    -> IO SassImportEntry--foreign import ccall unsafe "sass_context.h" sass_option_push_plugin_path-    :: Ptr SassOptions-    -> CString-    -> IO ()--foreign import ccall unsafe "sass_context.h" sass_option_push_include_path-    :: Ptr SassOptions-    -> CString-    -> IO ()
− Binding/Libsass/Functions.hs
@@ -1,156 +0,0 @@-{-# LANGUAGE ForeignFunctionInterface #-}-module Binding.Libsass.Functions where--import           Binding.Libsass.Types-import           Foreign-import           Foreign.C--foreign import ccall unsafe "sass_function.h" sass_make_importer_list-    :: CSize-    -> IO SassImporterList---- Libsass lacks implementation of these functions.---- foreign import ccall unsafe "sass_function.h" sass_importer_get_list_entry---     :: SassImporterList---     -> CSize---     -> IO SassImporterEntry---- foreign import ccall unsafe "sass_function.h" sass_importer_set_list_entry---     :: SassImporterList---     -> CSize---     -> SassImporterEntry---     -> IO ()--foreign import ccall unsafe "sass_function.h" sass_make_importer-    :: SassImporterFn-    -> CDouble-    -> Ptr ()-    -> IO SassImporterEntry--foreign import ccall unsafe "sass_function.h" sass_importer_get_function-    :: SassImporterEntry-    -> IO SassImporterFn--foreign import ccall unsafe "sass_function.h" sass_importer_get_priority-    :: SassImporterEntry-    -> IO CDouble-foreign import ccall unsafe "sass_function.h" sass_importer_get_cookie-    :: SassImporterEntry-    -> IO (Ptr ())--foreign import ccall unsafe "sass_function.h" sass_delete_importer-    :: SassImporterEntry-    -> IO ()--foreign import ccall unsafe "sass_function.h" sass_make_import_list-    :: CSize-    -> IO SassImportList--foreign import ccall unsafe "sass_function.h" sass_make_import_entry-    :: CString-    -> CString-    -> CString-    -> IO SassImportEntry--foreign import ccall unsafe "sass_function.h" sass_make_import-    :: CString-    -> CString-    -> CString-    -> CString-    -> IO SassImportEntry--foreign import ccall unsafe "sass_function.h" sass_import_set_error-    :: SassImportEntry-    -> CString-    -> CSize-    -> CSize-    -> IO SassImportEntry--foreign import ccall unsafe "sass_function.h" sass_import_set_list_entry-    :: SassImportList-    -> CSize-    -> SassImportEntry-    -> IO ()--foreign import ccall unsafe "sass_function.h" sass_import_get_list_entry-    :: SassImportList-    -> CSize-    -> IO SassImportEntry--foreign import ccall unsafe "sass_function.h" sass_import_get_path-    :: SassImportEntry-    -> IO CString--foreign import ccall unsafe "sass_function.h" sass_import_get_base-    :: SassImportEntry-    -> IO CString--foreign import ccall unsafe "sass_function.h" sass_import_get_source-    :: SassImportEntry-    -> IO CString--foreign import ccall unsafe "sass_function.h" sass_import_get_srcmap-    :: SassImportEntry-    -> IO CString--foreign import ccall unsafe "sass_function.h" sass_import_take_source-    :: SassImportEntry-    -> IO CString--foreign import ccall unsafe "sass_function.h" sass_import_take_srcmap-    :: SassImportEntry-    -> IO CString--foreign import ccall unsafe "sass_function.h" sass_import_get_error_line-    :: SassImportEntry-    -> IO CSize--foreign import ccall unsafe "sass_function.h" sass_import_get_error_column-    :: SassImportEntry-    -> IO CSize--foreign import ccall unsafe "sass_function.h" sass_import_get_error_message-    :: SassImportEntry-    -> IO CString--foreign import ccall unsafe "sass_function.h" sass_delete_import_list-    :: SassImportList-    -> IO ()--foreign import ccall unsafe "sass_function.h" sass_delete_import-    :: SassImportEntry-    -> IO ()--foreign import ccall unsafe "sass_function.h" sass_make_function_list-    :: CSize-    -> IO SassFunctionList--foreign import ccall unsafe "sass_function.h" sass_make_function-    :: CString-    -> SassFunctionFn-    -> Ptr ()-    -> IO SassFunctionEntry--foreign import ccall unsafe "sass_function.h" sass_function_get_list_entry-    :: SassFunctionList-    -> CSize-    -> IO SassFunctionEntry--foreign import ccall unsafe "sass_function.h" sass_function_set_list_entry-    :: SassFunctionList-    -> CSize-    -> SassFunctionEntry-    -> IO ()--foreign import ccall unsafe "sass_function.h" sass_function_get_signature-    :: SassFunctionEntry-    -> IO CString--foreign import ccall unsafe "sass_function.h" sass_function_get_function-    :: SassFunctionEntry-    -> IO SassFunctionFn--foreign import ccall unsafe "sass_function.h" sass_function_get_cookie-    :: SassFunctionEntry-    -> IO (Ptr ())
− Binding/Libsass/Types.hs
@@ -1,127 +0,0 @@-{-# LANGUAGE EmptyDataDecls #-}-module Binding.Libsass.Types where--import           Foreign-import           Foreign.C.String---- From sass.h---- | Defines output style of compiled CSS.-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)---- From sass_context.h--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)---- From sass_functions.h--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---- From sass_values.h--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)---- ^ Separator used in Sass lists.-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)
− Binding/Libsass/Values.hs
@@ -1,234 +0,0 @@-{-# LANGUAGE ForeignFunctionInterface #-}-module Binding.Libsass.Values where--import           Binding.Libsass.Types-import           Foreign-import           Foreign.C--foreign import ccall unsafe "sass_values.h" sass_value_get_tag-    :: Ptr SassValue-    -> IO CInt -- ^ Returns 'SassTag'--foreign import ccall unsafe "sass_values.h" sass_value_is_null-    :: Ptr SassValue-    -> IO Bool--foreign import ccall unsafe "sass_values.h" sass_value_is_number-    :: Ptr SassValue-    -> IO Bool--foreign import ccall unsafe "sass_values.h" sass_value_is_string-    :: Ptr SassValue-    -> IO Bool--foreign import ccall unsafe "sass_values.h" sass_value_is_boolean-    :: Ptr SassValue-    -> IO Bool--foreign import ccall unsafe "sass_values.h" sass_value_is_color-    :: Ptr SassValue-    -> IO Bool--foreign import ccall unsafe "sass_values.h" sass_value_is_list-    :: Ptr SassValue-    -> IO Bool--foreign import ccall unsafe "sass_values.h" sass_value_is_map-    :: Ptr SassValue-    -> IO Bool--foreign import ccall unsafe "sass_values.h" sass_value_is_error-    :: Ptr SassValue-    -> IO Bool--foreign import ccall unsafe "sass_values.h" sass_value_is_warning-    :: Ptr SassValue-    -> IO Bool--foreign import ccall unsafe "sass_values.h" sass_number_get_value-    :: Ptr SassValue-    -> IO CDouble--foreign import ccall unsafe "sass_values.h" sass_number_set_value-    :: Ptr SassValue-    -> CDouble-    -> IO ()--foreign import ccall unsafe "sass_values.h" sass_number_get_unit-    :: Ptr SassValue-    -> IO CString--foreign import ccall unsafe "sass_values.h" sass_number_set_unit-    :: Ptr SassValue-    -> CString-    -> IO ()--foreign import ccall unsafe "sass_values.h" sass_string_get_value-    :: Ptr SassValue-    -> IO CString--foreign import ccall unsafe "sass_values.h" sass_string_set_value-    :: Ptr SassValue-    -> CString-    -> IO ()--foreign import ccall unsafe "sass_values.h" sass_boolean_get_value-    :: Ptr SassValue-    -> IO Bool--foreign import ccall unsafe "sass_values.h" sass_boolean_set_value-    :: Ptr SassValue-    -> Bool-    -> IO ()--foreign import ccall unsafe "sass_values.h" sass_color_get_r-    :: Ptr SassValue-    -> IO CDouble--foreign import ccall unsafe "sass_values.h" sass_color_set_r-    :: Ptr SassValue-    -> CDouble-    -> IO ()--foreign import ccall unsafe "sass_values.h" sass_color_get_g-    :: Ptr SassValue-    -> IO CDouble--foreign import ccall unsafe "sass_values.h" sass_color_set_g-    :: Ptr SassValue-    -> CDouble-    -> IO ()--foreign import ccall unsafe "sass_values.h" sass_color_get_b-    :: Ptr SassValue-    -> IO CDouble--foreign import ccall unsafe "sass_values.h" sass_color_set_b-    :: Ptr SassValue-    -> CDouble-    -> IO ()--foreign import ccall unsafe "sass_values.h" sass_color_get_a-    :: Ptr SassValue-    -> IO CDouble--foreign import ccall unsafe "sass_values.h" sass_color_set_a-    :: Ptr SassValue-    -> CDouble-    -> IO ()--foreign import ccall unsafe "sass_values.h" sass_list_get_length-    :: Ptr SassValue-    -> IO CSize--foreign import ccall unsafe "sass_values.h" sass_list_get_separator-    :: Ptr SassValue-    -> IO CInt -- ^ Retrurns 'SassSeparator'--foreign import ccall unsafe "sass_values.h" sass_list_set_separator-    :: Ptr SassValue-    -> CInt -- ^ 'SassSeparator'-    -> IO ()--foreign import ccall unsafe "sass_values.h" sass_list_get_value-    :: Ptr SassValue-    -> CSize-    -> IO (Ptr SassValue)--foreign import ccall unsafe "sass_values.h" sass_list_set_value-    :: Ptr SassValue-    -> CSize-    -> Ptr SassValue-    -> IO ()--foreign import ccall unsafe "sass_values.h" sass_map_get_length-    :: Ptr SassValue-    -> IO CSize--foreign import ccall unsafe "sass_values.h" sass_map_get_key-    :: Ptr SassValue-    -> CSize-    -> IO (Ptr SassValue)--foreign import ccall unsafe "sass_values.h" sass_map_set_key-    :: Ptr SassValue-    -> CSize-    -> Ptr SassValue-    -> IO ()--foreign import ccall unsafe "sass_values.h" sass_map_get_value-    :: Ptr SassValue-    -> CSize-    -> IO (Ptr SassValue)--foreign import ccall unsafe "sass_values.h" sass_map_set_value-    :: Ptr SassValue-    -> CSize-    -> Ptr SassValue-    -> IO ()--foreign import ccall unsafe "sass_values.h" sass_error_get_message-    :: Ptr SassValue-    -> IO CString--foreign import ccall unsafe "sass_values.h" sass_error_set_message-    :: Ptr SassValue-    -> CString-    -> IO ()--foreign import ccall unsafe "sass_values.h" sass_warning_get_message-    :: Ptr SassValue-    -> IO CString--foreign import ccall unsafe "sass_values.h" sass_warning_set_message-    :: Ptr SassValue-    -> CString-    -> IO ()--foreign import ccall unsafe "sass_values.h" sass_make_null-    :: IO (Ptr SassValue)--foreign import ccall unsafe "sass_values.h" sass_make_boolean-    :: Bool-    -> IO (Ptr SassValue)--foreign import ccall unsafe "sass_values.h" sass_make_string-    :: CString-    -> IO (Ptr SassValue)--foreign import ccall unsafe "sass_values.h" sass_make_number-    :: CDouble-    -> CString-    -> IO (Ptr SassValue)--foreign import ccall unsafe "sass_values.h" sass_make_color-    :: CDouble-    -> CDouble-    -> CDouble-    -> CDouble-    -> IO (Ptr SassValue)--foreign import ccall unsafe "sass_values.h" sass_make_list-    :: CSize-    -> CInt -- ^ 'SassSeparator'-    -> IO (Ptr SassValue)--foreign import ccall unsafe "sass_values.h" sass_make_map-    :: CSize-    -> IO (Ptr SassValue)--foreign import ccall unsafe "sass_values.h" sass_make_error-    :: CString-    -> IO (Ptr SassValue)--foreign import ccall unsafe "sass_values.h" sass_make_warning-    :: CString-    -> IO (Ptr SassValue)--foreign import ccall unsafe "sass_values.h" sass_delete_value-    :: Ptr SassValue-    -> IO ()--foreign import ccall unsafe "sass_values.h" sass_clone_value-    :: Ptr SassValue-    -> IO (Ptr SassValue)
− Binding/Libsass/Wrappers.hs
@@ -1,34 +0,0 @@-{-# LANGUAGE ForeignFunctionInterface #-}-module Binding.Libsass.Wrappers where--import           Binding.Libsass.Types-import           Foreign--foreign import ccall safe "wrapper" mkSassImporterFn-    :: SassImporterFnType-    -> IO SassImporterFn--foreign import ccall safe "wrapper" mkSassFunctionFn-    :: SassFunctionFnType-    -> IO SassFunctionFn--foreign import ccall "sass_context.h &sass_delete_compiler"-    p_sass_delete_compiler :: FunPtr (Ptr SassCompiler -> IO ())--foreign import ccall "sass_context.h &sass_delete_file_context"-    p_sass_delete_file_context :: FunPtr (Ptr SassFileContext -> IO ())--foreign import ccall "sass_context.h &sass_delete_data_context"-    p_sass_delete_data_context :: FunPtr (Ptr SassDataContext -> IO ())--foreign import ccall "sass_function.h &sass_delete_import_list"-    p_sass_delete_import_list :: FunPtr (SassImportList -> IO ())--foreign import ccall "sass_function.h &sass_delete_import"-    p_sass_delete_import :: FunPtr (SassImportEntry -> IO ())--foreign import ccall "sass_function.h &sass_delete_importer"-    p_sass_delete_importer :: FunPtr (SassImporterEntry -> IO ())--foreign import ccall  "sass_values.h &sass_delete_value"-    p_sass_delete_value :: FunPtr (Ptr SassValue -> IO ())
+ Bindings/Libsass.hs view
@@ -0,0 +1,19 @@+-- |+-- This is the main module of the library - it reexports rest of the library, so+-- you should only import this one.++{-# LANGUAGE ForeignFunctionInterface #-}+module Bindings.Libsass+  (+    libsass_version+  , module Libsass+  ) where++import           Bindings.Libsass.Context   as Libsass+import           Bindings.Libsass.Functions as Libsass+import           Bindings.Libsass.Types     as Libsass+import           Bindings.Libsass.Wrappers  as Libsass+import           Bindings.Libsass.Values    as Libsass+import           Foreign.C.String++foreign import ccall unsafe "sass.h" libsass_version :: CString
+ Bindings/Libsass/Context.hs view
@@ -0,0 +1,358 @@+{-# LANGUAGE ForeignFunctionInterface #-}+module Bindings.Libsass.Context where++import           Bindings.Libsass.Types+import           Foreign+import           Foreign.C.String+import           Foreign.C.Types++foreign import ccall unsafe "sass_context.h" sass_make_options+    :: IO (Ptr SassOptions)++foreign import ccall unsafe "sass_context.h" sass_make_file_context+    :: CString+    -> IO (Ptr SassFileContext)++-- | Creates and initializes a data context, ie. context that parses string+--   instead of a file.+--+--   WARNING! The string that this function takes is released by the libsass+--   during cleanup. You must not deallocate it.+foreign import ccall unsafe "sass_context.h" sass_make_data_context+    :: CString+    -> IO (Ptr SassDataContext)++foreign import ccall safe "sass_context.h" sass_compile_file_context+    :: Ptr SassFileContext+    -> IO CInt++foreign import ccall safe "sass_context.h" sass_compile_data_context+    :: Ptr SassDataContext+    -> IO CInt++foreign import ccall unsafe "sass_context.h" sass_make_file_compiler+    :: Ptr SassFileContext+    -> IO (Ptr SassCompiler)++foreign import ccall unsafe "sass_context.h" sass_make_data_compiler+    :: Ptr SassDataContext+    -> IO (Ptr SassCompiler)++foreign import ccall safe "sass_context.h" sass_compiler_parse+    :: Ptr SassCompiler+    -> IO CInt++foreign import ccall safe "sass_context.h" sass_compiler_execute+    :: Ptr SassCompiler+    -> IO CInt++foreign import ccall unsafe "sass_context.h" sass_delete_compiler+    :: Ptr SassCompiler+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_delete_file_context+    :: Ptr SassFileContext+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_delete_data_context+    :: Ptr SassDataContext+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_file_context_get_context+    :: Ptr SassFileContext+    -> Ptr SassContext++foreign import ccall unsafe "sass_context.h" sass_data_context_get_context+    :: Ptr SassDataContext+    -> Ptr SassContext++foreign import ccall unsafe "sass_context.h" sass_context_get_options+    :: Ptr SassContext+    -> Ptr SassOptions++foreign import ccall unsafe "sass_context.h" sass_file_context_get_options+    :: Ptr SassFileContext+    -> Ptr SassOptions++foreign import ccall unsafe "sass_context.h" sass_data_context_get_options+    :: Ptr SassDataContext+    -> Ptr SassOptions++foreign import ccall unsafe "sass_context.h" sass_file_context_set_options+    :: Ptr SassFileContext+    -> Ptr SassOptions+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_data_context_set_options+    :: Ptr SassDataContext+    -> Ptr SassOptions+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_get_precision+    :: Ptr SassOptions+    -> IO CInt++foreign import ccall unsafe "sass_context.h" sass_option_get_output_style+    :: Ptr SassOptions+    -> IO CInt -- ^ Returns 'SassOutputStyle'++foreign import ccall unsafe "sass_context.h" sass_option_get_source_comments+    :: Ptr SassOptions+    -> IO Bool++foreign import ccall unsafe "sass_context.h" sass_option_get_source_map_embed+    :: Ptr SassOptions+    -> IO Bool++foreign import ccall unsafe "sass_context.h" sass_option_get_source_map_contents+    :: Ptr SassOptions+    -> IO Bool++foreign import ccall unsafe "sass_context.h" sass_option_get_omit_source_map_url+    :: Ptr SassOptions+    -> IO Bool++foreign import ccall unsafe "sass_context.h" sass_option_get_is_indented_syntax_src+    :: Ptr SassOptions+    -> IO Bool++foreign import ccall unsafe "sass_context.h" sass_option_get_indent+    :: Ptr SassOptions+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_option_get_linefeed+    :: Ptr SassOptions+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_option_get_input_path+    :: Ptr SassOptions+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_option_get_output_path+    :: Ptr SassOptions+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_option_get_plugin_path+    :: Ptr SassOptions+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_option_get_include_path+    :: Ptr SassOptions+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_option_get_source_map_file+    :: Ptr SassOptions+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_option_get_source_map_root+    :: Ptr SassOptions+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_option_get_c_headers+     :: Ptr SassOptions+     -> IO SassImporterList++foreign import ccall unsafe "sass_context.h" sass_option_get_c_importers+     :: Ptr SassOptions+     -> IO SassImporterList++foreign import ccall unsafe "sass_context.h" sass_option_get_c_functions+     :: Ptr SassOptions+     -> IO SassFunctionList++foreign import ccall unsafe "sass_context.h" sass_option_set_precision+    :: Ptr SassOptions+    -> CInt+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_output_style+    :: Ptr SassOptions+    -> CInt -- ^ 'SassOutputStyle'+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_source_comments+    :: Ptr SassOptions+    -> Bool+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_source_map_embed+    :: Ptr SassOptions+    -> Bool+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_source_map_contents+    :: Ptr SassOptions+    -> Bool+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_omit_source_map_url+    :: Ptr SassOptions+    -> Bool+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_is_indented_syntax_src+    :: Ptr SassOptions+    -> Bool+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_indent+    :: Ptr SassOptions+    -> CString+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_linefeed+    :: Ptr SassOptions+    -> CString+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_input_path+    :: Ptr SassOptions+    -> CString+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_output_path+    :: Ptr SassOptions+    -> CString+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_plugin_path+    :: Ptr SassOptions+    -> CString+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_include_path+    :: Ptr SassOptions+    -> CString+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_source_map_file+    :: Ptr SassOptions+    -> CString+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_source_map_root+    :: Ptr SassOptions+    -> CString+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_c_headers+    :: Ptr SassOptions+    -> SassImporterList+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_c_importers+    :: Ptr SassOptions+    -> SassImporterList+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_set_c_functions+    :: Ptr SassOptions+    -> SassFunctionList+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_context_get_output_string+    :: Ptr SassContext+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_context_get_error_status+    :: Ptr SassContext+    -> IO CInt++foreign import ccall unsafe "sass_context.h" sass_context_get_error_json+    :: Ptr SassContext+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_context_get_error_text+    :: Ptr SassContext+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_context_get_error_message+    :: Ptr SassContext+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_context_get_error_file+    :: Ptr SassContext+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_context_get_error_src+    :: Ptr SassContext+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_context_get_error_line+    :: Ptr SassContext+    -> IO CSize++foreign import ccall unsafe "sass_context.h" sass_context_get_error_column+    :: Ptr SassContext+    -> IO CSize++foreign import ccall unsafe "sass_context.h" sass_context_get_source_map_string+    :: Ptr SassContext+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_context_get_included_files+    :: Ptr SassContext+    -> IO (Ptr CString)++foreign import ccall unsafe "sass_context.h" sass_context_get_included_files_size+    :: Ptr SassContext+    -> IO CSize++foreign import ccall unsafe "sass_context.h" sass_context_take_error_json+    :: Ptr SassContext+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_context_take_error_text+    :: Ptr SassContext+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_context_take_error_message+    :: Ptr SassContext+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_context_take_error_file+    :: Ptr SassContext+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_context_take_output_string+    :: Ptr SassContext+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_context_take_source_map_string+    :: Ptr SassContext+    -> IO CString++foreign import ccall unsafe "sass_context.h" sass_context_take_included_files+    :: Ptr SassContext+    -> IO (Ptr CString)++foreign import ccall unsafe "sass_context.h" sass_compiler_get_state+    :: Ptr SassCompiler+    -> IO CInt -- ^ Retruns 'SassCompilerState'++foreign import ccall unsafe "sass_context.h" sass_compiler_get_context+    :: Ptr SassCompiler+    -> IO (Ptr SassContext)++foreign import ccall unsafe "sass_context.h" sass_compiler_get_import_stack_size+    :: Ptr SassCompiler+    -> IO CSize++foreign import ccall unsafe "sass_context.h" sass_compiler_get_last_import+    :: Ptr SassCompiler+    -> IO SassImportEntry++foreign import ccall unsafe "sass_context.h" sass_compiler_get_import_entry+    :: Ptr SassCompiler+    -> CSize+    -> IO SassImportEntry++foreign import ccall unsafe "sass_context.h" sass_option_push_plugin_path+    :: Ptr SassOptions+    -> CString+    -> IO ()++foreign import ccall unsafe "sass_context.h" sass_option_push_include_path+    :: Ptr SassOptions+    -> CString+    -> IO ()
+ Bindings/Libsass/Functions.hs view
@@ -0,0 +1,156 @@+{-# LANGUAGE ForeignFunctionInterface #-}+module Bindings.Libsass.Functions where++import           Bindings.Libsass.Types+import           Foreign+import           Foreign.C++foreign import ccall unsafe "sass_function.h" sass_make_importer_list+    :: CSize+    -> IO SassImporterList++-- Libsass lacks implementation of these functions.++-- foreign import ccall unsafe "sass_function.h" sass_importer_get_list_entry+--     :: SassImporterList+--     -> CSize+--     -> IO SassImporterEntry++-- foreign import ccall unsafe "sass_function.h" sass_importer_set_list_entry+--     :: SassImporterList+--     -> CSize+--     -> SassImporterEntry+--     -> IO ()++foreign import ccall unsafe "sass_function.h" sass_make_importer+    :: SassImporterFn+    -> CDouble+    -> Ptr ()+    -> IO SassImporterEntry++foreign import ccall unsafe "sass_function.h" sass_importer_get_function+    :: SassImporterEntry+    -> IO SassImporterFn++foreign import ccall unsafe "sass_function.h" sass_importer_get_priority+    :: SassImporterEntry+    -> IO CDouble+foreign import ccall unsafe "sass_function.h" sass_importer_get_cookie+    :: SassImporterEntry+    -> IO (Ptr ())++foreign import ccall unsafe "sass_function.h" sass_delete_importer+    :: SassImporterEntry+    -> IO ()++foreign import ccall unsafe "sass_function.h" sass_make_import_list+    :: CSize+    -> IO SassImportList++foreign import ccall unsafe "sass_function.h" sass_make_import_entry+    :: CString+    -> CString+    -> CString+    -> IO SassImportEntry++foreign import ccall unsafe "sass_function.h" sass_make_import+    :: CString+    -> CString+    -> CString+    -> CString+    -> IO SassImportEntry++foreign import ccall unsafe "sass_function.h" sass_import_set_error+    :: SassImportEntry+    -> CString+    -> CSize+    -> CSize+    -> IO SassImportEntry++foreign import ccall unsafe "sass_function.h" sass_import_set_list_entry+    :: SassImportList+    -> CSize+    -> SassImportEntry+    -> IO ()++foreign import ccall unsafe "sass_function.h" sass_import_get_list_entry+    :: SassImportList+    -> CSize+    -> IO SassImportEntry++foreign import ccall unsafe "sass_function.h" sass_import_get_path+    :: SassImportEntry+    -> IO CString++foreign import ccall unsafe "sass_function.h" sass_import_get_base+    :: SassImportEntry+    -> IO CString++foreign import ccall unsafe "sass_function.h" sass_import_get_source+    :: SassImportEntry+    -> IO CString++foreign import ccall unsafe "sass_function.h" sass_import_get_srcmap+    :: SassImportEntry+    -> IO CString++foreign import ccall unsafe "sass_function.h" sass_import_take_source+    :: SassImportEntry+    -> IO CString++foreign import ccall unsafe "sass_function.h" sass_import_take_srcmap+    :: SassImportEntry+    -> IO CString++foreign import ccall unsafe "sass_function.h" sass_import_get_error_line+    :: SassImportEntry+    -> IO CSize++foreign import ccall unsafe "sass_function.h" sass_import_get_error_column+    :: SassImportEntry+    -> IO CSize++foreign import ccall unsafe "sass_function.h" sass_import_get_error_message+    :: SassImportEntry+    -> IO CString++foreign import ccall unsafe "sass_function.h" sass_delete_import_list+    :: SassImportList+    -> IO ()++foreign import ccall unsafe "sass_function.h" sass_delete_import+    :: SassImportEntry+    -> IO ()++foreign import ccall unsafe "sass_function.h" sass_make_function_list+    :: CSize+    -> IO SassFunctionList++foreign import ccall unsafe "sass_function.h" sass_make_function+    :: CString+    -> SassFunctionFn+    -> Ptr ()+    -> IO SassFunctionEntry++foreign import ccall unsafe "sass_function.h" sass_function_get_list_entry+    :: SassFunctionList+    -> CSize+    -> IO SassFunctionEntry++foreign import ccall unsafe "sass_function.h" sass_function_set_list_entry+    :: SassFunctionList+    -> CSize+    -> SassFunctionEntry+    -> IO ()++foreign import ccall unsafe "sass_function.h" sass_function_get_signature+    :: SassFunctionEntry+    -> IO CString++foreign import ccall unsafe "sass_function.h" sass_function_get_function+    :: SassFunctionEntry+    -> IO SassFunctionFn++foreign import ccall unsafe "sass_function.h" sass_function_get_cookie+    :: SassFunctionEntry+    -> IO (Ptr ())
+ Bindings/Libsass/Types.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE EmptyDataDecls #-}+module Bindings.Libsass.Types where++import           Foreign+import           Foreign.C.String++-- From sass.h++-- | Defines output style of compiled CSS.+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)++-- From sass_context.h++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)++-- From sass_functions.h++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++-- From sass_values.h++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)++-- ^ Separator used in Sass lists.+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)
+ Bindings/Libsass/Values.hs view
@@ -0,0 +1,234 @@+{-# LANGUAGE ForeignFunctionInterface #-}+module Bindings.Libsass.Values where++import           Bindings.Libsass.Types+import           Foreign+import           Foreign.C++foreign import ccall unsafe "sass_values.h" sass_value_get_tag+    :: Ptr SassValue+    -> IO CInt -- ^ Returns 'SassTag'++foreign import ccall unsafe "sass_values.h" sass_value_is_null+    :: Ptr SassValue+    -> IO Bool++foreign import ccall unsafe "sass_values.h" sass_value_is_number+    :: Ptr SassValue+    -> IO Bool++foreign import ccall unsafe "sass_values.h" sass_value_is_string+    :: Ptr SassValue+    -> IO Bool++foreign import ccall unsafe "sass_values.h" sass_value_is_boolean+    :: Ptr SassValue+    -> IO Bool++foreign import ccall unsafe "sass_values.h" sass_value_is_color+    :: Ptr SassValue+    -> IO Bool++foreign import ccall unsafe "sass_values.h" sass_value_is_list+    :: Ptr SassValue+    -> IO Bool++foreign import ccall unsafe "sass_values.h" sass_value_is_map+    :: Ptr SassValue+    -> IO Bool++foreign import ccall unsafe "sass_values.h" sass_value_is_error+    :: Ptr SassValue+    -> IO Bool++foreign import ccall unsafe "sass_values.h" sass_value_is_warning+    :: Ptr SassValue+    -> IO Bool++foreign import ccall unsafe "sass_values.h" sass_number_get_value+    :: Ptr SassValue+    -> IO CDouble++foreign import ccall unsafe "sass_values.h" sass_number_set_value+    :: Ptr SassValue+    -> CDouble+    -> IO ()++foreign import ccall unsafe "sass_values.h" sass_number_get_unit+    :: Ptr SassValue+    -> IO CString++foreign import ccall unsafe "sass_values.h" sass_number_set_unit+    :: Ptr SassValue+    -> CString+    -> IO ()++foreign import ccall unsafe "sass_values.h" sass_string_get_value+    :: Ptr SassValue+    -> IO CString++foreign import ccall unsafe "sass_values.h" sass_string_set_value+    :: Ptr SassValue+    -> CString+    -> IO ()++foreign import ccall unsafe "sass_values.h" sass_boolean_get_value+    :: Ptr SassValue+    -> IO Bool++foreign import ccall unsafe "sass_values.h" sass_boolean_set_value+    :: Ptr SassValue+    -> Bool+    -> IO ()++foreign import ccall unsafe "sass_values.h" sass_color_get_r+    :: Ptr SassValue+    -> IO CDouble++foreign import ccall unsafe "sass_values.h" sass_color_set_r+    :: Ptr SassValue+    -> CDouble+    -> IO ()++foreign import ccall unsafe "sass_values.h" sass_color_get_g+    :: Ptr SassValue+    -> IO CDouble++foreign import ccall unsafe "sass_values.h" sass_color_set_g+    :: Ptr SassValue+    -> CDouble+    -> IO ()++foreign import ccall unsafe "sass_values.h" sass_color_get_b+    :: Ptr SassValue+    -> IO CDouble++foreign import ccall unsafe "sass_values.h" sass_color_set_b+    :: Ptr SassValue+    -> CDouble+    -> IO ()++foreign import ccall unsafe "sass_values.h" sass_color_get_a+    :: Ptr SassValue+    -> IO CDouble++foreign import ccall unsafe "sass_values.h" sass_color_set_a+    :: Ptr SassValue+    -> CDouble+    -> IO ()++foreign import ccall unsafe "sass_values.h" sass_list_get_length+    :: Ptr SassValue+    -> IO CSize++foreign import ccall unsafe "sass_values.h" sass_list_get_separator+    :: Ptr SassValue+    -> IO CInt -- ^ Retrurns 'SassSeparator'++foreign import ccall unsafe "sass_values.h" sass_list_set_separator+    :: Ptr SassValue+    -> CInt -- ^ 'SassSeparator'+    -> IO ()++foreign import ccall unsafe "sass_values.h" sass_list_get_value+    :: Ptr SassValue+    -> CSize+    -> IO (Ptr SassValue)++foreign import ccall unsafe "sass_values.h" sass_list_set_value+    :: Ptr SassValue+    -> CSize+    -> Ptr SassValue+    -> IO ()++foreign import ccall unsafe "sass_values.h" sass_map_get_length+    :: Ptr SassValue+    -> IO CSize++foreign import ccall unsafe "sass_values.h" sass_map_get_key+    :: Ptr SassValue+    -> CSize+    -> IO (Ptr SassValue)++foreign import ccall unsafe "sass_values.h" sass_map_set_key+    :: Ptr SassValue+    -> CSize+    -> Ptr SassValue+    -> IO ()++foreign import ccall unsafe "sass_values.h" sass_map_get_value+    :: Ptr SassValue+    -> CSize+    -> IO (Ptr SassValue)++foreign import ccall unsafe "sass_values.h" sass_map_set_value+    :: Ptr SassValue+    -> CSize+    -> Ptr SassValue+    -> IO ()++foreign import ccall unsafe "sass_values.h" sass_error_get_message+    :: Ptr SassValue+    -> IO CString++foreign import ccall unsafe "sass_values.h" sass_error_set_message+    :: Ptr SassValue+    -> CString+    -> IO ()++foreign import ccall unsafe "sass_values.h" sass_warning_get_message+    :: Ptr SassValue+    -> IO CString++foreign import ccall unsafe "sass_values.h" sass_warning_set_message+    :: Ptr SassValue+    -> CString+    -> IO ()++foreign import ccall unsafe "sass_values.h" sass_make_null+    :: IO (Ptr SassValue)++foreign import ccall unsafe "sass_values.h" sass_make_boolean+    :: Bool+    -> IO (Ptr SassValue)++foreign import ccall unsafe "sass_values.h" sass_make_string+    :: CString+    -> IO (Ptr SassValue)++foreign import ccall unsafe "sass_values.h" sass_make_number+    :: CDouble+    -> CString+    -> IO (Ptr SassValue)++foreign import ccall unsafe "sass_values.h" sass_make_color+    :: CDouble+    -> CDouble+    -> CDouble+    -> CDouble+    -> IO (Ptr SassValue)++foreign import ccall unsafe "sass_values.h" sass_make_list+    :: CSize+    -> CInt -- ^ 'SassSeparator'+    -> IO (Ptr SassValue)++foreign import ccall unsafe "sass_values.h" sass_make_map+    :: CSize+    -> IO (Ptr SassValue)++foreign import ccall unsafe "sass_values.h" sass_make_error+    :: CString+    -> IO (Ptr SassValue)++foreign import ccall unsafe "sass_values.h" sass_make_warning+    :: CString+    -> IO (Ptr SassValue)++foreign import ccall unsafe "sass_values.h" sass_delete_value+    :: Ptr SassValue+    -> IO ()++foreign import ccall unsafe "sass_values.h" sass_clone_value+    :: Ptr SassValue+    -> IO (Ptr SassValue)
+ Bindings/Libsass/Wrappers.hs view
@@ -0,0 +1,34 @@+{-# LANGUAGE ForeignFunctionInterface #-}+module Bindings.Libsass.Wrappers where++import           Bindings.Libsass.Types+import           Foreign++foreign import ccall safe "wrapper" mkSassImporterFn+    :: SassImporterFnType+    -> IO SassImporterFn++foreign import ccall safe "wrapper" mkSassFunctionFn+    :: SassFunctionFnType+    -> IO SassFunctionFn++foreign import ccall "sass_context.h &sass_delete_compiler"+    p_sass_delete_compiler :: FunPtr (Ptr SassCompiler -> IO ())++foreign import ccall "sass_context.h &sass_delete_file_context"+    p_sass_delete_file_context :: FunPtr (Ptr SassFileContext -> IO ())++foreign import ccall "sass_context.h &sass_delete_data_context"+    p_sass_delete_data_context :: FunPtr (Ptr SassDataContext -> IO ())++foreign import ccall "sass_function.h &sass_delete_import_list"+    p_sass_delete_import_list :: FunPtr (SassImportList -> IO ())++foreign import ccall "sass_function.h &sass_delete_import"+    p_sass_delete_import :: FunPtr (SassImportEntry -> IO ())++foreign import ccall "sass_function.h &sass_delete_importer"+    p_sass_delete_importer :: FunPtr (SassImporterEntry -> IO ())++foreign import ccall  "sass_values.h &sass_delete_value"+    p_sass_delete_value :: FunPtr (Ptr SassValue -> IO ())
Setup.hs view
@@ -12,8 +12,8 @@ main = defaultMainWithHooks simpleUserHooks   {     preConf = \a f -> makeLibsass a f >> preConf simpleUserHooks a f-  , copyHook = copyLibsass   , confHook = \a f -> confHook simpleUserHooks a f >>= updateExtraLibDirs+  , postCopy = copyLibsass   , postClean = cleanLibsass   } @@ -39,14 +39,14 @@         }     } -copyLibsass :: PackageDescription -> LocalBuildInfo -> UserHooks -> CopyFlags-            -> IO ()-copyLibsass pkg_descr lbi _ flags = do+copyLibsass :: Args -> CopyFlags -> PackageDescription -> LocalBuildInfo -> IO ()+copyLibsass _ flags pkg_descr lbi = do     let libPref = libdir . absoluteInstallDirs pkg_descr lbi                 . fromFlag . copyDest                 $ flags-    rawSystemExit (fromFlag $ copyVerbosity flags) "cp"-        ["libsass/lib/libsass.a", libPref]+    let verb = fromFlag $ copyVerbosity flags+    rawSystemExit verb "mkdir" ["-p", libPref]+    rawSystemExit verb "cp" ["libsass/lib/libsass.a", libPref]   cleanLibsass :: Args -> CleanFlags -> PackageDescription -> () -> IO ()
hlibsass.cabal view
@@ -1,9 +1,10 @@ name:                hlibsass-version:             0.1.0.0+version:             0.1.1.0 license:             MIT license-file:        LICENSE author:              Jakub Fijałkowski <fiolek94@gmail.com> maintainer:          fiolek94@gmail.com+homepage:            https://github.com/jakubfijalkowski/hlibsass category:            Foreign build-type:          Custom cabal-version:       >= 1.10@@ -34,12 +35,12 @@  library   exposed-modules:-      Binding.Libsass-    , Binding.Libsass.Types-    , Binding.Libsass.Wrappers-    , Binding.Libsass.Context-    , Binding.Libsass.Functions-    , Binding.Libsass.Values+      Bindings.Libsass+    , Bindings.Libsass.Types+    , Bindings.Libsass.Wrappers+    , Bindings.Libsass.Context+    , Bindings.Libsass.Functions+    , Bindings.Libsass.Values   build-depends:       base >= 4.7 && < 5   hs-source-dirs:      .   default-language:    Haskell2010
tests/Main.hs view
@@ -1,5 +1,5 @@ {-# LANGUAGE BangPatterns #-}-import           Binding.Libsass+import           Bindings.Libsass import           Foreign import           Foreign.C import           Test.Hspec