_Core/Lang/Templating/TemplateEngineDefault.cs

(开头部分) 16KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ComLib.Lang.Templating
{
    /// <summary>
    /// Templating class for the javascript like language.
    /// Syntax similar to jquery templates/python-django templates.
    /// </summary>
    public class TemplateEngineDefault : ITemplateEngine
    {
        #region Members
        // Parsing.
        private List<CodeBlock> _buffer;
        private string _script;
        private int _lineNum;
        private int _currentLineStartPos;
        private int _posInLine;
        private int _scriptLength;
        private int _pos;
        
        // Constants
        private char ESCAPE = '%';
        private char TEMPLATE_START = '<';
        private char TEMPLATE_END = '>';
        private char CODE_START = '%';
        private char CODE_END = '%';
        private char EXP_START = '=';
        private char EXP_END = '%';
        private char COMMENT_START = '#';
        private char COMMENT_END = '%';
        private string NEW_LINE = "\"\\r\\n\"";
        private string BUFFER_NAME    = "buffer";

        // State
        private string _lastText = string.Empty;
        private State _lastState = State.Html;    

        // Error handling and tracking.
        private List<string> _errors;
        #endregion


        #region Support Classes
        /// <summary>
        /// State of parsing.
        /// </summary>
        enum State
        {
            Html,
            Expression,
            CodeBlock,
            Comment
        }


        /// <summary>
        /// Codeblock
后面还有 503 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。