// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
namespace Microsoft.VisualStudio.LanguageServices.Xaml.Features.Completion
{
///
/// An enum to identify what kind of completion a given Completion
/// represents.
///
public enum XamlCompletionKind
{
///
/// The completion represents a value.
///
Element,
///
/// The completion represents an attribute.
///
Attribute,
///
/// The completion represents an attribute value.
///
Value,
///
/// The completion represents a property element.
///
PropertyElement,
///
/// The completion represents a XML namespace prefix.
///
Prefix,
///
/// The completion represents a an event.
///
Event,
///
/// The completion represents a comment;
///
Comment,
///
/// This completion represents a CDATA
///
CData,
///
/// The completion represents a processing instruction.
///
ProcessingInstruction,
///
/// The completion represents an end tag.
///
EndTag,
///
/// The completion represents a type prefix for an attached property
/// or property elements (i.e. "Grid.").
///
TypePrefix,
///
/// The completion is returned for event handler values indicating
/// that the language service expects the name of an event handler.
/// The description of the event handler is found in
/// EventDescription property.
///
EventHandlerDescription,
///
/// The completion represents the type of a MarkupExtension.
///
MarkupExtensionClass,
///
/// The completion represents the name of a MarkupExtension parameter.
///
MarkupExtensionParameter,
///
/// The completion represents the value of a MarkupExtension parameter.
///
MarkupExtensionValue,
///
/// The completion represents a type for an attached property in the Property Completion.
/// (i.e. "Grid.").
///
Type,
///
/// The completion represents a value for Property attribute in Styles. (These are direct DPs on TargetTypes).
/// (i.e. "Grid.Background").
///
PropertyValue,
///
/// The completion represents a value for Property attribute in Styles. (These are APs on types).
/// (i.e. "Grid.Row").
///
AttachedPropertyValue,
///
/// The completion represents a type within for Property attribute in Styles. (These are the types that for APs).
/// (i.e. "Grid.Row").
///
AttachedPropertyTypePrefix,
///
/// The completion represents a local resource.
///
LocalResource,
///
/// The completion represents a system resource.
///
SystemResource,
///
/// The completion represents a property from the schema generated from a data source.
///
DataBoundProperty,
///
/// The completion represents the name of an element in the current scope.
///
ElementName,
///
/// The completion represents a namespace value. For instance, xmlns:local="Completion"
///
NamespaceValue,
///
/// The completion represents a condition value in a namespace. For instance, xmlns:local="namespace?Completion"
///
ConditionValue,
///
/// The completion represents a conditional argument value in a namespace. For instance, xmlns:local="namespace?Condition(Completion)"
///
ConditionalArgument,
///
/// A completion that cannot legally be used, but is shown for sake of user-education or
/// completeness. Example would be the phone Pivot control in a shared Mercury XAML file:
/// this type cannot be legally used in a shared context, but we want to show it as it
/// is a core phone type.
///
Unusable,
///
/// The completion represents #region for XAML
///
RegionStart,
///
/// The completion represents #endregion for XAML
///
RegionEnd,
///
/// The completion represents a snippet for XAML
///
Snippet,
///
/// The completion represents a method
///
Method,
}
}