Contexte Sass interne
Voici le contexte Sass interne :
- // Comportements d'entrée
- enum Sass_Input_Style {
- SASS_CONTEXT_NULL,
- SASS_CONTEXT_FILE,
- SASS_CONTEXT_DATA,
- SASS_CONTEXT_FOLDER
- };
-
- // structure des options de configuration sass
- struct Sass_Inspect_Options {
-
- // Style de sortie pour le code CSS généré
- // Une valeur des constantes SASS_STYLE_* ci-dessus
- enum Sass_Output_Style output_style;
-
- // Précision pour les nombres fractionnaires
- int precision;
-
- };
-
- // structure des options de configuration sass
- struct Sass_Output_Options : Sass_Inspect_Options {
-
- // Chaîne de caractères à utiliser pour l'indentation
- const char* indent;
- // Chaîne de caractères à utiliser pour les sauts de ligne
- const char* linefeed;
-
- // Émettre des commentaires dans le CSS généré indiquant la ligne source correspondante.
- bool source_comments;
- };
-
- // structure des options de configuration sass
- struct Sass_Options : Sass_Output_Options {
-
- // intégrer sourceMappingUrl comme URI de données
- bool source_map_embed;
-
- // intégrer le contenu inclus dans les cartes
- bool source_map_contents;
-
- // créer des URL de fichiers pour les sources
- bool source_map_file_urls;
-
- // Désactiver sourceMappingUrl dans la sortie CSS
- bool omit_source_map_url;
-
- // Traiter source_string comme sass (par opposition à scss)
- bool is_indented_syntax_src;
-
- // Le chemin d'entrée est utilisé pour la génération de la carte source. Il peut être utilisé pour définir quelque chose avec
- // la compilation de chaînes ou pour surcharger le chemin du fichier d'entrée. Il est défini sur « stdin » pour les contextes
- // de données et sur le fichier d'entrée pour les contextes de fichiers.
- char* input_path;
-
- // Le chemin de sortie est utilisé pour la génération de la carte source.
- // LibSass n'écrira pas dans ce fichier, il est simplement utilisé pour créer des informations dans les cartes source,...
- char* output_path;
-
- // Liste de chemins séparés par des deux-points
- // Séparés par des points-virgules sous Windows
- // Peut-être utiliser une interface de tableau à la place ?
- char* include_path;
- char* plugin_path;
-
- // Inclure les chemins (liste de chaînes de caractères chaînées)
- struct string_list* include_paths;
- // Chemins d'accès aux plugins (liste de chaînes chaînées)
- struct string_list* plugin_paths;
-
- // Chemin d'accès au fichier source map
- // Active la génération de la carte source
- // Utilisé pour créer sourceMappingUrl
- char* source_map_file;
-
- // Directement inséré dans les cartes sources
- char* source_map_root;
-
- // Fonctions personnalisées pouvant être appelées à partir du code sccs
- Sass_Function_List c_functions;
-
- // Rappel pour surcharger les importations
- Sass_Importer_List c_importers;
-
- // Liste des en-têtes personnalisés
- Sass_Importer_List c_headers;
-
- };
-
- // base pour tous les contextes
- struct Sass_Context : Sass_Options {
-
- // informations sur le type de contexte du magasin
- enum Sass_Input_Style type;
-
- // données de sortie générées
- char* output_string;
-
- // carte source générée json
- char* source_map_string;
-
- // état d'erreur
- int error_status;
- char* error_json;
- char* error_text;
- char* error_message;
- // position d'erreur
- char* error_file;
- size_t error_line;
- size_t error_column;
- char* error_src;
-
- // signaler les fichiers importés
- char** included_files;
-
- };
-
- // structure pour la compilation de fichiers
- struct Sass_File_Context : Sass_Context {
- // aucun champ supplémentaire requis
- // input_path est déjà activé
- };
-
- // structure pour la compilation des données
- struct Sass_Data_Context : Sass_Context {
- // chaîne source fournie
- char* source_string;
- char* srcmap_string;
-
- };
-
- // États du compilateur
- enum Sass_Compiler_State {
- SASS_COMPILER_CREATED,
- SASS_COMPILER_PARSED,
- SASS_COMPILER_EXECUTED
- };
-
- // lien c et contexte cpp
- struct Sass_Compiler {
- // état d'avancement
- Sass_Compiler_State state;
- // contexte c original
- Sass_Context* c_ctx;
- // Sass::Context
- Sass::Context* cpp_ctx;
- // Sass::Block
- Sass::Block_Obj root;
- };
Dernière mise à jour : Mardi, le 8 octobre 2024