_BufferCoordinatorMappingMode Enumeration

Specifies the buffer coordinator mapping mode for contained languages.

Namespace:  Microsoft.VisualStudio.TextManager.Interop
Assembly:  Microsoft.VisualStudio.TextManager.Interop.8.0 (in Microsoft.VisualStudio.TextManager.Interop.8.0.dll)

Syntax

'Declaration
Public Enumeration _BufferCoordinatorMappingMode
'Usage
Dim instance As _BufferCoordinatorMappingMode
public enum _BufferCoordinatorMappingMode
public enum class _BufferCoordinatorMappingMode
public enum _BufferCoordinatorMappingMode

Members

Member name Description
BCMM_NORMAL Indicates the default mode where the primary span equals the secondary span.
BCMM_EXTENDEDLEFT Indicates the primary span actually has an additional character at the beginning, but only the characters after that additional character are replicated to the secondary span. This mode is used to prevent deletion of text markers when one of the spans collapses into 0 characters, that is, if the user deletes everything in the span range. For example, when the user deletes everything in a script block. In the extended left mode, the primary span includes the '>' from the opening tag <script>. Normally this mode should be changed only when there are no mappings. If the mapping mode is changed when the buffer coordinator already has span mappings, the result is unpredictable.
BCMM_EXTENDEDRIGHT Indicates the primary span actually has an additional character at the end, but only the characters before that additional character are replicated to the secondary span. This mode is used to prevent deletion of text markers when one of the spans collapses into 0 characters, that is, if the user deletes everything in the span range. For example, when the user deletes everything in a script block. In extended right mode, the primary span includes the '<' from the closing tag </script>. Normally this mode should be changed only when there are no mappings. If the mapping mode is changed when the buffer coordinator already has span mappings, the result is unpredictable.
BCMM_EXTENDED A combination of BCMM_EXTENDEDLEFT and BCMM_EXTENDEDRIGHT.
BCMM_ENTIREBUFFER Indicates that the buffer is a single span, so no markers are required. This is a special mode since if one creates a marker to track the entire buffer, the marker will be deleted when the user deletes the contents of the entire buffer and therefore all subsequent marker events are lost. There is no way to create a marker that is wider than the buffer. This mode supersedes any other bit flags set.

Remarks

COM Signature

From singlefileeditor.idl:

enum _BufferCoordinatorMappingMode {
    BCMM_NORMAL        = 0, 
    BCMM_EXTENDEDLEFT  = 0x2,
    BCMM_EXTENDEDRIGHT = 0x1,
    BCMM_EXTENDED      = 0x3,
    BCMM_ENTIREBUFFER  = 0x4 
};
typedef DWORD BufferCoordinatorMappingMode;

The values in this enumeration are passed to the SetBufferMappingModes method in the IVsTextBufferCoordinator interface.

See Also

Reference

Microsoft.VisualStudio.TextManager.Interop Namespace