Ejemplo n.º 1
0
        /*
         * public static void SaveTemplates ()
         * {
         *      if (!Directory.Exists (TemplatePath))
         *              Directory.CreateDirectory (TemplatePath);
         *      foreach (string templateFile in Directory.GetFiles (TemplatePath, "*.xml")) {
         *              File.Delete (templateFile);
         *      }
         *      foreach (CodeTemplate template in templates) {
         *              if (string.IsNullOrEmpty (template.Shortcut)) {
         *                      LoggingService.LogError ("CodeTemplateService: Can't save unnamed template " + template);
         *                      continue;
         *              }
         *              SaveTemplate (template, Path.Combine (TemplatePath, template.Shortcut + ".template.xml"));
         *      }
         * }*/

        static List <CodeTemplate> LoadTemplates(XmlReader reader)
        {
            List <CodeTemplate> result = new List <CodeTemplate> ();

            try {
                while (reader.Read())
                {
                    if (reader.IsStartElement())
                    {
                        switch (reader.LocalName)
                        {
                        case Node:
                            string fileVersion = reader.GetAttribute(VersionAttribute);
                            if (fileVersion != Version)
                            {
                                return(null);
                            }
                            break;

                        case CodeTemplate.Node:
                            result.Add(CodeTemplate.Read(reader));
                            break;
                        }
                    }
                }
            } catch {           // (Exception e) {
                //	LoggingService.LogError ("CodeTemplateService: Exception while loading template.", e);
                return(null);
            } finally {
                reader.Close();
            }
            return(result);
        }
Ejemplo n.º 2
0
 public static void SaveTemplate(CodeTemplate template)
 {
     if (!Directory.Exists(MainClass.Paths.TemplateDir))
     {
         Directory.CreateDirectory(MainClass.Paths.TemplateDir);
     }
     SaveTemplate(template, Path.Combine(MainClass.Paths.TemplateDir, template.Shortcut + ".template.xml"));
 }
Ejemplo n.º 3
0
 //Document doc,
 public CodeTemplateCompletionData( CodeTemplate template,TextEditor editor)
 {
     this.editor      = editor;
     this.template = template;
     this.CompletionText = template.Code ;
     this.Icon        = template.Icon;
     this.DisplayText = template.Shortcut;
     this.Description = template.Shortcut + Environment.NewLine + template.Description;
 }
Ejemplo n.º 4
0
 public CodeTemplateCompletionData(CodeTemplate template, TextEditor editor)         //Document doc,
 {
     this.editor         = editor;
     this.template       = template;
     this.CompletionText = template.Code;
     this.Icon           = template.Icon;
     this.DisplayText    = template.Shortcut;
     this.Description    = template.Shortcut + Environment.NewLine + template.Description;
 }
Ejemplo n.º 5
0
        static void SaveTemplate(CodeTemplate template, string fileName)
        {
            XmlTextWriter writer = new XmlTextWriter(fileName, System.Text.Encoding.UTF8);

            writer.Formatting = Formatting.Indented;

            try {
                writer.WriteStartDocument();
                writer.WriteStartElement(Node);
                writer.WriteAttributeString(VersionAttribute, Version);
                template.Write(writer);
                writer.WriteEndElement();                  // Node
            } finally {
                writer.Close();
            }
        }
