public int GetPositionOfSymbol(TextSymbol sym)
        {
            int pos = 0;

            foreach (TextSymbol ts in Symbols)
            {
                if (ts == sym)
                {
                    return(pos);
                }
                else
                {
                    pos += ts.Length;
                }
            }

            return(-1);
        }
        public void SetScript(LuaScript script)
        {
            CurrentScript = null;
            Clear();
            TextLines.Clear();
            CurrentScript = script;

            for (int i = 0; i < script.Symbols.Count; i++)
            {
                List <LuaSymbol> symline = script.Symbols[i];
                TextLine         tline   = new TextLine(i);

                for (int j = 0; j < symline.Count; j++)
                {
                    TextSymbol ts = new TextSymbol(symline[j]);
                    tline.AddSymbol(ts);
                    AppendText(ts.Text, TextColors[(int)ts.Type]);
                }

                TextLines.Add(tline);
                AppendText(Environment.NewLine);
            }
        }
 public void RemoveSymbol(TextSymbol ts)
 {
     Symbols.Remove(ts);
     ts.Line = null;
 }
 public void AddSymbol(TextSymbol ts)
 {
     ts.Line = this;
     Symbols.Add(ts);
 }