Пример #1
0
 // Update is called once per frame
 void Update()
 {
     if (WH == null)
     {
         WH = GameObject.Find("WordHolder").GetComponent <WordHolder>();
     }
 }
Пример #2
0
 // Use this for initialization
 void Start()
 {
     ButtonText  = this.gameObject.GetComponentInChildren <Text>();
     WH          = GameObject.Find("WordHolder").GetComponent <WordHolder>();
     normal      = Color.black;
     Highlighted = Color.green;
     this.gameObject.GetComponentInChildren <Text>().color = normal;
 }
Пример #3
0
        public ActionResult RV(string noun, string adjective, string verb, string adverb)
        {
            WordHolder words = new WordHolder();

            words.Noun      = noun;
            words.Adjective = adjective;
            words.Verb      = verb;
            words.Adverb    = adverb;
            return(View(words));
        }
Пример #4
0
 void Start()
 {
     WH = GameObject.Find("WordHolder").GetComponent <WordHolder>();
     if (WH.joincreate == "Join")
     {
         PhotonNetwork.JoinRandomRoom();
     }
     else if (WH.joincreate == "Create")
     {
         RoomOptions RO = new RoomOptions();
         RO.MaxPlayers = 2;
         PhotonNetwork.CreateRoom("Room" + UnityEngine.Random.Range(0, 100), RO, null);
     }
 }
Пример #5
0
        public WordHolderEntityExpression(string pattern)
        {
            pattern = pattern.Trim().ToUpper();
            if (pattern == string.Empty)
            {
                throw new ArgumentException("Cannot create ClauseHolderEntityExpression for empty string", "pattern");
            }
            string first  = pattern.Substring(1, pattern.IndexOf('.') - 1);
            string second = pattern.Substring(pattern.IndexOf('.') + 1);

            if (first != "W")
            {
                throw new ArgumentException("pattern should be W character", "pattern");
            }
            Holder = WordHolderManager.Instance[second];
        }
Пример #6
0
 // Use this for initialization
 void Start()
 {
     if (SceneManager.GetActiveScene().name == "MultiWordChallenge")
     {
         P2w       = GameObject.Find("Player2wait");
         GameState = GameObject.Find("GameManager").GetComponent <GameManager>();
         mulCount  = 0;
     }
     WH            = GameObject.Find("WordHolder").GetComponent <WordHolder>();
     wordYPosition = 150;
     noOfWords     = 4;
     selectedWords = new List <string>();
     for (int x = 0; x < noOfWords; x++)
     {
         selectedWords.Add(WH.selectedWords[x].Trim());
     }
     sprites = Resources.LoadAll <Sprite>("g5101");
     PlaceWords();
 }
Пример #7
0
        public ActionResult Puppy(string noun, string adjective, string verb, string adverb, string prompt)
        {
            WordHolder words = new WordHolder();

            words.Noun      = noun;
            words.Adjective = adjective;
            words.Verb      = verb;
            words.Adverb    = adverb;
            // words.Prompt = prompt;
            if (prompt == "puppy")
            {
                return(View("~/Views/Home/Puppy.cshtml", words));
            }
            else if (prompt == "RV")
            {
                return(View("~/Views/Home/RV.cshtml", words));
            }
            return(View(words));
        }
Пример #8
0
        //////////////////////////////////////////////////////////////////////////
        private void OnIntegrate(object sender, EventArgs e)
        {
            string ScitePath = Path.Combine(WmeUtils.ToolsPath, "scite");

            if (!Directory.Exists(ScitePath))
            {
                Directory.CreateDirectory(ScitePath);
            }

            string[] Extensions  = ParentForm.GetExtensions();
            string   Extensions2 = "";

            foreach (string Ext in Extensions)
            {
                if (Extensions2 != "")
                {
                    Extensions2 += ";";
                }
                Extensions2 += "*." + Ext;
            }

            // generate syntax file
            try
            {
                // read XML docs
                ScriptInfo Info = new ScriptInfo();
                Info.ReadXml(WmeUtils.XmlDocsPath);

                string KwdFile = Path.Combine(ScitePath, "wme_kwd.properties");

                using (StreamWriter sw = new StreamWriter(KwdFile, false, Encoding.Default))
                {
                    sw.WriteLine(FileHeader);

                    sw.WriteLine("file.patterns.script=" + Extensions2);
                    sw.WriteLine("filter.script=WME Scripts|$(file.patterns.script)|");
                    sw.WriteLine();

                    WordHolder wh;

                    // keywords
                    sw.WriteLine("keywords.$(file.patterns.script)=\\");
                    wh = new WordHolder();
                    foreach (string Keyword in ScriptTokenizer.Keywords)
                    {
                        wh.AddWord(Keyword);
                    }
                    sw.WriteLine(wh.GetWords());


                    // methods
                    sw.WriteLine("keywords2.$(file.patterns.script)=\\");
                    wh = new WordHolder();
                    foreach (ScriptObject Obj in Info.Objects)
                    {
                        foreach (ScriptMethod Method in Obj.Methods)
                        {
                            foreach (string Header in Method.Headers)
                            {
                                int Brace = Header.IndexOf("(");
                                if (Brace >= 0)
                                {
                                    wh.AddWord(Header.Substring(0, Brace).Trim());
                                }
                            }
                        }
                    }
                    sw.WriteLine(wh.GetWords());

                    // attributes
                    sw.WriteLine("keywords4.$(file.patterns.script)=\\");
                    wh = new WordHolder();
                    foreach (ScriptObject Obj in Info.Objects)
                    {
                        foreach (ScriptAttribute Attr in Obj.Attributes)
                        {
                            if (Attr.Name.StartsWith("["))
                            {
                                continue;
                            }
                            wh.AddWord(Attr.Name);
                        }
                    }
                    sw.WriteLine(wh.GetWords());
                }

                // tools
                string ToolsFile = Path.Combine(ScitePath, "wme_tools.properties");

                using (StreamWriter sw = new StreamWriter(ToolsFile, false, Encoding.Default))
                {
                    sw.WriteLine(FileHeader);

                    sw.WriteLine("command.compile.$(file.patterns.script)=\"" + WmeUtils.CompilerPath + "\" -script \"$(FilePath)\" -format scite");
                    sw.WriteLine("command.help.$(file.patterns.script)=reference!" + Path.Combine(WmeUtils.ToolsPath, "wme.chm"));
                    sw.WriteLine("command.help.subsystem.$(file.patterns.script)=4");
                    sw.WriteLine("api.$(file.patterns.script)=" + Path.Combine(WmeUtils.ToolsPath, "SciTE\\wme.api"));
                }

                // api
                string ApiFile = Path.Combine(ScitePath, "wme.api");

                using (StreamWriter sw = new StreamWriter(ApiFile, false, Encoding.Default))
                {
                    WordHolder wh;

                    wh = new WordHolder();
                    foreach (ScriptObject Obj in Info.Objects)
                    {
                        foreach (ScriptMethod Method in Obj.Methods)
                        {
                            foreach (string Header in Method.Headers)
                            {
                                wh.AddWord(Header + Method.Desc);
                            }
                        }
                    }
                    foreach (ScriptObject Obj in Info.Objects)
                    {
                        foreach (ScriptAttribute Attr in Obj.Attributes)
                        {
                            if (Attr.Name.StartsWith("["))
                            {
                                continue;
                            }
                            wh.AddWord(Attr.Name);
                        }
                    }

                    sw.WriteLine(wh.GetWordsApi());
                }
            }
            catch
            {
            }
        }
