|
Packit Service |
7770af |
#ifndef SASS_OUTPUT_H
|
|
Packit Service |
7770af |
#define SASS_OUTPUT_H
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
#include <string>
|
|
Packit Service |
7770af |
#include <vector>
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
#include "util.hpp"
|
|
Packit Service |
7770af |
#include "inspect.hpp"
|
|
Packit Service |
7770af |
#include "operation.hpp"
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
namespace Sass {
|
|
Packit Service |
7770af |
class Context;
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
// Refactor to make it generic to find linefeed (look behind)
|
|
Packit Service |
7770af |
inline bool ends_with(std::string const & value, std::string const & ending)
|
|
Packit Service |
7770af |
{
|
|
Packit Service |
7770af |
if (ending.size() > value.size()) return false;
|
|
Packit Service |
7770af |
return std::equal(ending.rbegin(), ending.rend(), value.rbegin());
|
|
Packit Service |
7770af |
}
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
class Output : public Inspect {
|
|
Packit Service |
7770af |
protected:
|
|
Packit Service |
7770af |
using Inspect::operator();
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
public:
|
|
Packit Service |
7770af |
Output(Sass_Output_Options& opt);
|
|
Packit Service |
7770af |
virtual ~Output();
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
protected:
|
|
Packit Service |
7770af |
std::string charset;
|
|
Packit Service |
7770af |
std::vector<AST_Node_Ptr> top_nodes;
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
public:
|
|
Packit Service |
7770af |
OutputBuffer get_buffer(void);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
virtual void operator()(Map_Ptr);
|
|
Packit Service |
7770af |
virtual void operator()(Ruleset_Ptr);
|
|
Packit Service |
7770af |
virtual void operator()(Supports_Block_Ptr);
|
|
Packit Service |
7770af |
virtual void operator()(Media_Block_Ptr);
|
|
Packit Service |
7770af |
virtual void operator()(Directive_Ptr);
|
|
Packit Service |
7770af |
virtual void operator()(Keyframe_Rule_Ptr);
|
|
Packit Service |
7770af |
virtual void operator()(Import_Ptr);
|
|
Packit Service |
7770af |
virtual void operator()(Comment_Ptr);
|
|
Packit Service |
7770af |
virtual void operator()(Number_Ptr);
|
|
Packit Service |
7770af |
virtual void operator()(String_Quoted_Ptr);
|
|
Packit Service |
7770af |
virtual void operator()(String_Constant_Ptr);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
void fallback_impl(AST_Node_Ptr n);
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
};
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
}
|
|
Packit Service |
7770af |
|
|
Packit Service |
7770af |
#endif
|