Path: blob/main/src/vs/workbench/contrib/outline/browser/outline.ts
3296 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { RawContextKey } from '../../../../platform/contextkey/common/contextkey.js';6import type { IView } from '../../../common/views.js';78export const enum OutlineSortOrder {9ByPosition,10ByName,11ByKind12}1314export interface IOutlineViewState {15followCursor: boolean;16filterOnType: boolean;17sortBy: OutlineSortOrder;18}1920export namespace IOutlinePane {21export const Id = 'outline';22}2324export interface IOutlinePane extends IView {25outlineViewState: IOutlineViewState;26collapseAll(): void;27expandAll(): void;28}2930// --- context keys3132export const ctxFollowsCursor = new RawContextKey<boolean>('outlineFollowsCursor', false);33export const ctxFilterOnType = new RawContextKey<boolean>('outlineFiltersOnType', false);34export const ctxSortMode = new RawContextKey<OutlineSortOrder>('outlineSortMode', OutlineSortOrder.ByPosition);35export const ctxAllCollapsed = new RawContextKey<boolean>('outlineAllCollapsed', false);36export const ctxFocused = new RawContextKey<boolean>('outlineFocused', true);373839