Пример #9
0
 // Use this for initialization
 void Start()
 {
     thisText = this.gameObject.GetComponentInChildren <Text>();
     WH       = GameObject.Find("WordHolder").GetComponent <WordHolder>();
 }
Пример #10
0
        //////////////////////////////////////////////////////////////////////////
        private void FillWordFileEntry(int Order, WordFileItem Item)
        {
            Item.Order = Order;
            Item.Name  = "WME Script";
            Item.Lines.Clear();

            // language definition
            string LangLine = "";

            LangLine += "/L" + Order.ToString() + "\"WME Script\"";
            LangLine += " Line Comment = //";
            LangLine += " Block Comment On = /* Block Comment Off = */ NestBlockComments";
            LangLine += " Line Comment = //";
            LangLine += " Escape Char = ~ String Chars = \"";

            string[] Extensions = ParentForm.GetExtensions();
            LangLine += " File Extensions =";
            foreach (string Ext in Extensions)
            {
                LangLine += " " + Ext;
            }
            Item.Lines.Add(LangLine);

            Item.Lines.Add("/Delimiters = ~!@%^&*()-+=|\\/{}[]:;\"'<> ,	.?");
            Item.Lines.Add("/Function String = \"%[ ^t]++function^(*(*)^)\"");
            Item.Lines.Add("/Function String 1 = \"%[ ^t]++method^(*(*)^)\"");
            Item.Lines.Add("/Indent Strings = \"{\" \"else\"");
            Item.Lines.Add("/Unindent Strings = \"}\"");
            Item.Lines.Add("/Open Brace Strings =  \"{\" \"(\" \"[\" \"<\"");
            Item.Lines.Add("/Close Brace Strings = \"}\" \")\" \"]\" \">\"");
            Item.Lines.Add("/Open Fold Strings = \"{\" \"#region\"");
            Item.Lines.Add("/Close Fold Strings = \"}\" \"#endregion\"");

            WordHolder wh = new WordHolder();

            // keywords
            Item.Lines.Add("/C1\"Keywords\" STYLE_KEYWORD");
            foreach (string Keyword in ScriptTokenizer.Keywords)
            {
                wh.AddWord(Keyword);
            }
            Item.Lines.Add(wh.GetWords());


            // read XML docs
            ScriptInfo Info = new ScriptInfo();

            Info.ReadXml(WmeUtils.XmlDocsPath);

            // methods
            Item.Lines.Add("/C2\"Methods\" STYLE_METHOD");
            wh = new WordHolder();
            foreach (ScriptObject Obj in Info.Objects)
            {
                foreach (ScriptMethod Method in Obj.Methods)
                {
                    //if (Method.IsGlobal) continue;
                    foreach (string Header in Method.Headers)
                    {
                        int Brace = Header.IndexOf("(");
                        if (Brace >= 0)
                        {
                            wh.AddWord(Header.Substring(0, Brace).Trim());
                        }
                    }
                }
            }
            Item.Lines.Add(wh.GetWords());

            // attributes
            Item.Lines.Add("/C3\"Properties\" STYLE_ATTRIBUTE");
            wh = new WordHolder();
            foreach (ScriptObject Obj in Info.Objects)
            {
                foreach (ScriptAttribute Attr in Obj.Attributes)
                {
                    if (Attr.Name.StartsWith("["))
                    {
                        continue;
                    }
                    wh.AddWord(Attr.Name);
                }
            }
            Item.Lines.Add(wh.GetWords());

            // preprocessor
            Item.Lines.Add("/C4\"Preprocessor\" STYLE_EXTENSION");
            Item.Lines.Add("#endregion #include #region");
        }
        //////////////////////////////////////////////////////////////////////////
        private void OnIntegrate(object sender, EventArgs e)
        {
            string ScitePath = Path.Combine(WmeUtils.ToolsPath, "scite");
            if (!Directory.Exists(ScitePath)) Directory.CreateDirectory(ScitePath);

            string[] Extensions = ParentForm.GetExtensions();
            string Extensions2 = "";
            foreach (string Ext in Extensions)
            {
                if (Extensions2 != "") Extensions2 += ";";
                Extensions2 += "*." + Ext;
            }

            // generate syntax file
            try
            {
                // read XML docs
                ScriptInfo Info = new ScriptInfo();
                Info.ReadXml(WmeUtils.XmlDocsPath);

                string KwdFile = Path.Combine(ScitePath, "wme_kwd.properties");

                using (StreamWriter sw = new StreamWriter(KwdFile, false, Encoding.Default))
                {
                    sw.WriteLine(FileHeader);

                    sw.WriteLine("file.patterns.script=" + Extensions2);
                    sw.WriteLine("filter.script=WME Scripts|$(file.patterns.script)|");
                    sw.WriteLine();

                    WordHolder wh;

                    // keywords
                    sw.WriteLine("keywords.$(file.patterns.script)=\\");
                    wh = new WordHolder();
                    foreach (string Keyword in ScriptTokenizer.Keywords)
                    {
                        wh.AddWord(Keyword);
                    }
                    sw.WriteLine(wh.GetWords());

                    // methods
                    sw.WriteLine("keywords2.$(file.patterns.script)=\\");
                    wh = new WordHolder();
                    foreach (ScriptObject Obj in Info.Objects)
                    {
                        foreach (ScriptMethod Method in Obj.Methods)
                        {
                            foreach (string Header in Method.Headers)
                            {
                                int Brace = Header.IndexOf("(");
                                if (Brace >= 0)
                                {
                                    wh.AddWord(Header.Substring(0, Brace).Trim());
                                }
                            }
                        }
                    }
                    sw.WriteLine(wh.GetWords());

                    // attributes
                    sw.WriteLine("keywords4.$(file.patterns.script)=\\");
                    wh = new WordHolder();
                    foreach (ScriptObject Obj in Info.Objects)
                    {
                        foreach (ScriptAttribute Attr in Obj.Attributes)
                        {
                            if (Attr.Name.StartsWith("[")) continue;
                            wh.AddWord(Attr.Name);
                        }
                    }
                    sw.WriteLine(wh.GetWords());
                }

                // tools
                string ToolsFile = Path.Combine(ScitePath, "wme_tools.properties");

                using (StreamWriter sw = new StreamWriter(ToolsFile, false, Encoding.Default))
                {
                    sw.WriteLine(FileHeader);

                    sw.WriteLine("command.compile.$(file.patterns.script)=\"" + WmeUtils.CompilerPath + "\" -script \"$(FilePath)\" -format scite");
                    sw.WriteLine("command.help.$(file.patterns.script)=reference!" + Path.Combine(WmeUtils.ToolsPath, "wme.chm"));
                    sw.WriteLine("command.help.subsystem.$(file.patterns.script)=4");
                    sw.WriteLine("api.$(file.patterns.script)=" + Path.Combine(WmeUtils.ToolsPath, "SciTE\\wme.api"));
                }

                // api
                string ApiFile = Path.Combine(ScitePath, "wme.api");

                using (StreamWriter sw = new StreamWriter(ApiFile, false, Encoding.Default))
                {
                    WordHolder wh;

                    wh = new WordHolder();
                    foreach (ScriptObject Obj in Info.Objects)
                    {
                        foreach (ScriptMethod Method in Obj.Methods)
                        {
                            foreach (string Header in Method.Headers)
                            {
                                wh.AddWord(Header + Method.Desc);
                            }
                        }
                    }
                    foreach (ScriptObject Obj in Info.Objects)
                    {
                        foreach (ScriptAttribute Attr in Obj.Attributes)
                        {
                            if (Attr.Name.StartsWith("[")) continue;
                            wh.AddWord(Attr.Name);
                        }
                    }

                    sw.WriteLine(wh.GetWordsApi());
                }

            }
            catch
            {
            }
        }
        //////////////////////////////////////////////////////////////////////////
        private void OnAddLanguage(object sender, EventArgs e)
        {
            if (!File.Exists(PsPadIni)) return;

            //File.Exists(ParentForm.TxtProjectFile.Text

            while(NativeMethods.FindWindowEx(IntPtr.Zero, IntPtr.Zero, "TfPSPad", null)!=IntPtr.Zero)
            {
                DialogResult Res = MessageBox.Show("Please close PSPad first.", ParentForm.Text, MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Error);
                if (Res == DialogResult.Abort) return;
                else if (Res == DialogResult.Ignore) break;
            }

            if (DialogResult.Yes != MessageBox.Show("Do you really want to replace '" +
                ListLanguages.SelectedItem.ToString() + "' with WME scripts?", ParentForm.Text,
                MessageBoxButtons.YesNo, MessageBoxIcon.Question)) return;

            IniFile Ini = new IniFile(PsPadIni);
            string Suffix = "";
            if (ListLanguages.SelectedIndex > 0) Suffix = ListLanguages.SelectedIndex.ToString();

            Ini.WriteString("Config", "UserHighLighterName" + Suffix, "WME Script");
            Ini.WriteString("Highlighters", "General" + Suffix, "1");

            string[] Extensions = ParentForm.GetExtensions();
            string Extensions2 = "";
            foreach(string Ext in Extensions)
            {
                if (Extensions2 != "") Extensions2 += ";";
                Extensions2 += "*." + Ext;
            }

            // language section
            Ini.WriteString("WME Script", "Filter", "WME Script (" + Extensions2 + ")|" + Extensions2);
            Ini.WriteString("WME Script", "HLTabWidth", "4");
            Ini.WriteString("WME Script", "IndentChar", "{");
            Ini.WriteString("WME Script", "UnIndentChar", "}");
            Ini.WriteString("WME Script", "Comment", "000080001FFFFFFF010");
            Ini.WriteString("WME Script", "Identifier", "1FFFFFFF1FFFFFFF000");
            Ini.WriteString("WME Script", "Key", "00FF00001FFFFFFF100");
            Ini.WriteString("WME Script", "Key words 2", "000000801FFFFFFF100");
            Ini.WriteString("WME Script", "Key words 3", "008080001FFFFFFF100");
            Ini.WriteString("WME Script", "Label", "000000FF1FFFFFFF000");
            Ini.WriteString("WME Script", "Number", "000000FF1FFFFFFF000");
            Ini.WriteString("WME Script", "Preprocessor", "008000801FFFFFFF010");
            Ini.WriteString("WME Script", "Reserved Word", "000000801FFFFFFF100");
            Ini.WriteString("WME Script", "Space", "008080001FFFFFFF000");
            Ini.WriteString("WME Script", "String", "008080801FFFFFFF000");
            Ini.WriteString("WME Script", "Symbol", "1FFFFFFF1FFFFFFF000");

            // compiler settings
            Ini.WriteString("WME Script", "Compilator File", WmeUtils.CompilerPath);

            string CompParams = "-script |%File%|";
            if (File.Exists(ParentForm.TxtProjectFile.Text))
                CompParams += " -project |" + ParentForm.TxtProjectFile.Text + "|";
            Ini.WriteString("WME Script", "Compilator Param", CompParams);

            Ini.WriteString("WME Script", "Compilator LOG", "");
            Ini.WriteString("WME Script", "Compilator Run", "");
            Ini.WriteString("WME Script", "Compilator Help", Path.Combine(WmeUtils.ToolsPath, "wme.chm"));
            Ini.WriteString("WME Script", "Compilator SaveAll", "0");
            Ini.WriteString("WME Script", "Compilator ParsLog", "%F,%L:%E");
            Ini.WriteString("WME Script", "Compilator Capture", "1");
            Ini.WriteString("WME Script", "Compilator HideOutput", "1");
            Ini.WriteString("WME Script", "Compilator DefaultDir", "");

            // generate syntax file
            try
            {
                string SyntaxFilePath = Path.Combine(TxtPsPadInstallDir.Text, "Syntax");
                if (!Directory.Exists(SyntaxFilePath)) Directory.CreateDirectory(SyntaxFilePath);
                SyntaxFilePath = Path.Combine(SyntaxFilePath, "WME Script.ini");

                using (StreamWriter sw = new StreamWriter(SyntaxFilePath, false, Encoding.Default))
                {
                    sw.WriteLine("; PSPad HighLighter definition file for WME Scripts");
                    sw.WriteLine("; Generated automatically by WME Integrator");
                    sw.WriteLine("; Do not modify this file");

                    sw.WriteLine("[Settings]");
                    sw.WriteLine("Name=WME Script");
                    sw.WriteLine("HTMLGroup=0");
                    sw.WriteLine("Label=1");
                    sw.WriteLine("FileType=" + Extensions2.Replace(";", ","));
                    sw.WriteLine("CommentString=");
                    sw.WriteLine("SlashComment=1");
                    sw.WriteLine("CComment=1");
                    sw.WriteLine("SlashComment=1");
                    sw.WriteLine("Preprocessors=1");
                    sw.WriteLine("IndentChar={");
                    sw.WriteLine("UnIndentChar=}");
                    sw.WriteLine("TabWidth=4");
                    sw.WriteLine("CaseSensitive=1");
                    sw.WriteLine("DoubleQuote=1");
                    sw.WriteLine("KeyWordChars=_");
                    sw.WriteLine("CodeExplorer=ftJS");

                    WordHolder wh;

                    // keywords
                    sw.WriteLine("[KeyWords]");
                    wh = new WordHolder();
                    foreach (string Keyword in ScriptTokenizer.Keywords)
                    {
                        wh.AddWord(Keyword);
                    }
                    sw.WriteLine(wh.GetWords());

                    // read XML docs
                    ScriptInfo Info = new ScriptInfo();
                    Info.ReadXml(WmeUtils.XmlDocsPath);

                    // methods
                    sw.WriteLine("[KeyWords2]");
                    wh = new WordHolder();
                    foreach (ScriptObject Obj in Info.Objects)
                    {
                        foreach (ScriptMethod Method in Obj.Methods)
                        {
                            foreach (string Header in Method.Headers)
                            {
                                int Brace = Header.IndexOf("(");
                                if (Brace >= 0)
                                {
                                    wh.AddWord(Header.Substring(0, Brace).Trim());
                                }
                            }
                        }
                    }
                    sw.WriteLine(wh.GetWords());

                    // attributes
                    sw.WriteLine("[KeyWords3]");
                    wh = new WordHolder();
                    foreach (ScriptObject Obj in Info.Objects)
                    {
                        foreach (ScriptAttribute Attr in Obj.Attributes)
                        {
                            if (Attr.Name.StartsWith("[")) continue;
                            wh.AddWord(Attr.Name);
                        }
                    }
                    sw.WriteLine(wh.GetWords());
                }
            }
            catch
            {
            }

            LoadInfo();
        }
