using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
using System.Xml.Serialization;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
XmlSerializer serializer = new XmlSerializer(typeof(NotepadPlus));
NotepadPlus pawnDeserialized;
StreamReader streamReader = new StreamReader("pawn.xml");
using (XmlReader xmlReader = XmlReader.Create(streamReader))
{
pawnDeserialized = (NotepadPlus)serializer.Deserialize(xmlReader);
}
int i = 1;
using (System.IO.StreamWriter file = new System.IO.StreamWriter("pawn.sublime-temp"))
{
foreach (var e in pawnDeserialized.Items)
{
foreach (var x in e.KeyWord)
{
if (x.func != null)
{
file.Write("{ \"trigger\": " + "\"" + x.name);
if (x.Overload != null)
{
foreach (var c in x.Overload)
{
file.Write("\\t" + c.descr + "\", " + "\"contents\": \""+ x.name + "(");
foreach (var p in c.Param)
{
int cn = c.Param.Count();
if (p.name != "" && cn != 0)
{
file.Write("${" + i + ":" + p.name);
file.Write(cn != i ? "}, " : "}");
i++;
}
}
}
}
i = 1;
file.Write(")\" },\n");
}
}
}
}
Console.WriteLine("Jobs done!");
/* EXTRACT functions to function.txt
var xdoc = XDocument.Load("pawn.xml");
var keyWord = from e in xdoc.Descendants("KeyWord")
select new
{
name = e.Attribute("name"),
isFunc = e.Attribute("func"),
};
using (System.IO.StreamWriter file = new System.IO.StreamWriter("function.txt"))
{
foreach (var functions in keyWord)
{
if (functions.isFunc != null)
{
Console.WriteLine("Function name: " + functions.name.Value);
file.Write(functions.name.Value + "|");
}
}
}
*/
Console.ReadLine();
}
}
}
Comments