|
Packit Service |
7770af |
#ifndef SASS_C_CONTEXT_H
|
|
Packit Service |
7770af |
#define SASS_C_CONTEXT_H
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
#include <stddef.h>
|
|
Packit Service |
7770af |
#include <stdbool.h>
|
|
Packit Service |
7770af |
#include <sass/base.h>
|
|
Packit Service |
7770af |
#include <sass/values.h>
|
|
Packit Service |
7770af |
#include <sass/functions.h>
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
#ifdef __cplusplus
|
|
Packit Service |
7770af |
extern "C" {
|
|
Packit Service |
7770af |
#endif
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Forward declaration
|
|
Packit Service |
7770af |
struct Sass_Compiler;
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Forward declaration
|
|
Packit Service |
7770af |
struct Sass_Options; // base struct
|
|
Packit Service |
7770af |
struct Sass_Context; // : Sass_Options
|
|
Packit Service |
7770af |
struct Sass_File_Context; // : Sass_Context
|
|
Packit Service |
7770af |
struct Sass_Data_Context; // : Sass_Context
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Compiler states
|
|
Packit Service |
7770af |
enum Sass_Compiler_State {
|
|
Packit Service |
7770af |
SASS_COMPILER_CREATED,
|
|
Packit Service |
7770af |
SASS_COMPILER_PARSED,
|
|
Packit Service |
7770af |
SASS_COMPILER_EXECUTED
|
|
Packit Service |
7770af |
};
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Create and initialize an option struct
|
|
Packit Service |
7770af |
ADDAPI struct Sass_Options* ADDCALL sass_make_options (void);
|
|
Packit Service |
7770af |
// Create and initialize a specific context
|
|
Packit Service |
7770af |
ADDAPI struct Sass_File_Context* ADDCALL sass_make_file_context (const char* input_path);
|
|
Packit Service |
7770af |
ADDAPI struct Sass_Data_Context* ADDCALL sass_make_data_context (char* source_string);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Call the compilation step for the specific context
|
|
Packit Service |
7770af |
ADDAPI int ADDCALL sass_compile_file_context (struct Sass_File_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI int ADDCALL sass_compile_data_context (struct Sass_Data_Context* ctx);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Create a sass compiler instance for more control
|
|
Packit Service |
7770af |
ADDAPI struct Sass_Compiler* ADDCALL sass_make_file_compiler (struct Sass_File_Context* file_ctx);
|
|
Packit Service |
7770af |
ADDAPI struct Sass_Compiler* ADDCALL sass_make_data_compiler (struct Sass_Data_Context* data_ctx);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Execute the different compilation steps individually
|
|
Packit Service |
7770af |
// Usefull if you only want to query the included files
|
|
Packit Service |
7770af |
ADDAPI int ADDCALL sass_compiler_parse(struct Sass_Compiler* compiler);
|
|
Packit Service |
7770af |
ADDAPI int ADDCALL sass_compiler_execute(struct Sass_Compiler* compiler);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Release all memory allocated with the compiler
|
|
Packit Service |
7770af |
// This does _not_ include any contexts or options
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_delete_compiler(struct Sass_Compiler* compiler);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_delete_options(struct Sass_Options* options);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Release all memory allocated and also ourself
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_delete_file_context (struct Sass_File_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_delete_data_context (struct Sass_Data_Context* ctx);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Getters for context from specific implementation
|
|
Packit Service |
7770af |
ADDAPI struct Sass_Context* ADDCALL sass_file_context_get_context (struct Sass_File_Context* file_ctx);
|
|
Packit Service |
7770af |
ADDAPI struct Sass_Context* ADDCALL sass_data_context_get_context (struct Sass_Data_Context* data_ctx);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Getters for Context_Options from Sass_Context
|
|
Packit Service |
7770af |
ADDAPI struct Sass_Options* ADDCALL sass_context_get_options (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI struct Sass_Options* ADDCALL sass_file_context_get_options (struct Sass_File_Context* file_ctx);
|
|
Packit Service |
7770af |
ADDAPI struct Sass_Options* ADDCALL sass_data_context_get_options (struct Sass_Data_Context* data_ctx);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_file_context_set_options (struct Sass_File_Context* file_ctx, struct Sass_Options* opt);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_data_context_set_options (struct Sass_Data_Context* data_ctx, struct Sass_Options* opt);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Getters for Context_Option values
|
|
Packit Service |
7770af |
ADDAPI int ADDCALL sass_option_get_precision (struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI enum Sass_Output_Style ADDCALL sass_option_get_output_style (struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI bool ADDCALL sass_option_get_source_comments (struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI bool ADDCALL sass_option_get_source_map_embed (struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI bool ADDCALL sass_option_get_source_map_contents (struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI bool ADDCALL sass_option_get_source_map_file_urls (struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI bool ADDCALL sass_option_get_omit_source_map_url (struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI bool ADDCALL sass_option_get_is_indented_syntax_src (struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI const char* ADDCALL sass_option_get_indent (struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI const char* ADDCALL sass_option_get_linefeed (struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI const char* ADDCALL sass_option_get_input_path (struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI const char* ADDCALL sass_option_get_output_path (struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI const char* ADDCALL sass_option_get_source_map_file (struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI const char* ADDCALL sass_option_get_source_map_root (struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI Sass_Importer_List ADDCALL sass_option_get_c_headers (struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI Sass_Importer_List ADDCALL sass_option_get_c_importers (struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI Sass_Function_List ADDCALL sass_option_get_c_functions (struct Sass_Options* options);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Setters for Context_Option values
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_precision (struct Sass_Options* options, int precision);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_output_style (struct Sass_Options* options, enum Sass_Output_Style output_style);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_source_comments (struct Sass_Options* options, bool source_comments);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_source_map_embed (struct Sass_Options* options, bool source_map_embed);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_source_map_contents (struct Sass_Options* options, bool source_map_contents);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_source_map_file_urls (struct Sass_Options* options, bool source_map_file_urls);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_omit_source_map_url (struct Sass_Options* options, bool omit_source_map_url);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_is_indented_syntax_src (struct Sass_Options* options, bool is_indented_syntax_src);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_indent (struct Sass_Options* options, const char* indent);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_linefeed (struct Sass_Options* options, const char* linefeed);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_input_path (struct Sass_Options* options, const char* input_path);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_output_path (struct Sass_Options* options, const char* output_path);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_plugin_path (struct Sass_Options* options, const char* plugin_path);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_include_path (struct Sass_Options* options, const char* include_path);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_source_map_file (struct Sass_Options* options, const char* source_map_file);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_source_map_root (struct Sass_Options* options, const char* source_map_root);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_c_headers (struct Sass_Options* options, Sass_Importer_List c_headers);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_c_importers (struct Sass_Options* options, Sass_Importer_List c_importers);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_set_c_functions (struct Sass_Options* options, Sass_Function_List c_functions);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Getters for Sass_Context values
|
|
Packit Service |
7770af |
ADDAPI const char* ADDCALL sass_context_get_output_string (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI int ADDCALL sass_context_get_error_status (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI const char* ADDCALL sass_context_get_error_json (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI const char* ADDCALL sass_context_get_error_text (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI const char* ADDCALL sass_context_get_error_message (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI const char* ADDCALL sass_context_get_error_file (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI const char* ADDCALL sass_context_get_error_src (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI size_t ADDCALL sass_context_get_error_line (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI size_t ADDCALL sass_context_get_error_column (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI const char* ADDCALL sass_context_get_source_map_string (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI char** ADDCALL sass_context_get_included_files (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Getters for options include path array
|
|
Packit Service |
7770af |
ADDAPI size_t ADDCALL sass_option_get_include_path_size(struct Sass_Options* options);
|
|
Packit Service |
7770af |
ADDAPI const char* ADDCALL sass_option_get_include_path(struct Sass_Options* options, size_t i);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Calculate the size of the stored null terminated array
|
|
Packit Service |
7770af |
ADDAPI size_t ADDCALL sass_context_get_included_files_size (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Take ownership of memory (value on context is set to 0)
|
|
Packit Service |
7770af |
ADDAPI char* ADDCALL sass_context_take_error_json (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI char* ADDCALL sass_context_take_error_text (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI char* ADDCALL sass_context_take_error_message (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI char* ADDCALL sass_context_take_error_file (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI char* ADDCALL sass_context_take_output_string (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI char* ADDCALL sass_context_take_source_map_string (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
ADDAPI char** ADDCALL sass_context_take_included_files (struct Sass_Context* ctx);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Getters for Sass_Compiler options
|
|
Packit Service |
7770af |
ADDAPI enum Sass_Compiler_State ADDCALL sass_compiler_get_state(struct Sass_Compiler* compiler);
|
|
Packit Service |
7770af |
ADDAPI struct Sass_Context* ADDCALL sass_compiler_get_context(struct Sass_Compiler* compiler);
|
|
Packit Service |
7770af |
ADDAPI struct Sass_Options* ADDCALL sass_compiler_get_options(struct Sass_Compiler* compiler);
|
|
Packit Service |
7770af |
ADDAPI size_t ADDCALL sass_compiler_get_import_stack_size(struct Sass_Compiler* compiler);
|
|
Packit Service |
7770af |
ADDAPI Sass_Import_Entry ADDCALL sass_compiler_get_last_import(struct Sass_Compiler* compiler);
|
|
Packit Service |
7770af |
ADDAPI Sass_Import_Entry ADDCALL sass_compiler_get_import_entry(struct Sass_Compiler* compiler, size_t idx);
|
|
Packit Service |
7770af |
ADDAPI size_t ADDCALL sass_compiler_get_callee_stack_size(struct Sass_Compiler* compiler);
|
|
Packit Service |
7770af |
ADDAPI Sass_Callee_Entry ADDCALL sass_compiler_get_last_callee(struct Sass_Compiler* compiler);
|
|
Packit Service |
7770af |
ADDAPI Sass_Callee_Entry ADDCALL sass_compiler_get_callee_entry(struct Sass_Compiler* compiler, size_t idx);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Push function for paths (no manipulation support for now)
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_push_plugin_path (struct Sass_Options* options, const char* path);
|
|
Packit Service |
7770af |
ADDAPI void ADDCALL sass_option_push_include_path (struct Sass_Options* options, const char* path);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Resolve a file via the given include paths in the sass option struct
|
|
Packit Service |
7770af |
// find_file looks for the exact file name while find_include does a regular sass include
|
|
Packit Service |
7770af |
ADDAPI char* ADDCALL sass_find_file (const char* path, struct Sass_Options* opt);
|
|
Packit Service |
7770af |
ADDAPI char* ADDCALL sass_find_include (const char* path, struct Sass_Options* opt);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Resolve a file relative to last import or include paths in the sass option struct
|
|
Packit Service |
7770af |
// find_file looks for the exact file name while find_include does a regular sass include
|
|
Packit Service |
7770af |
ADDAPI char* ADDCALL sass_compiler_find_file (const char* path, struct Sass_Compiler* compiler);
|
|
Packit Service |
7770af |
ADDAPI char* ADDCALL sass_compiler_find_include (const char* path, struct Sass_Compiler* compiler);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
#ifdef __cplusplus
|
|
Packit Service |
7770af |
} // __cplusplus defined.
|
|
Packit Service |
7770af |
#endif
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
#endif
|