Пример #13
0
        //////////////////////////////////////////////////////////////////////////
        private void OnAddLanguage(object sender, EventArgs e)
        {
            if (!File.Exists(PsPadIni))
            {
                return;
            }

            //File.Exists(ParentForm.TxtProjectFile.Text

            while (NativeMethods.FindWindowEx(IntPtr.Zero, IntPtr.Zero, "TfPSPad", null) != IntPtr.Zero)
            {
                DialogResult Res = MessageBox.Show("Please close PSPad first.", ParentForm.Text, MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Error);
                if (Res == DialogResult.Abort)
                {
                    return;
                }
                else if (Res == DialogResult.Ignore)
                {
                    break;
                }
            }

            if (DialogResult.Yes != MessageBox.Show("Do you really want to replace '" +
                                                    ListLanguages.SelectedItem.ToString() + "' with WME scripts?", ParentForm.Text,
                                                    MessageBoxButtons.YesNo, MessageBoxIcon.Question))
            {
                return;
            }

            IniFile Ini    = new IniFile(PsPadIni);
            string  Suffix = "";

            if (ListLanguages.SelectedIndex > 0)
            {
                Suffix = ListLanguages.SelectedIndex.ToString();
            }

            Ini.WriteString("Config", "UserHighLighterName" + Suffix, "WME Script");
            Ini.WriteString("Highlighters", "General" + Suffix, "1");

            string[] Extensions  = ParentForm.GetExtensions();
            string   Extensions2 = "";

            foreach (string Ext in Extensions)
            {
                if (Extensions2 != "")
                {
                    Extensions2 += ";";
                }
                Extensions2 += "*." + Ext;
            }

            // language section
            Ini.WriteString("WME Script", "Filter", "WME Script (" + Extensions2 + ")|" + Extensions2);
            Ini.WriteString("WME Script", "HLTabWidth", "4");
            Ini.WriteString("WME Script", "IndentChar", "{");
            Ini.WriteString("WME Script", "UnIndentChar", "}");
            Ini.WriteString("WME Script", "Comment", "000080001FFFFFFF010");
            Ini.WriteString("WME Script", "Identifier", "1FFFFFFF1FFFFFFF000");
            Ini.WriteString("WME Script", "Key", "00FF00001FFFFFFF100");
            Ini.WriteString("WME Script", "Key words 2", "000000801FFFFFFF100");
            Ini.WriteString("WME Script", "Key words 3", "008080001FFFFFFF100");
            Ini.WriteString("WME Script", "Label", "000000FF1FFFFFFF000");
            Ini.WriteString("WME Script", "Number", "000000FF1FFFFFFF000");
            Ini.WriteString("WME Script", "Preprocessor", "008000801FFFFFFF010");
            Ini.WriteString("WME Script", "Reserved Word", "000000801FFFFFFF100");
            Ini.WriteString("WME Script", "Space", "008080001FFFFFFF000");
            Ini.WriteString("WME Script", "String", "008080801FFFFFFF000");
            Ini.WriteString("WME Script", "Symbol", "1FFFFFFF1FFFFFFF000");

            // compiler settings
            Ini.WriteString("WME Script", "Compilator File", WmeUtils.CompilerPath);

            string CompParams = "-script |%File%|";

            if (File.Exists(ParentForm.TxtProjectFile.Text))
            {
                CompParams += " -project |" + ParentForm.TxtProjectFile.Text + "|";
            }
            Ini.WriteString("WME Script", "Compilator Param", CompParams);

            Ini.WriteString("WME Script", "Compilator LOG", "");
            Ini.WriteString("WME Script", "Compilator Run", "");
            Ini.WriteString("WME Script", "Compilator Help", Path.Combine(WmeUtils.ToolsPath, "wme.chm"));
            Ini.WriteString("WME Script", "Compilator SaveAll", "0");
            Ini.WriteString("WME Script", "Compilator ParsLog", "%F,%L:%E");
            Ini.WriteString("WME Script", "Compilator Capture", "1");
            Ini.WriteString("WME Script", "Compilator HideOutput", "1");
            Ini.WriteString("WME Script", "Compilator DefaultDir", "");

            // generate syntax file
            try
            {
                string SyntaxFilePath = Path.Combine(TxtPsPadInstallDir.Text, "Syntax");
                if (!Directory.Exists(SyntaxFilePath))
                {
                    Directory.CreateDirectory(SyntaxFilePath);
                }
                SyntaxFilePath = Path.Combine(SyntaxFilePath, "WME Script.ini");

                using (StreamWriter sw = new StreamWriter(SyntaxFilePath, false, Encoding.Default))
                {
                    sw.WriteLine("; PSPad HighLighter definition file for WME Scripts");
                    sw.WriteLine("; Generated automatically by WME Integrator");
                    sw.WriteLine("; Do not modify this file");

                    sw.WriteLine("[Settings]");
                    sw.WriteLine("Name=WME Script");
                    sw.WriteLine("HTMLGroup=0");
                    sw.WriteLine("Label=1");
                    sw.WriteLine("FileType=" + Extensions2.Replace(";", ","));
                    sw.WriteLine("CommentString=");
                    sw.WriteLine("SlashComment=1");
                    sw.WriteLine("CComment=1");
                    sw.WriteLine("SlashComment=1");
                    sw.WriteLine("Preprocessors=1");
                    sw.WriteLine("IndentChar={");
                    sw.WriteLine("UnIndentChar=}");
                    sw.WriteLine("TabWidth=4");
                    sw.WriteLine("CaseSensitive=1");
                    sw.WriteLine("DoubleQuote=1");
                    sw.WriteLine("KeyWordChars=_");
                    sw.WriteLine("CodeExplorer=ftJS");

                    WordHolder wh;

                    // keywords
                    sw.WriteLine("[KeyWords]");
                    wh = new WordHolder();
                    foreach (string Keyword in ScriptTokenizer.Keywords)
                    {
                        wh.AddWord(Keyword);
                    }
                    sw.WriteLine(wh.GetWords());

                    // read XML docs
                    ScriptInfo Info = new ScriptInfo();
                    Info.ReadXml(WmeUtils.XmlDocsPath);


                    // methods
                    sw.WriteLine("[KeyWords2]");
                    wh = new WordHolder();
                    foreach (ScriptObject Obj in Info.Objects)
                    {
                        foreach (ScriptMethod Method in Obj.Methods)
                        {
                            foreach (string Header in Method.Headers)
                            {
                                int Brace = Header.IndexOf("(");
                                if (Brace >= 0)
                                {
                                    wh.AddWord(Header.Substring(0, Brace).Trim());
                                }
                            }
                        }
                    }
                    sw.WriteLine(wh.GetWords());


                    // attributes
                    sw.WriteLine("[KeyWords3]");
                    wh = new WordHolder();
                    foreach (ScriptObject Obj in Info.Objects)
                    {
                        foreach (ScriptAttribute Attr in Obj.Attributes)
                        {
                            if (Attr.Name.StartsWith("["))
                            {
                                continue;
                            }
                            wh.AddWord(Attr.Name);
                        }
                    }
                    sw.WriteLine(wh.GetWords());
                }
            }
            catch
            {
            }

            LoadInfo();
        }
        //////////////////////////////////////////////////////////////////////////
        private void FillWordFileEntry(int Order, WordFileItem Item)
        {
            Item.Order = Order;
            Item.Name = "WME Script";
            Item.Lines.Clear();

            // language definition
            string LangLine = "";
            LangLine += "/L" + Order.ToString() + "\"WME Script\"";
            LangLine += " Line Comment = //";
            LangLine += " Block Comment On = /* Block Comment Off = */ NestBlockComments";
            LangLine += " Line Comment = //";
            LangLine += " Escape Char = ~ String Chars = \"";

            string[] Extensions = ParentForm.GetExtensions();
            LangLine += " File Extensions =";
            foreach(string Ext in Extensions)
            {
                LangLine += " " + Ext;
            }
            Item.Lines.Add(LangLine);

            Item.Lines.Add("/Delimiters = ~!@%^&*()-+=|\\/{}[]:;\"'<> ,	.?");
            Item.Lines.Add("/Function String = \"%[ ^t]++function^(*(*)^)\"");
            Item.Lines.Add("/Function String 1 = \"%[ ^t]++method^(*(*)^)\"");
            Item.Lines.Add("/Indent Strings = \"{\" \"else\"");
            Item.Lines.Add("/Unindent Strings = \"}\"");
            Item.Lines.Add("/Open Brace Strings =  \"{\" \"(\" \"[\" \"<\"");
            Item.Lines.Add("/Close Brace Strings = \"}\" \")\" \"]\" \">\"");
            Item.Lines.Add("/Open Fold Strings = \"{\" \"#region\"");
            Item.Lines.Add("/Close Fold Strings = \"}\" \"#endregion\"");

            WordHolder wh = new WordHolder();

            // keywords
            Item.Lines.Add("/C1\"Keywords\" STYLE_KEYWORD");
            foreach(string Keyword in ScriptTokenizer.Keywords)
            {
                wh.AddWord(Keyword);
            }
            Item.Lines.Add(wh.GetWords());

            // read XML docs
            ScriptInfo Info = new ScriptInfo();
            Info.ReadXml(WmeUtils.XmlDocsPath);

            // methods
            Item.Lines.Add("/C2\"Methods\" STYLE_METHOD");
            wh = new WordHolder();
            foreach(ScriptObject Obj in Info.Objects)
            {
                foreach(ScriptMethod Method in Obj.Methods)
                {
                    //if (Method.IsGlobal) continue;
                    foreach(string Header in Method.Headers)
                    {
                        int Brace = Header.IndexOf("(");
                        if(Brace >= 0)
                        {
                            wh.AddWord(Header.Substring(0, Brace).Trim());
                        }
                    }
                }
            }
            Item.Lines.Add(wh.GetWords());

            // attributes
            Item.Lines.Add("/C3\"Properties\" STYLE_ATTRIBUTE");
            wh = new WordHolder();
            foreach (ScriptObject Obj in Info.Objects)
            {
                foreach (ScriptAttribute Attr in Obj.Attributes)
                {
                    if (Attr.Name.StartsWith("[")) continue;
                    wh.AddWord(Attr.Name);
                }
            }
            Item.Lines.Add(wh.GetWords());

            // preprocessor
            Item.Lines.Add("/C4\"Preprocessor\" STYLE_EXTENSION");
            Item.Lines.Add("#endregion #include #region");
        }
        //////////////////////////////////////////////////////////////////////////
        private void OnGenerate(object sender, EventArgs e)
        {
            if (!Directory.Exists(TxtOutputDir.Text))
            {
                MessageBox.Show("Please specify a valid output directory.", ParentForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            try
            {
                string Filename = Path.Combine(TxtOutputDir.Text, "script.php");

                using (StreamWriter sw = new StreamWriter(Filename, false, Encoding.Default))
                {
                    sw.WriteLine("<?php");
                    sw.WriteLine("/*************************************************************************************");
             					sw.WriteLine("* script.php");
             					sw.WriteLine("* --------------");
             					sw.WriteLine("* WME Script language file for GeSHi.");
             					sw.WriteLine("* Generated by WME Integrator ");
             					sw.WriteLine("************************************************************************************/");
                    sw.WriteLine("");
                    sw.WriteLine("$language_data = array (");
              					sw.WriteLine("  'LANG_NAME' => 'WME Script',");
                    sw.WriteLine("  'COMMENT_SINGLE' => array(1 => '//'),");
                    sw.WriteLine("  'COMMENT_MULTI' => array('/*' => '*/'),");
                    sw.WriteLine("  'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,");
                    sw.WriteLine("  'QUOTEMARKS' => array('\"'),");
                    sw.WriteLine("  'ESCAPE_CHAR' => '~',");
                    sw.WriteLine("  'KEYWORDS' => array(");
                    sw.WriteLine("    1 => array(");

                    WordHolder wh;

                    // keywords
                    wh = new WordHolder();
                    foreach (string Keyword in ScriptTokenizer.Keywords)
                    {
                        wh.AddWord(Keyword);
                    }
                    sw.WriteLine("    " + wh.GetWords());

              					sw.WriteLine("      ),");
                    sw.WriteLine("    2 => array(");

                    // read XML docs
                    ScriptInfo Info = new ScriptInfo();
                    Info.ReadXml(WmeUtils.XmlDocsPath);

                    // methods
                    wh = new WordHolder();
                    foreach (ScriptObject Obj in Info.Objects)
                    {
                        foreach (ScriptMethod Method in Obj.Methods)
                        {
                            foreach (string Header in Method.Headers)
                            {
                                int Brace = Header.IndexOf("(");
                                if (Brace >= 0)
                                {
                                    wh.AddWord(Header.Substring(0, Brace).Trim());
                                }
                            }
                        }
                    }
                    sw.WriteLine("    " + wh.GetWords());

                    sw.WriteLine("      ),");
                    sw.WriteLine("    3 => array(");

                    // attributes
                    wh = new WordHolder();
                    foreach (ScriptObject Obj in Info.Objects)
                    {
                        foreach (ScriptAttribute Attr in Obj.Attributes)
                        {
                            if (Attr.Name.StartsWith("[")) continue;
                            wh.AddWord(Attr.Name);
                        }
                    }
                    sw.WriteLine("    " + wh.GetWords());

                    sw.WriteLine("      ),");
                    sw.WriteLine("    4 => array(");
                    sw.WriteLine("      '#region', '#endregion', '#include'");
                    sw.WriteLine("      )");
                    sw.WriteLine("    ),");
                    sw.WriteLine("  'SYMBOLS' => array(");
                    sw.WriteLine("    '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'");
                    sw.WriteLine("    ),");
                    sw.WriteLine("  'CASE_SENSITIVE' => array(");
                    sw.WriteLine("    GESHI_COMMENTS => false,");
                    sw.WriteLine("    1 => true,");
                    sw.WriteLine("    2 => true,");
                    sw.WriteLine("    3 => true,");
                    sw.WriteLine("    4 => true");
                    sw.WriteLine("    ),");
                    sw.WriteLine("  'STYLES' => array(");
                    sw.WriteLine("    'KEYWORDS' => array(");
                    sw.WriteLine("      1 => 'color: #0000FF;',");
                    sw.WriteLine("      2 => 'color: #800000;',");
                    sw.WriteLine("      3 => 'color: #2B91AF;',");
                    sw.WriteLine("      4 => 'color: #800080;'");
                    sw.WriteLine("      ),");
                    sw.WriteLine("    'COMMENTS' => array(");
                    sw.WriteLine("      1 => 'color: #007F00; font-style: italic;',");
                    sw.WriteLine("      'MULTI' => 'color: #007F00; font-style: italic;'");
                    sw.WriteLine("      ),");
                    sw.WriteLine("    'ESCAPE_CHAR' => array(");
                    sw.WriteLine("      0 => 'color: #000000; font-weight: bold;'");
                    sw.WriteLine("      ),");
                    sw.WriteLine("    'BRACKETS' => array(");
                    sw.WriteLine("      0 => 'color: #000000;'");
                    sw.WriteLine("      ),");
                    sw.WriteLine("    'STRINGS' => array(");
                    sw.WriteLine("      0 => 'color: #808080;'");
                    sw.WriteLine("      ),");
                    sw.WriteLine("    'NUMBERS' => array(");
                    sw.WriteLine("      0 => 'color: #CC0000;'");
                    sw.WriteLine("      ),");
                    sw.WriteLine("    'METHODS' => array(");
                    sw.WriteLine("      1 => 'color: #404040;'");
                    sw.WriteLine("      ),");
                    sw.WriteLine("    'SYMBOLS' => array(");
                    sw.WriteLine("      0 => 'color: #66cc66;'");
                    sw.WriteLine("      ),");
                    sw.WriteLine("    'REGEXPS' => array(),");
                    sw.WriteLine("    'SCRIPT' => array()");
                    sw.WriteLine("    ),");
                    sw.WriteLine("  'URLS' => array(");
                    sw.WriteLine("		1 => '',");
                    sw.WriteLine("		2 => 'http://www.google.com/search?q={FNAME}+site:docs.dead-code.org/wme/generated&hl=en&lr=&as_qdr=all&filter=0',");
                    sw.WriteLine("		3 => 'http://www.google.com/search?q={FNAME}+site:docs.dead-code.org/wme/generated&hl=en&lr=&as_qdr=all&filter=0',");
                    sw.WriteLine("		4 => ''");
                    sw.WriteLine("  	),");
                    sw.WriteLine("  'OOLANG' => true,");
                    sw.WriteLine("  'OBJECT_SPLITTERS' => array(");
                    sw.WriteLine("  	1 => '.'");
                    sw.WriteLine("	),");
                    sw.WriteLine("  'REGEXPS' => array(),");
                    sw.WriteLine("  'STRICT_MODE_APPLIES' => GESHI_NEVER,");
                    sw.WriteLine("  'SCRIPT_DELIMITERS' => array(),");
                    sw.WriteLine("  'HIGHLIGHT_STRICT_BLOCK' => array()");
                    sw.WriteLine(");");
                    sw.WriteLine("");
                    sw.WriteLine("?>");
                }
            }
            catch
            {
            }
        }
Пример #16
0
        //////////////////////////////////////////////////////////////////////////
        private void OnGenerate(object sender, EventArgs e)
        {
            if (!Directory.Exists(TxtOutputDir.Text))
            {
                MessageBox.Show("Please specify a valid output directory.", ParentForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            try
            {
                string Filename = Path.Combine(TxtOutputDir.Text, "script.php");

                using (StreamWriter sw = new StreamWriter(Filename, false, Encoding.Default))
                {
                    sw.WriteLine("<?php");
                    sw.WriteLine("/*************************************************************************************");
                    sw.WriteLine("* script.php");
                    sw.WriteLine("* --------------");
                    sw.WriteLine("* WME Script language file for GeSHi.");
                    sw.WriteLine("* Generated by WME Integrator ");
                    sw.WriteLine("************************************************************************************/");
                    sw.WriteLine("");
                    sw.WriteLine("$language_data = array (");
                    sw.WriteLine("  'LANG_NAME' => 'WME Script',");
                    sw.WriteLine("  'COMMENT_SINGLE' => array(1 => '//'),");
                    sw.WriteLine("  'COMMENT_MULTI' => array('/*' => '*/'),");
                    sw.WriteLine("  'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,");
                    sw.WriteLine("  'QUOTEMARKS' => array('\"'),");
                    sw.WriteLine("  'ESCAPE_CHAR' => '~',");
                    sw.WriteLine("  'KEYWORDS' => array(");
                    sw.WriteLine("    1 => array(");

                    WordHolder wh;

                    // keywords
                    wh = new WordHolder();
                    foreach (string Keyword in ScriptTokenizer.Keywords)
                    {
                        wh.AddWord(Keyword);
                    }
                    sw.WriteLine("    " + wh.GetWords());

                    sw.WriteLine("      ),");
                    sw.WriteLine("    2 => array(");

                    // read XML docs
                    ScriptInfo Info = new ScriptInfo();
                    Info.ReadXml(WmeUtils.XmlDocsPath);

                    // methods
                    wh = new WordHolder();
                    foreach (ScriptObject Obj in Info.Objects)
                    {
                        foreach (ScriptMethod Method in Obj.Methods)
                        {
                            foreach (string Header in Method.Headers)
                            {
                                int Brace = Header.IndexOf("(");
                                if (Brace >= 0)
                                {
                                    wh.AddWord(Header.Substring(0, Brace).Trim());
                                }
                            }
                        }
                    }
                    sw.WriteLine("    " + wh.GetWords());

                    sw.WriteLine("      ),");
                    sw.WriteLine("    3 => array(");


                    // attributes
                    wh = new WordHolder();
                    foreach (ScriptObject Obj in Info.Objects)
                    {
                        foreach (ScriptAttribute Attr in Obj.Attributes)
                        {
                            if (Attr.Name.StartsWith("["))
                            {
                                continue;
                            }
                            wh.AddWord(Attr.Name);
                        }
                    }
                    sw.WriteLine("    " + wh.GetWords());

                    sw.WriteLine("      ),");
                    sw.WriteLine("    4 => array(");
                    sw.WriteLine("      '#region', '#endregion', '#include'");
                    sw.WriteLine("      )");
                    sw.WriteLine("    ),");
                    sw.WriteLine("  'SYMBOLS' => array(");
                    sw.WriteLine("    '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'");
                    sw.WriteLine("    ),");
                    sw.WriteLine("  'CASE_SENSITIVE' => array(");
                    sw.WriteLine("    GESHI_COMMENTS => false,");
                    sw.WriteLine("    1 => true,");
                    sw.WriteLine("    2 => true,");
                    sw.WriteLine("    3 => true,");
                    sw.WriteLine("    4 => true");
                    sw.WriteLine("    ),");
                    sw.WriteLine("  'STYLES' => array(");
                    sw.WriteLine("    'KEYWORDS' => array(");
                    sw.WriteLine("      1 => 'color: #0000FF;',");
                    sw.WriteLine("      2 => 'color: #800000;',");
                    sw.WriteLine("      3 => 'color: #2B91AF;',");
                    sw.WriteLine("      4 => 'color: #800080;'");
                    sw.WriteLine("      ),");
                    sw.WriteLine("    'COMMENTS' => array(");
                    sw.WriteLine("      1 => 'color: #007F00; font-style: italic;',");
                    sw.WriteLine("      'MULTI' => 'color: #007F00; font-style: italic;'");
                    sw.WriteLine("      ),");
                    sw.WriteLine("    'ESCAPE_CHAR' => array(");
                    sw.WriteLine("      0 => 'color: #000000; font-weight: bold;'");
                    sw.WriteLine("      ),");
                    sw.WriteLine("    'BRACKETS' => array(");
                    sw.WriteLine("      0 => 'color: #000000;'");
                    sw.WriteLine("      ),");
                    sw.WriteLine("    'STRINGS' => array(");
                    sw.WriteLine("      0 => 'color: #808080;'");
                    sw.WriteLine("      ),");
                    sw.WriteLine("    'NUMBERS' => array(");
                    sw.WriteLine("      0 => 'color: #CC0000;'");
                    sw.WriteLine("      ),");
                    sw.WriteLine("    'METHODS' => array(");
                    sw.WriteLine("      1 => 'color: #404040;'");
                    sw.WriteLine("      ),");
                    sw.WriteLine("    'SYMBOLS' => array(");
                    sw.WriteLine("      0 => 'color: #66cc66;'");
                    sw.WriteLine("      ),");
                    sw.WriteLine("    'REGEXPS' => array(),");
                    sw.WriteLine("    'SCRIPT' => array()");
                    sw.WriteLine("    ),");
                    sw.WriteLine("  'URLS' => array(");
                    sw.WriteLine("		1 => '',");
                    sw.WriteLine("		2 => 'http://www.google.com/search?q={FNAME}+site:docs.dead-code.org/wme/generated&hl=en&lr=&as_qdr=all&filter=0',");
                    sw.WriteLine("		3 => 'http://www.google.com/search?q={FNAME}+site:docs.dead-code.org/wme/generated&hl=en&lr=&as_qdr=all&filter=0',");
                    sw.WriteLine("		4 => ''");
                    sw.WriteLine("  	),");
                    sw.WriteLine("  'OOLANG' => true,");
                    sw.WriteLine("  'OBJECT_SPLITTERS' => array(");
                    sw.WriteLine("  	1 => '.'");
                    sw.WriteLine("	),");
                    sw.WriteLine("  'REGEXPS' => array(),");
                    sw.WriteLine("  'STRICT_MODE_APPLIES' => GESHI_NEVER,");
                    sw.WriteLine("  'SCRIPT_DELIMITERS' => array(),");
                    sw.WriteLine("  'HIGHLIGHT_STRICT_BLOCK' => array()");
                    sw.WriteLine(");");
                    sw.WriteLine("");
                    sw.WriteLine("?>");
                }
            }
            catch
            {
            }
        }