Blame include/sass2scss.h

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