public override CompiledTemplate LoadTemplateFile(string prefix, string unqualifiedFileName, ICharStream templateStream) { string template = templateStream.Substring(0, templateStream.Count); string templateName = Path.GetFileNameWithoutExtension(unqualifiedFileName); string fullyQualifiedTemplateName = prefix + templateName; CompiledTemplate impl = new TemplateCompiler(this).Compile(fullyQualifiedTemplateName, template); CommonToken nameT = new CommonToken(TemplateLexer.SEMI); // Seems like a hack, best I could come up with. nameT.InputStream = templateStream; RawDefineTemplate(fullyQualifiedTemplateName, impl, nameT); impl.DefineImplicitlyDefinedTemplates(this); return(impl); }
protected virtual bool TokenEndsAtEndOfLine(ITextSnapshot snapshot, ITokenSourceWithState <TState> lexer, IToken token) { ICharStream charStream = lexer.CharStream; if (charStream != null) { int nextCharIndex = token.StopIndex + 1; if (nextCharIndex >= charStream.Count) { return(true); } int c = charStream.Substring(token.StopIndex + 1, 1)[0]; return(c == '\r' || c == '\n'); } ITextSnapshotLine line = snapshot.GetLineFromPosition(token.StopIndex + 1); return(line.End <= token.StopIndex + 1 && line.EndIncludingLineBreak >= token.StopIndex + 1); }
public override CompiledTemplate LoadTemplateFile(string prefix, string unqualifiedFileName, ICharStream templateStream) { string template = templateStream.Substring(0, templateStream.Count); string templateName = Path.GetFileNameWithoutExtension(unqualifiedFileName); string fullyQualifiedTemplateName = prefix + templateName; CompiledTemplate impl = new TemplateCompiler(this).Compile(fullyQualifiedTemplateName, template); CommonToken nameT = new CommonToken(TemplateLexer.SEMI); // Seems like a hack, best I could come up with. nameT.InputStream = templateStream; RawDefineTemplate(fullyQualifiedTemplateName, impl, nameT); impl.DefineImplicitlyDefinedTemplates(this); return impl; }