public DefaultDirectiveDescriptorBuilder(string name, DirectiveKind kind) { Directive = name; Kind = kind; Tokens = new List <DirectiveTokenDescriptor>(); }
/// <summary> /// Creates a new <see cref="DirectiveDescriptor"/>. /// </summary> /// <param name="directive">The directive keyword.</param> /// <param name="kind">The directive kind.</param> /// <returns>A <see cref="DirectiveDescriptor"/> for the created directive.</returns> public static DirectiveDescriptor CreateDirective(string directive, DirectiveKind kind) { if (directive == null) { throw new ArgumentNullException(nameof(directive)); } return(CreateDirective(directive, kind, configure: null)); }
private static IReadOnlyCollection<string> GetDirectiveCommitCharacters(DirectiveKind directiveKind) { switch (directiveKind) { case DirectiveKind.CodeBlock: case DirectiveKind.RazorBlock: return BlockDirectiveCommitCharacters; default: return SingleLineDirectiveCommitCharacters; } }
/// <summary> /// Creates a new <see cref="DirectiveDescriptor"/>. /// </summary> /// <param name="directive">The directive keyword.</param> /// <param name="kind">The directive kind.</param> /// <param name="configure">A configuration delegate for the directive.</param> /// <returns>A <see cref="DirectiveDescriptor"/> for the created directive.</returns> public static DirectiveDescriptor CreateDirective(string directive, DirectiveKind kind, Action <IDirectiveDescriptorBuilder> configure) { if (directive == null) { throw new ArgumentNullException(nameof(directive)); } var builder = new DefaultDirectiveDescriptorBuilder(directive, kind); configure?.Invoke(builder); return(builder.Build()); }
public DefaultDirectiveDescriptor( string directive, DirectiveKind kind, DirectiveUsage usage, DirectiveTokenDescriptor[] tokens, string displayName, string description) { Directive = directive; Kind = kind; Usage = usage; Tokens = tokens; DisplayName = displayName; Description = description; }
private static IReadOnlyList <RazorCommitCharacter> GetDirectiveCommitCharacters(DirectiveKind directiveKind) { return(directiveKind switch { DirectiveKind.CodeBlock or DirectiveKind.RazorBlock => BlockDirectiveCommitCharacters, _ => SingleLineDirectiveCommitCharacters, });