Ejemplo n.º 6
0
        public static CodeTemplate Read(XmlReader reader)
        {
            Debug.Assert (reader.LocalName == Node);

            CodeTemplate result = new CodeTemplate ();

            XmlReadHelper.ReadList (reader, Node, delegate () {
                //Console.WriteLine (reader.LocalName);
                switch (reader.LocalName) {
                case HeaderNode:
                    XmlReadHelper.ReadList (reader, HeaderNode, delegate () {
                        switch (reader.LocalName) {
                        case GroupNode:
                            result.Group = reader.ReadElementContentAsString ();
                            return true;
                        case VersionNode:
                            result.Version = reader.ReadElementContentAsString ();
                            return true;
                        case MimeNode:
                            result.MimeType = reader.ReadElementContentAsString ();
                            return true;
                        case ContextNode:
                            result.CodeTemplateContext = (CodeTemplateContext)Enum.Parse (typeof (CodeTemplateContext), reader.ReadElementContentAsString ());
                            return true;
                        case ShortcutNode:
                            result.Shortcut = reader.ReadElementContentAsString ();
                            return true;
                        case DescriptionNode:
                            result.Description = reader.ReadElementContentAsString ();
                            return true;
                        case TemplateTypeNode:
                            result.CodeTemplateType = (CodeTemplateType)Enum.Parse (typeof (CodeTemplateType), reader.ReadElementContentAsString ());
                            return true;
                        }
                        return false;
                    });
                    return true;
                case VariablesNode:
                    XmlReadHelper.ReadList (reader, VariablesNode, delegate () {
                        //Console.WriteLine ("var:" + reader.LocalName);
                        switch (reader.LocalName) {
                        case CodeTemplateVariable.Node:
                            CodeTemplateVariable var = CodeTemplateVariable.Read (reader);
                            result.variableDecarations [var.Name] = var;
                            return true;
                        }
                        return false;
                    });
                    return true;
                case CodeNode:
                    result.Code = reader.ReadElementContentAsString ();
                    return true;
                }
                return false;
            });
            //Console.WriteLine ("result:" + result);
            return result;
        }
Ejemplo n.º 7
0
        static void SaveTemplate(CodeTemplate template, string fileName)
        {
            XmlTextWriter writer = new XmlTextWriter (fileName, System.Text.Encoding.UTF8);
            writer.Formatting = Formatting.Indented;

            try {
                writer.WriteStartDocument ();
                writer.WriteStartElement (Node);
                writer.WriteAttributeString (VersionAttribute, Version);
                template.Write (writer);
                writer.WriteEndElement (); // Node
            } finally {
                writer.Close ();
            }
        }
Ejemplo n.º 8
0
 public static void SaveTemplate(CodeTemplate template)
 {
     if (!Directory.Exists (MainClass.Paths.TemplateDir))
         Directory.CreateDirectory (MainClass.Paths.TemplateDir);
     SaveTemplate (template, Path.Combine (MainClass.Paths.TemplateDir, template.Shortcut + ".template.xml"));
 }
Ejemplo n.º 9
0
        public static CodeTemplate Read(XmlReader reader)
        {
            Debug.Assert(reader.LocalName == Node);

            CodeTemplate result = new CodeTemplate();

            XmlReadHelper.ReadList(reader, Node, delegate() {
                //Console.WriteLine (reader.LocalName);
                switch (reader.LocalName)
                {
                case HeaderNode:
                    XmlReadHelper.ReadList(reader, HeaderNode, delegate() {
                        switch (reader.LocalName)
                        {
                        case GroupNode:
                            result.Group = reader.ReadElementContentAsString();
                            return(true);

                        case VersionNode:
                            result.Version = reader.ReadElementContentAsString();
                            return(true);

                        case MimeNode:
                            result.MimeType = reader.ReadElementContentAsString();
                            return(true);

                        case ContextNode:
                            result.CodeTemplateContext = (CodeTemplateContext)Enum.Parse(typeof(CodeTemplateContext), reader.ReadElementContentAsString());
                            return(true);

                        case ShortcutNode:
                            result.Shortcut = reader.ReadElementContentAsString();
                            return(true);

                        case DescriptionNode:
                            result.Description = reader.ReadElementContentAsString();
                            return(true);

                        case TemplateTypeNode:
                            result.CodeTemplateType = (CodeTemplateType)Enum.Parse(typeof(CodeTemplateType), reader.ReadElementContentAsString());
                            return(true);
                        }
                        return(false);
                    });
                    return(true);

                case VariablesNode:
                    XmlReadHelper.ReadList(reader, VariablesNode, delegate() {
                        //Console.WriteLine ("var:" + reader.LocalName);
                        switch (reader.LocalName)
                        {
                        case CodeTemplateVariable.Node:
                            CodeTemplateVariable var = CodeTemplateVariable.Read(reader);
                            result.variableDecarations [var.Name] = var;
                            return(true);
                        }
                        return(false);
                    });
                    return(true);

                case CodeNode:
                    result.Code = reader.ReadElementContentAsString();
                    return(true);
                }
                return(false);
            });
            //Console.WriteLine ("result:" + result);
            return(result);
        }