IEnumerable <SnippetInfo> ISnippetInfoService.GetSnippetsIfAvailable()
 {
     foreach (var template in CodeTemplateService.GetCodeTemplates(CSharp.Formatting.CSharpFormatter.MimeType))
     {
         yield return(new SnippetInfo(template.Shortcut, template.Shortcut, template.Description, template.Group));
     }
 }
		public bool DoInsertTemplate ()
		{
			string word = CodeTemplate.GetWordBeforeCaret (textEditorData);
			foreach (CodeTemplate template in CodeTemplateService.GetCodeTemplates (CSharpFormatter.MimeType)) {
				if (template.Shortcut == word)
					return true;
			}
			return false;
		}
 bool ISnippetInfoService.SnippetShortcutExists_NonBlocking(string shortcut)
 {
     foreach (var template in CodeTemplateService.GetCodeTemplates(CSharp.Formatting.CSharpFormatter.MimeType))
     {
         if (template.Shortcut == shortcut)
         {
             return(true);
         }
     }
     return(false);
 }
        public bool DoInsertTemplate()
        {
            string word = CodeTemplate.GetTemplateShortcutBeforeCaret(Editor);

            foreach (CodeTemplate template in CodeTemplateService.GetCodeTemplates(CSharpFormatter.MimeType))
            {
                if (template.Shortcut == word)
                {
                    return(true);
                }
            }
            return(false);
        }
        public bool DoInsertTemplate()
        {
            string word = GetWordBeforeCaret();

            foreach (CodeTemplate template in CodeTemplateService.GetCodeTemplates(Document.MimeType))
            {
                if (template.Shortcut == word)
                {
                    InsertTemplate(template, view.WorkbenchWindow.Document);
                    return(true);
                }
            }
            return(false);
        }
        public bool DoInsertTemplate()
        {
            string shortcut = CodeTemplate.GetTemplateShortcutBeforeCaret(EditorExtension.Editor);

            foreach (CodeTemplate template in CodeTemplateService.GetCodeTemplates(Document.MimeType))
            {
                if (template.Shortcut == shortcut)
                {
                    InsertTemplate(template, view.WorkbenchWindow.Document.Editor, view.WorkbenchWindow.Document);
                    return(true);
                }
            }
            return(false);
        }
Example #7
0
        public IEnumerable <ExpansionTemplate> EnumerateExpansions(IContentType contentType, bool shortcutOnly, string[] snippetTypes, bool includeNullType, bool includeDuplicates)
        {
            List <ExpansionTemplate> templates = null;

            lock (expansionTemplates) {
                if (expansionTemplates.TryGetValue(contentType, out templates))
                {
                    return(templates);
                }
            }

            templates = new List <ExpansionTemplate> ();

            foreach (var codeTemplate in CodeTemplateService.GetCodeTemplates(
                         IdeServices.DesktopService.GetMimeTypeForContentType(contentType)))
            {
                try {
                    templates.Add(Convert(codeTemplate));
                } catch (Exception e) {
                    LoggingService.LogError("Exception converting Snippet to VS Expansion Template", e);
                }
            }

            if (Directory.Exists(UserSnippetsPath))
            {
                try {
                    foreach (var snippetFile in Directory.EnumerateFiles(UserSnippetsPath, "*.snippet"))
                    {
                        try {
                            templates.Add(new ExpansionTemplate(snippetFile));
                        } catch (Exception parseException) {
                            LoggingService.LogError(
                                $"Unable to parse VS Expansion template: {snippetFile}",
                                parseException);
                        }
                    }
                } catch (Exception enumerateException) {
                    LoggingService.LogError(
                        $"Exception enumerating snippets directory: {UserSnippetsPath}",
                        enumerateException);
                }
            }

            lock (expansionTemplates)
                expansionTemplates[contentType] = templates;

            return(templates);
        }
        public bool IsTemplateKnown()
        {
            string word   = GetWordBeforeCaret();
            bool   result = false;

            foreach (CodeTemplate template in CodeTemplateService.GetCodeTemplates(Document.MimeType))
            {
                if (template.Shortcut == word)
                {
                    result = true;
                }
                else if (template.Shortcut.StartsWith(word))
                {
                    result = false;
                    break;
                }
            }
            return(result);
        }
        public bool IsTemplateKnown()
        {
            string shortcut = CodeTemplate.GetTemplateShortcutBeforeCaret(EditorExtension.Editor);
            bool   result   = false;

            foreach (CodeTemplate template in CodeTemplateService.GetCodeTemplates(Document.MimeType))
            {
                if (template.Shortcut == shortcut)
                {
                    result = true;
                }
                else if (template.Shortcut.StartsWith(shortcut))
                {
                    result = false;
                    break;
                }
            }
            return(result);
        }