{
    "extensions": [
        {
            "type": "view",
            "location": "panel",
            "id": "sources",
            "title": "Sources",
            "order": 30,
            "className": "Sources.SourcesPanel"
        },
        {
            "type": "@UI.ContextMenu.Provider",
            "contextTypes": ["Workspace.UISourceCode", "Workspace.UILocation", "SDK.RemoteObject", "SDK.NetworkRequest", "Sources.UISourceCodeFrame"],
            "className": "Sources.SourcesPanel"
        },
        {
            "type": "@UI.ActionDelegate",
            "category": "Debugger",
            "actionId": "debugger.toggle-pause",
            "iconClass": "largeicon-pause",
            "toggledIconClass": "largeicon-resume",
            "className": "Sources.SourcesPanel.RevealingActionDelegate",
            "contextTypes": ["Sources.SourcesPanel", "UI.ShortcutRegistry.ForwardedShortcut"],
            "options": [
                { "value": true, "title": "Pause script execution" },
                { "value": false, "title": "Resume script execution" }
            ],
            "bindings": [
                {
                    "platform": "windows,linux",
                    "shortcut": "F8 Ctrl+\\"
                },
                {
                    "platform": "mac",
                    "shortcut": "F8 Meta+\\"
                }
            ]
        },
        {
            "type": "@UI.ActionDelegate",
            "actionId": "debugger.step-over",
            "className": "Sources.SourcesPanel.DebuggingActionDelegate",
            "title": "Step over next function call",
            "iconClass": "largeicon-step-over",
            "contextTypes": ["Sources.SourcesPanel"],
            "bindings": [
                {
                    "platform": "windows,linux",
                    "shortcut": "F10 Ctrl+'"
                },
                {
                    "platform": "mac",
                    "shortcut": "F10 Meta+'"
                }
            ]
        },
        {
            "type": "@UI.ActionDelegate",
            "actionId": "debugger.step-into",
            "className": "Sources.SourcesPanel.DebuggingActionDelegate",
            "title": "Step into next function call",
            "iconClass": "largeicon-step-in",
            "contextTypes": ["Sources.SourcesPanel"],
            "bindings": [
                {
                    "platform": "windows,linux",
                    "shortcut": "F11 Ctrl+;"
                },
                {
                    "platform": "mac",
                    "shortcut": "F11 Meta+;"
                }
            ]
        },
        {
            "type": "@UI.ActionDelegate",
            "actionId": "debugger.step-out",
            "className": "Sources.SourcesPanel.DebuggingActionDelegate",
            "title": "Step out of current function",
            "iconClass": "largeicon-step-out",
            "contextTypes": ["Sources.SourcesPanel"],
            "bindings": [
                {
                    "platform": "windows,linux",
                    "shortcut": "Shift+F11 Shift+Ctrl+;"
                },
                {
                    "platform": "mac",
                    "shortcut": "Shift+F11 Shift+Meta+;"
                }
            ]
        },
        {
            "type": "@UI.ActionDelegate",
            "actionId": "debugger.run-snippet",
            "className": "Sources.SourcesPanel.DebuggingActionDelegate",
            "title": "Run snippet",
            "iconClass": "largeicon-play",
            "contextTypes": ["Sources.SourcesPanel"],
            "bindings": [
                {
                    "platform": "windows,linux",
                    "shortcut": "Ctrl+Enter"
                },
                {
                    "platform": "mac",
                    "shortcut": "Meta+Enter"
                }
            ]
        },
        {
            "type": "@UI.ActionDelegate",
            "actionId": "sources.search.toggle",
            "title": "Search all files",
            "className": "Sources.AdvancedSearchView.ActionDelegate",
            "category": "DevTools",
            "bindings": [
                {
                    "platform": "mac",
                    "shortcut": "Meta+Alt+F"
                },
                {
                    "platform": "windows,linux",
                    "shortcut": "Ctrl+Shift+F"
                }
            ]
        },
        {
            "type": "@UI.ActionDelegate",
            "category": "Debugger",
            "actionId": "debugger.toggle-breakpoints-active",
            "iconClass": "largeicon-deactivate-breakpoints",
            "toggledIconClass": "largeicon-activate-breakpoints",
            "className": "Sources.SourcesPanel.DebuggingActionDelegate",
            "contextTypes": ["Sources.SourcesPanel"],
            "options": [
                { "value": true, "title": "Deactivate breakpoints" },
                { "value": false, "title": "Activate breakpoints" }
            ],
            "bindings": [
                {
                    "platform": "windows,linux",
                    "shortcut": "Ctrl+F8"
                },
                {
                    "platform": "mac",
                    "shortcut": "Meta+F8"
                }
            ]
        },
        {
            "type": "@UI.ActionDelegate",
            "actionId": "sources.add-to-watch",
            "className": "Sources.WatchExpressionsSidebarPane",
            "title": "Add selected text to watches",
            "contextTypes": ["Sources.UISourceCodeFrame"],
            "bindings": [
                {
                    "shortcut": "Ctrl+Shift+A'"
                }
            ]
        },
        {
            "type": "@UI.ContextMenu.Provider",
            "contextTypes": ["TextEditor.CodeMirrorTextEditor"],
            "className": "Sources.WatchExpressionsSidebarPane"
        },
        {
            "type": "@UI.ActionDelegate",
            "actionId": "debugger.evaluate-selection",
            "className": "Sources.SourcesPanel.DebuggingActionDelegate",
            "title": "Evaluate in console",
            "contextTypes": ["Sources.UISourceCodeFrame"],
            "bindings": [
                {
                    "shortcut": "Ctrl+E'"
                }
            ]
        },
        {
            "type": "context-menu-item",
            "location": "mainMenu/navigate",
            "actionId": "sources.search.toggle"
        },
        {
            "type": "context-menu-item",
            "location": "navigatorMenu/navigate",
            "actionId": "sources.go-to-source"
        },
        {
            "type": "@Common.Revealer",
            "contextTypes": ["Workspace.UILocation"],
            "className": "Sources.SourcesPanel.UILocationRevealer"
        },
        {
            "type": "@Common.Revealer",
            "contextTypes": ["SDK.DebuggerModel.Location"],
            "className": "Sources.SourcesPanel.DebuggerLocationRevealer"
        },
        {
            "type": "@Common.Revealer",
            "contextTypes": ["Workspace.UISourceCode"],
            "className": "Sources.SourcesPanel.UISourceCodeRevealer"
        },
        {
            "type": "@Common.Revealer",
            "contextTypes": ["SDK.DebuggerPausedDetails"],
            "className": "Sources.SourcesPanel.DebuggerPausedDetailsRevealer"
        },
        {
            "type": "@Sources.SourcesView.EditorAction",
            "className": "Sources.InplaceFormatterEditorAction"
        },
        {
            "type": "@Sources.SourcesView.EditorAction",
            "className": "Sources.ScriptFormatterEditorAction"
        },
        {
            "type": "view",
            "location": "navigator-view",
            "id": "navigator-sources",
            "title": "Sources",
            "order": 1,
            "persistence": "permanent",
            "className": "Sources.SourcesNavigatorView",
            "experiment": "!persistence2"
        },
        {
            "type": "view",
            "location": "navigator-view",
            "id": "navigator-network",
            "title": "Network",
            "order": 2,
            "persistence": "permanent",
            "className": "Sources.NetworkNavigatorView",
            "experiment": "persistence2"
        },
        {
            "type": "view",
            "location": "navigator-view",
            "id": "navigator-files",
            "title": "Filesystem",
            "order": 3,
            "persistence": "permanent",
            "className": "Sources.FilesNavigatorView",
            "experiment": "persistence2"
        },
        {
            "type": "view",
            "location": "navigator-view",
            "id": "navigator-contentScripts",
            "title": "Content scripts",
            "order": 4,
            "persistence": "permanent",
            "condition": "false",
            "className": "Sources.ContentScriptsNavigatorView"
        },
        {
            "type": "view",
            "location": "navigator-view",
            "id": "navigator-snippets",
            "title": "Snippets",
            "order": 5,
            "persistence": "permanent",
            "condition": "false",
            "className": "Sources.SnippetsNavigatorView"
        },
        {
            "type": "@Sources.NavigatorView",
            "viewId": "navigator-sources",
            "className": "Sources.SourcesNavigatorView",
            "experiment": "!persistence2"
        },
        {
            "type": "@Sources.NavigatorView",
            "viewId": "navigator-network",
            "className": "Sources.NetworkNavigatorView",
            "experiment": "persistence2"
        },
        {
            "type": "@Sources.NavigatorView",
            "viewId": "navigator-files",
            "className": "Sources.FilesNavigatorView",
            "experiment": "persistence2"
        },
        {
            "type": "@Sources.NavigatorView",
            "viewId": "navigator-contentScripts",
            "className": "Sources.ContentScriptsNavigatorView"
        },
        {
            "type": "@Sources.NavigatorView",
            "viewId": "navigator-snippets",
            "className": "Sources.SnippetsNavigatorView"
        },
        {
            "type": "@UI.ActionDelegate",
            "actionId": "sources.go-to-source",
            "title": "Go to file...",
            "className": "Sources.SourcesPanel.RevealingActionDelegate",
            "order": 100,
            "bindings": [
                {
                    "platform": "mac",
                    "shortcut": "Meta+P Meta+O"
                },
                {
                    "platform": "windows,linux",
                    "shortcut": "Ctrl+P Ctrl+O"
                }
            ]
        },
        {
            "type": "@UI.ActionDelegate",
            "actionId": "sources.switch-file",
            "className": "Sources.SourcesView.SwitchFileActionDelegate",
            "contextTypes": ["Sources.SourcesView"],
            "bindings": [
                {
                    "shortcut": "Alt+O"
                }
            ]
        },
        {
            "type": "setting",
            "settingName": "navigatorGroupByFolder",
            "settingType": "boolean",
            "defaultValue": "true"
        },
        {
            "type": "setting",
            "category": "Sources",
            "title": "Search in content scripts",
            "settingName": "searchInContentScripts",
            "settingType": "boolean",
            "defaultValue": false
        },
        {
            "type": "setting",
            "category": "Sources",
            "title": "Automatically reveal files in navigator",
            "settingName": "autoRevealInNavigator",
            "settingType": "boolean",
            "defaultValue": false
        },
        {
            "type": "setting",
            "category": "Sources",
            "title": "Enable JavaScript source maps",
            "settingName": "jsSourceMapsEnabled",
            "settingType": "boolean",
            "defaultValue": true
        },
        {
            "type": "setting",
            "category": "Sources",
            "title": "Detect indentation",
            "settingName": "textEditorAutoDetectIndent",
            "settingType": "boolean",
            "defaultValue": true
        },
        {
            "type": "setting",
            "category": "Sources",
            "title": "Autocompletion",
            "settingName": "textEditorAutocompletion",
            "settingType": "boolean",
            "defaultValue": true
        },
        {
            "type": "setting",
            "category": "Sources",
            "title": "Bracket matching",
            "settingName": "textEditorBracketMatching",
            "settingType": "boolean",
            "defaultValue": true
        },
        {
            "type": "setting",
            "category": "Sources",
            "title": "Show whitespace characters:",
            "settingName": "showWhitespacesInEditor",
            "settingType": "enum",
            "defaultValue": "original",
            "options": [
                { "title": "Do not show whitespace characters", "text": "None", "value": "none" },
                { "title": "Show all whitespace characters", "text": "All", "value": "all" },
                { "title": "Show trailing whitespace characters", "text": "Trailing", "value": "trailing" }
            ]
        },
        {
            "type": "setting",
            "category": "Sources",
            "title": "Display variable values inline while debugging",
            "settingName": "inlineVariableValues",
            "settingType": "boolean",
            "defaultValue": true
        },
        {
            "type": "setting",
            "category": "Sources",
            "title": "Enable CSS source maps",
            "settingName": "cssSourceMapsEnabled",
            "settingType": "boolean",
            "defaultValue": true
        },
        {
            "type": "view",
            "location": "drawer-view",
            "id": "sources.search",
            "title": "Search",
            "persistence": "closeable",
            "order": 100,
            "condition": "false",
            "className": "Sources.AdvancedSearchView"
        },
        {
            "type": "view",
            "location": "drawer-view",
            "id": "sources.history",
            "title": "History",
            "persistence": "transient",
            "condition": "false",
            "className": "Sources.RevisionHistoryView"
        },
        {
            "type": "view",
            "location": "drawer-view",
            "id": "sources.quick",
            "title": "Quick source",
            "persistence": "closeable",
            "order": 1000,
            "className": "Sources.SourcesPanel.WrapperView"
        },
        {
            "type": "@UI.ActionDelegate",
            "category": "Sources",
            "actionId": "sources.close-all",
            "className": "Sources.SourcesView.CloseAllActionDelegate",
            "title": "Close All"
        },
        {
            "type": "@UI.ViewLocationResolver",
            "name": "navigator-view",
            "className": "Sources.SourcesPanel"
        },
        {
            "type": "@UI.ViewLocationResolver",
            "name": "sources-sidebar",
            "className": "Sources.SourcesPanel"
        },
        {
            "type": "view",
            "location": "sources-sidebar",
            "id": "sources.xhrBreakpoints",
            "title": "Custom Breakpoints",
            "order": 5,
            "hasToolbar": "true",
            "persistence": "permanent",
            "className": "Sources.XHRBreakpointsSidebarPane"
        },
        {
            "type": "view",
            "location": "sources-sidebar",
            "id": "sources.domBreakpoints",
            "title": "DOM Breakpoints",
            "order": 7,
            "persistence": "permanent",
            "condition": "false",
            "factoryName": "Components.DOMBreakpointsSidebarPane.Proxy"
        },
        {
            "type": "view",
            "location": "sources-sidebar",
            "id": "sources.globalListeners",
            "title": "Global Listeners",
            "order": 8,
            "hasToolbar": "true",
            "persistence": "permanent",
            "condition": "false",
            "className": "Sources.ObjectEventListenersSidebarPane"
        },
        {
            "type": "view",
            "location": "sources-sidebar",
            "id": "sources.eventListenerBreakpoints",
            "title": "Event Listener Breakpoints",
            "order": 9,
            "persistence": "permanent",
            "condition": "false",
            "className": "Sources.EventListenerBreakpointsSidebarPane"
        },
        {
            "type": "view",
            "id": "sources.threads",
            "title": "Threads",
            "persistence": "permanent",
            "className": "Sources.ThreadsSidebarPane"
        },
        {
            "type": "view",
            "id": "sources.scopeChain",
            "title": "Scope",
            "persistence": "permanent",
            "className": "Sources.ScopeChainSidebarPane"
        },
        {
            "type": "view",
            "id": "sources.watch",
            "title": "Watch",
            "hasToolbar": true,
            "persistence": "permanent",
            "className": "Sources.WatchExpressionsSidebarPane"
        },
        {
            "type": "view",
            "id": "sources.jsBreakpoints",
            "title": "Line Breakpoints",
            "persistence": "permanent",
            "className": "Sources.JavaScriptBreakpointsSidebarPane"
        },
        {
            "type": "@UI.ContextFlavorListener",
            "contextTypes": ["SDK.DebuggerPausedDetails"],
            "className": "Sources.JavaScriptBreakpointsSidebarPane"
        },
        {
            "type": "@UI.ContextFlavorListener",
            "contextTypes": ["SDK.DebuggerPausedDetails"],
            "className": "Sources.XHRBreakpointsSidebarPane"
        },
        {
            "type": "@UI.ContextFlavorListener",
            "contextTypes": ["SDK.DebuggerPausedDetails"],
            "className": "Components.DOMBreakpointsSidebarPane"
        },
        {
            "type": "@UI.ContextFlavorListener",
            "contextTypes": ["SDK.DebuggerPausedDetails"],
            "className": "Sources.CallStackSidebarPane"
        },
        {
            "type": "@UI.ContextFlavorListener",
            "contextTypes": ["SDK.DebuggerModel.CallFrame"],
            "className": "Sources.ScopeChainSidebarPane"
        }
    ],
    "dependencies": [
        "components",
        "source_frame",
        "snippets",
        "ui_lazy",
        "extensions",
        "persistence"
    ],
    "scripts": [
        "UIList.js",
        "AddSourceMapURLDialog.js",
        "CallStackSidebarPane.js",
        "DebuggerPausedMessage.js",
        "SimpleHistoryManager.js",
        "EditingLocationHistoryManager.js",
        "EventListenerBreakpointsSidebarPane.js",
        "FilePathScoreFunction.js",
        "FilteredUISourceCodeListDelegate.js",
        "UISourceCodeFrame.js",
        "SourceMapNamesResolver.js",
        "JavaScriptBreakpointsSidebarPane.js",
        "JavaScriptOutlineDialog.js",
        "SourceCodeDiff.js",
        "JavaScriptSourceFrame.js",
        "CSSSourceFrame.js",
        "NavigatorView.js",
        "RevisionHistoryView.js",
        "ScopeChainSidebarPane.js",
        "SourcesNavigator.js",
        "StyleSheetOutlineDialog.js",
        "TabbedEditorContainer.js",
        "WatchExpressionsSidebarPane.js",
        "ThreadsSidebarPane.js",
        "ScriptFormatterEditorAction.js",
        "InplaceFormatterEditorAction.js",
        "ScriptFormatter.js",
        "OpenResourceDialog.js",
        "SourcesView.js",
        "AdvancedSearchView.js",
        "FileBasedSearchResultsPane.js",
        "SourcesSearchScope.js",
        "SourcesPanel.js",
        "WorkspaceMappingTip.js",
        "XHRBreakpointsSidebarPane.js",
        "JavaScriptCompiler.js",
        "ObjectEventListenersSidebarPane.js"
    ],
    "resources": [
        "uiList.css",
        "debuggerPausedMessage.css",
        "eventListenerBreakpoints.css",
        "fileBasedSearchResultsPane.css",
        "navigatorTree.css",
        "navigatorView.css",
        "revisionHistory.css",
        "serviceWorkersSidebar.css",
        "sourcesPanel.css",
        "sourcesSearch.css",
        "sourcesView.css"
    ]
}
