using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.VisualStudio.Package; using Microsoft.VisualStudio.TextManager.Interop; using VsCommands2K = Microsoft.VisualStudio.VSConstants.VSStd2KCmdID; namespace Demo { public class IronyViewFilter : ViewFilter { public IronyViewFilter(CodeWindowManager mgr, IVsTextView view) : base(mgr, view) { } public override void HandlePostExec(ref Guid guidCmdGroup, uint nCmdId, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut, bool bufferWasChanged) { if (guidCmdGroup == typeof(VsCommands2K).GUID) { VsCommands2K cmd = (VsCommands2K)nCmdId; switch (cmd) { case VsCommands2K.UP: case VsCommands2K.UP_EXT: case VsCommands2K.UP_EXT_COL: case VsCommands2K.DOWN: case VsCommands2K.DOWN_EXT: case VsCommands2K.DOWN_EXT_COL: Source.OnCommand(TextView, cmd, '\0'); return; } } base.HandlePostExec(ref guidCmdGroup, nCmdId, nCmdexecopt, pvaIn, pvaOut, bufferWasChanged); } } }