public SourceWriter WriteCode(IEnumerable <Snippet> snippets) { // compact snippets so vs language service doesn't have to var compacted = new Snippets(snippets.Count()); Snippet prior = null; foreach (var snippet in snippets) { if (prior != null && SnippetAreConnected(prior, snippet)) { prior = new Snippet { Value = prior.Value + snippet.Value, Begin = prior.Begin, End = snippet.End }; continue; } if (prior != null) { compacted.Add(prior); } prior = snippet; } if (prior != null) { compacted.Add(prior); } // write them out and keep mapping-to-spark source information foreach (var snippet in compacted) { if (snippet.Begin != null) { Mappings.Add(new SourceMapping { Source = snippet, OutputBegin = Length, OutputEnd = Length + snippet.Value.Length }); } Write(snippet.Value); } return(this); }
public SourceWriter WriteCode(IEnumerable <Snippet> snippets) { Snippets snippets2 = new Snippets(snippets.Count <Snippet>()); Snippet first = null; foreach (Snippet snippet2 in snippets) { if ((first != null) && SnippetAreConnected(first, snippet2)) { first = new Snippet { Value = first.Value + snippet2.Value, Begin = first.Begin, End = snippet2.End }; } else { if (first != null) { snippets2.Add(first); } first = snippet2; } } if (first != null) { snippets2.Add(first); } foreach (Snippet snippet4 in snippets2) { if (snippet4.Begin != null) { SourceMapping item = new SourceMapping { Source = snippet4, OutputBegin = this.Length, OutputEnd = this.Length + snippet4.Value.Length }; this.Mappings.Add(item); } this.Write(snippet4.Value); } return(this); }
internal static AttributeNode AddMethodCallingToAttributeValue(AttributeNode node, string method) { var snippets = new Snippets {new Snippet {Value = method + "("}}; snippets.AddRange(node.AsCodeInverted()); snippets.Add(new Snippet {Value= ")"}); var builder = new ExpressionBuilder(); builder.AppendExpression(snippets); var listNodes=new List<Node> {new ExpressionNode(snippets)}; return new AttributeNode(node.Name, listNodes); }
private void GetSnippets() { var snippets = new List <Snippet>(); snippets = _snippetRepo.GetAll(); foreach (var snippet in snippets) { var user = _userRepo.GetUserById(snippet.AuthorID); Snippets.Add(snippet, user); } }
public override Snippets ParseFragment(Position begin, Position end) { ParseResult <Snippets> result = this._grammar.Expression(begin.Constrain(end)); int count = result.Rest.PotentialLength(); if (count == 0) { return(result.Value); } Snippets snippets = new Snippets(result.Value); Snippet item = new Snippet { Value = result.Rest.Peek(count), Begin = result.Rest, End = result.Rest.Advance(count) }; snippets.Add(item); return(snippets); }
public bool AddSnippet(object sender, AbstractSnippet snippet) { // Prevents duplicate sources if (Snippets.Contains(snippet)) { return(false); } Snippets.Add(snippet); // Update settings to include newly added snippet var snippetsOfType = Snippets.Where(s => s.GetType() == snippet.GetType()); AppSettings.PutAndSave(GetKey(snippet), snippetsOfType); // Notify listeners that a new snippet was added Listeners.ForEach(listener => listener.SnippetAdded(sender, this, snippet)); return(true); }
public static Snippets AsCode(this AttributeNode attr) { //TODO: recapture original position to get correct files/offsets in the result var position = new Position(new SourceContext(attr.Value)); var result = _grammar.Expression(position); var unparsedLength = result.Rest.PotentialLength(); if (unparsedLength == 0) return result.Value; var snippets = new Snippets(result.Value); snippets.Add(new Snippet { Value = result.Rest.Peek(unparsedLength), Begin = result.Rest, End = result.Rest.Advance(unparsedLength) }); return snippets; }
public override Snippets ParseFragment(Position begin, Position end) { var result = _grammar.Expression(begin.Constrain(end)); var unparsedLength = result.Rest.PotentialLength(); if (unparsedLength == 0) { return(result.Value); } var snippets = new Snippets(result.Value); snippets.Add(new Snippet { Value = result.Rest.Peek(unparsedLength), Begin = result.Rest, End = result.Rest.Advance(unparsedLength) }); return(snippets); }
public async Task snippets(params string[] args) { if (!HasExecutePermission) return; if (args.Length == 0) { EmbedBuilder b = new EmbedBuilder() { Title = "Ticket Snippets", Color = Color.DarkPurple, Description = "To add a snippet:\n`!snippets add <SnippetName> <SnippetValue>`\nTo Remove a snippet:\n`!snippets remove <SnippetName>`" }; foreach(var snip in Snippets) b.AddField(snip.Key, snip.Value); await Context.Channel.SendMessageAsync("", false, b.Build()); } else { if(args.Length >= 2) { switch (args[0].ToLower()) { case "add": { string snip = args[1]; string snipval = string.Join(' ', args.Skip(2)); if (!Snippets.ContainsKey(snip)) { if(snipval.Length > 1024) { await Context.Channel.SendMessageAsync("", false, new EmbedBuilder() { Title = $"wOaH bUddY", Description = $"Your snippet is tooooooo long! try adding one that less than 1000 characters" }.Build()); return; } Snippets.Add(snip, snipval); Global.SaveSnippets(); await Context.Channel.SendMessageAsync("", false, new EmbedBuilder() { Title = $"Added **{snip}**", Description = $"Succesfully added **{snip}** to the snippets" }.Build()); } else { await Context.Channel.SendMessageAsync("", false, new EmbedBuilder() { Title = $"That snippet exists!", Description = $"someone already added that snippet!" }.Build()); } } break; case "remove": { string snip = args[1]; if (Snippets.ContainsKey(snip)) { //remove snippet Snippets.Remove(snip); Global.SaveSnippets(); await Context.Channel.SendMessageAsync("", false, new EmbedBuilder() { Title = $"Removed **{snip}**", Description = $"Successfully removed the snippet {snip}", Color = Color.Green }.Build()); } else { await Context.Channel.SendMessageAsync("", false, new EmbedBuilder() { Title = "uhm.. wat?", Description = "That snippet doesnt exist, please do `!snippets` to view the current snippets!", Color = Color.Red }.Build()); return; } } break; default: { await Context.Channel.SendMessageAsync("", false, new EmbedBuilder() { Title = "uhm.. wat?", Description = "that command is unreconized :/", Color = Color.Red }.Build()); } break; } } } }
public SourceWriter WriteCode(IEnumerable<Snippet> snippets) { // compact snippets so vs language service doesn't have to var compacted = new Snippets(snippets.Count()); Snippet prior = null; foreach (var snippet in snippets) { if (prior != null && SnippetAreConnected(prior, snippet)) { prior = new Snippet { Value = prior.Value + snippet.Value, Begin = prior.Begin, End = snippet.End }; continue; } if (prior != null) compacted.Add(prior); prior = snippet; } if (prior != null) compacted.Add(prior); // write them out and keep mapping-to-spark source information foreach (var snippet in compacted) { if (snippet.Begin != null) { Mappings.Add(new SourceMapping { Source = snippet, OutputBegin = Length, OutputEnd = Length + snippet.Value.Length }); } Write(snippet.Value); } return this; }
public override Snippets ParseFragment(Position begin, Position end) { var result = _grammar.Expression(begin.Constrain(end)); var unparsedLength = result.Rest.PotentialLength(); if (unparsedLength == 0) return result.Value; var snippets = new Snippets(result.Value); snippets.Add(new Snippet { Value = result.Rest.Peek(unparsedLength), Begin = result.Rest, End = result.Rest.Advance(unparsedLength) }); return snippets; }
/// <summary> /// Initializes the code snippets. /// </summary> private void InitializeSnippets() { // "for (|;;)\n{\n}" Snippet forSnippet = new Snippet(); forSnippet.Elements.Add(new SnippetTextElement { Text = "for (" }); forSnippet.Elements.Add(new SnippetCaretElement()); forSnippet.Elements.Add(new SnippetTextElement { Text = ";;)\n{\n}" }); // "if (|)\n{\n}" Snippet ifSnippet = new Snippet(); ifSnippet.Elements.Add(new SnippetTextElement { Text = "if (" }); ifSnippet.Elements.Add(new SnippetCaretElement()); ifSnippet.Elements.Add(new SnippetTextElement { Text = ")\n{\n}" }); // "while (|)\n{\n}" Snippet whileSnippet = new Snippet(); whileSnippet.Elements.Add(new SnippetTextElement { Text = "while (" }); whileSnippet.Elements.Add(new SnippetCaretElement()); whileSnippet.Elements.Add(new SnippetTextElement { Text = ")\n{\n}" }); // "technique |\n{\npass\n{\n}\n}" Snippet techniqueSnippet = new Snippet(); techniqueSnippet.Elements.Add(new SnippetTextElement { Text = "technique " }); techniqueSnippet.Elements.Add(new SnippetCaretElement()); techniqueSnippet.Elements.Add(new SnippetTextElement { Text = "\n{\npass\n{\n}\n}" }); // "pass |\n{\n}" Snippet passSnippet = new Snippet(); passSnippet.Elements.Add(new SnippetTextElement { Text = "pass " }); passSnippet.Elements.Add(new SnippetCaretElement()); passSnippet.Elements.Add(new SnippetTextElement { Text = "\n{\n}" }); SnippetCompletionData[] snippets = { new SnippetCompletionData("for", "for loop", MultiColorGlyphs.Snippet, forSnippet), new SnippetCompletionData("if", "if statement", MultiColorGlyphs.Snippet, ifSnippet), new SnippetCompletionData("while", "while loop", MultiColorGlyphs.Snippet, whileSnippet), new SnippetCompletionData("technique", null, MultiColorGlyphs.Snippet, techniqueSnippet), new SnippetCompletionData("pass", null, MultiColorGlyphs.Snippet, passSnippet), }; foreach (SnippetCompletionData snippet in snippets) { Snippets.Add(snippet.Text, snippet); } }
public void OnAdd(object param) { Snippets.Add(new Snippet()); }