bool ICommandHandler <ToggleAllOutliningCommandArgs> .ExecuteCommand(ToggleAllOutliningCommandArgs args, CommandExecutionContext executionContext) { var outliningManager = outliningManagerService.GetOutliningManager(args.TextView); if (outliningManager == null || !outliningManager.Enabled) { return(false); } var snapshot = args.TextView.TextBuffer.CurrentSnapshot; var snapshotSpan = new SnapshotSpan(snapshot, 0, snapshot.Length); if (outliningManager.GetCollapsedRegions(snapshotSpan).Any()) { outliningManager.ExpandAll(snapshotSpan, collapsed => true); } else { outliningManager.CollapseAll(snapshotSpan, collapsed => true); } args.TextView.Caret.EnsureVisible(); return(true); }
CommandState ICommandHandler <ToggleAllOutliningCommandArgs> .GetCommandState(ToggleAllOutliningCommandArgs args) { return(outliningManagerService.GetOutliningManager(args.TextView) is IOutliningManager mgr && mgr.Enabled ? CommandState.Available : CommandState.Unavailable); }