private static CompilationResult InnerCompile(string content, bool indentedSyntax, string inputPath, string outputPath, string sourceMapPath, CompilationOptions options) { Initialize(); CompilationResult result; var dataContext = new SassDataContext { SourceString = content }; BeginCompile(dataContext, indentedSyntax, inputPath, outputPath, sourceMapPath, options); try { _mutex.WaitOne(); FileManagerMarshaler.SetFileManager(_fileManager); SassCompilerProxy.Compile(dataContext); } finally { FileManagerMarshaler.UnsetFileManager(); _mutex.ReleaseMutex(); } result = EndCompile(dataContext); return(result); }
private static CompilationResult InnerCompile(string content, bool indentedSyntax, string inputPath, string outputPath, string sourceMapPath, CompilationOptions options) { var dataContext = new SassDataContext { SourceString = content }; BeginCompile(dataContext, indentedSyntax, inputPath, outputPath, sourceMapPath, options); SassCompilerProxy.Compile(dataContext); CompilationResult result = EndCompile(dataContext); return(result); }
/// <summary> /// "Compiles" a Sass-code to CSS-code /// </summary> /// <param name="content">Text content written on Sass</param> /// <param name="inputPath">Path to input file</param> /// <param name="outputPath">Path to output file</param> /// <param name="options">Compilation options</param> /// <returns>Compilation result</returns> public CompilationResult Compile(string content, string inputPath = null, string outputPath = null, CompilationOptions options = null) { if (string.IsNullOrWhiteSpace(content)) { throw new ArgumentException(string.Format(Strings.Common_ArgumentIsEmpty, "content"), "content"); } CompilationResult result; var dataContext = new SassDataContext { SourceString = content }; lock (_compilationSynchronizer) { BeginCompile(dataContext, inputPath, outputPath, options); _sassNativeCompiler.Compile(dataContext); result = EndCompile(dataContext); } return result; }