|
Packit Service |
7770af |
/**
|
|
Packit Service |
7770af |
* sass2scss
|
|
Packit Service |
7770af |
* Licensed under the MIT License
|
|
Packit Service |
7770af |
* Copyright (c) Marcel Greter
|
|
Packit Service |
7770af |
*/
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
#ifndef SASS2SCSS_H
|
|
Packit Service |
7770af |
#define SASS2SCSS_H
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
#ifdef _WIN32
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
/* You should define ADD_EXPORTS *only* when building the DLL. */
|
|
Packit Service |
7770af |
#ifdef ADD_EXPORTS
|
|
Packit Service |
7770af |
#define ADDAPI __declspec(dllexport)
|
|
Packit Service |
7770af |
#define ADDCALL __cdecl
|
|
Packit Service |
7770af |
#else
|
|
Packit Service |
7770af |
#define ADDAPI
|
|
Packit Service |
7770af |
#define ADDCALL
|
|
Packit Service |
7770af |
#endif
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
#else /* _WIN32 not defined. */
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
/* Define with no value on non-Windows OSes. */
|
|
Packit Service |
7770af |
#define ADDAPI
|
|
Packit Service |
7770af |
#define ADDCALL
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
#endif
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
#ifdef __cplusplus
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
#include <stack>
|
|
Packit Service |
7770af |
#include <string>
|
|
Packit Service |
7770af |
#include <cstring>
|
|
Packit Service |
7770af |
#include <sstream>
|
|
Packit Service |
7770af |
#include <iostream>
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
#ifndef SASS2SCSS_VERSION
|
|
Packit Service |
7770af |
// Hardcode once the file is copied from
|
|
Packit Service |
7770af |
// https://github.com/mgreter/sass2scss
|
|
Packit Service |
7770af |
#define SASS2SCSS_VERSION "1.1.0"
|
|
Packit Service |
7770af |
#endif
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// add namespace for c++
|
|
Packit Service |
7770af |
namespace Sass
|
|
Packit Service |
7770af |
{
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// pretty print options
|
|
Packit Service |
7770af |
const int SASS2SCSS_PRETTIFY_0 = 0;
|
|
Packit Service |
7770af |
const int SASS2SCSS_PRETTIFY_1 = 1;
|
|
Packit Service |
7770af |
const int SASS2SCSS_PRETTIFY_2 = 2;
|
|
Packit Service |
7770af |
const int SASS2SCSS_PRETTIFY_3 = 3;
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// remove one-line comment
|
|
Packit Service |
7770af |
const int SASS2SCSS_KEEP_COMMENT = 32;
|
|
Packit Service |
7770af |
// remove multi-line comments
|
|
Packit Service |
7770af |
const int SASS2SCSS_STRIP_COMMENT = 64;
|
|
Packit Service |
7770af |
// convert one-line to multi-line
|
|
Packit Service |
7770af |
const int SASS2SCSS_CONVERT_COMMENT = 128;
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// String for finding something interesting
|
|
Packit Service |
7770af |
const std::string SASS2SCSS_FIND_WHITESPACE = " \t\n\v\f\r";
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// converter struct
|
|
Packit Service |
7770af |
// holding all states
|
|
Packit Service |
7770af |
struct converter
|
|
Packit Service |
7770af |
{
|
|
Packit Service |
7770af |
// bit options
|
|
Packit Service |
7770af |
int options;
|
|
Packit Service |
7770af |
// is selector
|
|
Packit Service |
7770af |
bool selector;
|
|
Packit Service |
7770af |
// concat lists
|
|
Packit Service |
7770af |
bool comma;
|
|
Packit Service |
7770af |
// has property
|
|
Packit Service |
7770af |
bool property;
|
|
Packit Service |
7770af |
// has semicolon
|
|
Packit Service |
7770af |
bool semicolon;
|
|
Packit Service |
7770af |
// comment context
|
|
Packit Service |
7770af |
std::string comment;
|
|
Packit Service |
7770af |
// flag end of file
|
|
Packit Service |
7770af |
bool end_of_file;
|
|
Packit Service |
7770af |
// whitespace buffer
|
|
Packit Service |
7770af |
std::string whitespace;
|
|
Packit Service |
7770af |
// context/block stack
|
|
Packit Service |
7770af |
std::stack<std::string> indents;
|
|
Packit Service |
7770af |
};
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// function only available in c++ code
|
|
Packit Service |
7770af |
char* sass2scss (const std::string& sass, const int options);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
}
|
|
Packit Service |
7770af |
// EO namespace
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// declare for c
|
|
Packit Service |
7770af |
extern "C" {
|
|
Packit Service |
7770af |
#endif
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// prettyfy print options
|
|
Packit Service |
7770af |
#define SASS2SCSS_PRETTIFY_0 0
|
|
Packit Service |
7770af |
#define SASS2SCSS_PRETTIFY_1 1
|
|
Packit Service |
7770af |
#define SASS2SCSS_PRETTIFY_2 2
|
|
Packit Service |
7770af |
#define SASS2SCSS_PRETTIFY_3 3
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// keep one-line comments
|
|
Packit Service |
7770af |
#define SASS2SCSS_KEEP_COMMENT 32
|
|
Packit Service |
7770af |
// remove multi-line comments
|
|
Packit Service |
7770af |
#define SASS2SCSS_STRIP_COMMENT 64
|
|
Packit Service |
7770af |
// convert one-line to multi-line
|
|
Packit Service |
7770af |
#define SASS2SCSS_CONVERT_COMMENT 128
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// available to c and c++ code
|
|
Packit Service |
7770af |
ADDAPI char* ADDCALL sass2scss (const char* sass, const int options);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Get compiled sass2scss version
|
|
Packit Service |
7770af |
ADDAPI const char* ADDCALL sass2scss_version(void);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
#ifdef __cplusplus
|
|
Packit Service |
7770af |
} // __cplusplus defined.
|
|
Packit Service |
7770af |
#endif
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
#endif
|