{
    "name": "gitlens",
    "displayName": "GitLens — Git supercharged",
    "description": "Supercharge the Git capabilities built into Visual Studio Code — Visualize code authorship at a glance via Git blame annotations and code lens, seamlessly navigate and explore Git repositories, gain valuable insights via powerful comparison commands, and so much more",
    "version": "9.0.0-alpha",
    "author": {
        "name": "Eric Amodio",
        "email": "eamodio@gmail.com"
    },
    "publisher": "eamodio",
    "license": "SEE LICENSE IN LICENSE",
    "homepage": "https://github.com/eamodio/vscode-gitlens/blob/master/README.md",
    "bugs": {
        "url": "https://github.com/eamodio/vscode-gitlens/issues"
    },
    "repository": {
        "type": "git",
        "url": "https://github.com/eamodio/vscode-gitlens.git"
    },
    "engines": {
        "vscode": "^1.27.0"
    },
    "main": "./dist/extension",
    "icon": "images/gitlens-icon.png",
    "preview": false,
    "badges": [
        {
            "url": "https://img.shields.io/badge/vscode--dev--community-gitlens-blue.svg?logo=slack",
            "href": "https://join.slack.com/t/vscode-dev-community/shared_invite/enQtMjIxOTgxNDE3NzM0LWU5M2ZiZDU1YjBlMzdlZjA2YjBjYzRhYTM5NTgzMTAxMjdiNWU0ZmQzYWI3MWU5N2Q1YjBiYmQ4MzY0NDE1MzY",
            "description": "Join us in the #gitlens channel"
        }
    ],
    "categories": [
        "Other"
    ],
    "galleryBanner": {
        "color": "#8647ae",
        "theme": "dark"
    },
    "keywords": [
        "gitlens",
        "git",
        "blame",
        "log",
        "annotation",
        "multi-root ready"
    ],
    "activationEvents": [
        "*"
    ],
    "contributes": {
        "configuration": {
            "type": "object",
            "title": "GitLens",
            "properties": {
                "gitlens.blame.avatars": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to show avatar images in the gutter blame annotations",
                    "scope": "window"
                },
                "gitlens.blame.compact": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to compact (deduplicate) matching adjacent gutter blame annotations",
                    "scope": "window"
                },
                "gitlens.blame.dateFormat": {
                    "type": "string",
                    "default": null,
                    "description": "Specifies how to format absolute dates (using the `${date}` token) in gutter blame annotations\nSee https://momentjs.com/docs/#/displaying/format/ for valid formats",
                    "scope": "window"
                },
                "gitlens.blame.format": {
                    "type": "string",
                    "default": "${message|40?} ${agoOrDate|14-}",
                    "description": "Specifies the format of the gutter blame annotations\nAvailable tokens\n ${id} - commit id\n ${author} - commit author\n ${message} - commit message\n ${ago} - relative commit date (e.g. 1 day ago)\n ${date} - formatted commit date (format specified by `gitlens.blame.dateFormat`)\n ${agoOrDate} - commit date specified by `gitlens.defaultDateStyle`\n ${authorAgo} - commit author, relative commit date\n ${authorAgoOrDate} - commit author, commit date specified by `gitlens.defaultDateStyle`\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting",
                    "scope": "window"
                },
                "gitlens.blame.heatmap.enabled": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to provide a heatmap indicator in the gutter blame annotations",
                    "scope": "window"
                },
                "gitlens.blame.heatmap.location": {
                    "type": "string",
                    "default": "right",
                    "enum": [
                        "left",
                        "right"
                    ],
                    "enumDescriptions": [
                        "Adds a heatmap indicator on the left edge of the gutter blame annotations",
                        "Adds a heatmap indicator on the right edge of the gutter blame annotations"
                    ],
                    "description": "Specifies where the heatmap indicators will be shown in the gutter blame annotations",
                    "scope": "window"
                },
                "gitlens.blame.highlight.enabled": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to highlight lines associated with the current line",
                    "scope": "window"
                },
                "gitlens.blame.highlight.locations": {
                    "type": "array",
                    "default": [
                        "gutter",
                        "line",
                        "overview"
                    ],
                    "items": {
                        "type": "string",
                        "enum": [
                            "gutter",
                            "line",
                            "overview"
                        ],
                        "enumDescriptions": [
                            "Adds a gutter glyph",
                            "Adds a full-line highlight background color",
                            "Adds a decoration to the overview ruler (scroll bar)"
                        ]
                    },
                    "minItems": 1,
                    "maxItems": 3,
                    "uniqueItems": true,
                    "description": "Specifies where the associated line highlights will be shown",
                    "scope": "window"
                },
                "gitlens.blame.ignoreWhitespace": {
                    "type": "boolean",
                    "default": false,
                    "description": "Specifies whether to ignore whitespace when comparing revisions during blame operations",
                    "scope": "resource"
                },
                "gitlens.blame.separateLines": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether gutter blame annotations will be separated by a small gap",
                    "scope": "window"
                },
                "gitlens.blame.toggleMode": {
                    "type": "string",
                    "default": "file",
                    "enum": [
                        "file",
                        "window"
                    ],
                    "enumDescriptions": [
                        "Toggles each file individually",
                        "Toggles the window, i.e. all files at once"
                    ],
                    "description": "Specifies how the gutter blame annotations will be toggled",
                    "scope": "window"
                },
                "gitlens.codeLens.authors.command": {
                    "type": "string",
                    "default": "gitlens.toggleFileBlame",
                    "enum": [
                        "gitlens.toggleFileBlame",
                        "gitlens.diffWithPrevious",
                        "gitlens.showQuickCommitDetails",
                        "gitlens.showQuickCommitFileDetails",
                        "gitlens.showQuickFileHistory",
                        "gitlens.showQuickRepoHistory"
                    ],
                    "enumDescriptions": [
                        "Toggles file blame annotations",
                        "Compares the current committed file with the previous commit",
                        "Shows a commit details quick pick",
                        "Shows a commit file details quick pick",
                        "Shows a file history quick pick",
                        "Shows a branch history quick pick"
                    ],
                    "description": "Specifies the command to be executed when the `authors` code lens is clicked",
                    "scope": "window"
                },
                "gitlens.codeLens.authors.enabled": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to provide an `authors` code lens, showing number of authors of the file or code block and the most prominent author (if there is more than one)",
                    "scope": "window"
                },
                "gitlens.codeLens.enabled": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to provide any Git code lens, by default\nUse the `Toggle Git Code Lens` command (`gitlens.toggleCodeLens`) to toggle the Git code lens on and off for the current window",
                    "scope": "window"
                },
                "gitlens.codeLens.includeSingleLineSymbols": {
                    "type": "boolean",
                    "default": false,
                    "description": "Specifies whether to provide any Git code lens on symbols that span only a single line",
                    "scope": "window"
                },
                "gitlens.codeLens.recentChange.command": {
                    "type": "string",
                    "default": "gitlens.showQuickCommitFileDetails",
                    "enum": [
                        "gitlens.toggleFileBlame",
                        "gitlens.diffWithPrevious",
                        "gitlens.showQuickCommitDetails",
                        "gitlens.showQuickCommitFileDetails",
                        "gitlens.showQuickFileHistory",
                        "gitlens.showQuickRepoHistory"
                    ],
                    "enumDescriptions": [
                        "Toggles file blame annotations",
                        "Compares the current committed file with the previous commit",
                        "Shows a commit details quick pick",
                        "Shows a commit file details quick pick",
                        "Shows a file history quick pick",
                        "Shows a branch history quick pick"
                    ],
                    "description": "Specifies the command to be executed when the `recent change` code lens is clicked",
                    "scope": "window"
                },
                "gitlens.codeLens.recentChange.enabled": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to provide a `recent change` code lens, showing the author and date of the most recent commit for the file or code block",
                    "scope": "window"
                },
                "gitlens.codeLens.scopes": {
                    "type": "array",
                    "default": [
                        "document",
                        "containers"
                    ],
                    "items": {
                        "type": "string",
                        "enum": [
                            "document",
                            "containers",
                            "blocks"
                        ],
                        "enumDescriptions": [
                            "Adds code lens at the top of the document",
                            "Adds code lens at the start of container-like symbols (modules, classes, interfaces, etc)",
                            "Adds code lens at the start of block-like symbols (functions, methods, etc) lines"
                        ]
                    },
                    "minItems": 1,
                    "maxItems": 4,
                    "uniqueItems": true,
                    "description": "Specifies where Git code lens will be shown in the document",
                    "scope": "resource"
                },
                "gitlens.codeLens.scopesByLanguage": {
                    "type": "array",
                    "default": [
                        {
                            "language": "css",
                            "scopes": [
                                "document"
                            ]
                        },
                        {
                            "language": "html",
                            "scopes": [
                                "document"
                            ]
                        },
                        {
                            "language": "json",
                            "scopes": [
                                "document"
                            ]
                        },
                        {
                            "language": "jsonc",
                            "scopes": [
                                "document"
                            ]
                        },
                        {
                            "language": "less",
                            "scopes": [
                                "document"
                            ]
                        },
                        {
                            "language": "postcss",
                            "scopes": [
                                "document"
                            ]
                        },
                        {
                            "language": "python",
                            "symbolScopes": [
                                "!Module"
                            ]
                        },
                        {
                            "language": "scss",
                            "scopes": [
                                "document"
                            ]
                        },
                        {
                            "language": "stylus",
                            "scopes": [
                                "document"
                            ]
                        },
                        {
                            "language": "vue",
                            "scopes": [
                                "document"
                            ]
                        }
                    ],
                    "items": {
                        "type": "object",
                        "required": [
                            "language"
                        ],
                        "properties": {
                            "language": {
                                "type": "string",
                                "description": "Specifies the language to which this code lens override applies"
                            },
                            "scopes": {
                                "type": "array",
                                "default": [
                                    "document",
                                    "containers"
                                ],
                                "items": {
                                    "type": "string",
                                    "enum": [
                                        "document",
                                        "containers",
                                        "blocks",
                                        "custom"
                                    ],
                                    "enumDescriptions": [
                                        "Adds code lens at the top of the document",
                                        "Adds code lens at the start of container-like symbols (modules, classes, interfaces, etc)",
                                        "Adds code lens at the start of block-like symbols (functions, methods, properties, etc) lines",
                                        "Adds code lens at the start of symbols contained in `symbolScopes`"
                                    ]
                                },
                                "minItems": 1,
                                "maxItems": 4,
                                "uniqueItems": true,
                                "description": "Specifies where Git code lens will be shown in the document for the specified language"
                            },
                            "symbolScopes": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "uniqueItems": true,
                                "description": "Specifies the set of document symbols where Git code lens will be shown in the document for the specified language\nMust be a member of `SymbolKind`"
                            }
                        }
                    },
                    "uniqueItems": true,
                    "description": "Specifies where Git code lens will be shown in the document for the specified languages",
                    "scope": "resource"
                },
                "gitlens.codeLens.symbolScopes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "uniqueItems": true,
                    "description": "Specifies a set of document symbols where Git code lens will or will not be shown in the document\nPrefix with `!` to avoid providing a Git code lens for the symbol\nMust be a member of `SymbolKind`",
                    "scope": "resource"
                },
                "gitlens.currentLine.dateFormat": {
                    "type": "string",
                    "default": null,
                    "description": "Specifies how to format absolute dates (using the `${date}` token) for the current line blame annotation\nSee https://momentjs.com/docs/#/displaying/format/ for valid formats",
                    "scope": "window"
                },
                "gitlens.currentLine.enabled": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to provide a blame annotation for the current line, by default\nUse the `Toggle Line Blame Annotations` command (`gitlens.toggleLineBlame`) to toggle the annotations on and off for the current window",
                    "scope": "window"
                },
                "gitlens.currentLine.format": {
                    "type": "string",
                    "default": "${authorAgoOrDate} • ${message}",
                    "description": "Specifies the format of the current line blame annotation\nAvailable tokens\n ${id} - commit id\n ${author} - commit author\n ${message} - commit message\n ${ago} - relative commit date (e.g. 1 day ago)\n ${date} - formatted commit date (format specified by `gitlens.currentLine.dateFormat`)\n ${agoOrDate} - commit date specified by `gitlens.defaultDateStyle`\n ${authorAgo} - commit author, relative commit date\n ${authorAgoOrDate} - commit author, commit date specified by `gitlens.defaultDateStyle`\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting",
                    "scope": "window"
                },
                "gitlens.currentLine.scrollable": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether the current line blame annotation can be scrolled into view when it is outside the viewport",
                    "scope": "window"
                },
                "gitlens.debug": {
                    "type": "boolean",
                    "default": false,
                    "description": "Specifies debug mode",
                    "scope": "window"
                },
                "gitlens.defaultDateFormat": {
                    "type": "string",
                    "default": null,
                    "description": "Specifies how absolute dates will be formatted by default\nSee https://momentjs.com/docs/#/displaying/format/ for valid formats",
                    "scope": "window"
                },
                "gitlens.defaultDateStyle": {
                    "type": "string",
                    "default": "relative",
                    "enum": [
                        "relative",
                        "absolute"
                    ],
                    "enumDescriptions": [
                        "e.g. 1 day ago",
                        "e.g. July 25th, 2018 7:18pm"
                    ],
                    "description": "Specifies how dates will be displayed by default",
                    "scope": "window"
                },
                "gitlens.defaultGravatarsStyle": {
                    "type": "string",
                    "default": "robohash",
                    "enum": [
                        "identicon",
                        "mp",
                        "monsterid",
                        "retro",
                        "robohash",
                        "wavatar"
                    ],
                    "enumDescriptions": [
                        "A geometric pattern",
                        "A simple, cartoon-style silhouetted outline of a person (does not vary by email hash)",
                        "A monster with different colors, faces, etc",
                        "8-bit arcade-style pixelated faces",
                        "A robot with different colors, faces, etc",
                        "A face with differing features and backgrounds"
                    ],
                    "description": "Specifies the style of the gravatar default (fallback) images",
                    "scope": "window"
                },
                "gitlens.heatmap.ageThreshold": {
                    "type": "string",
                    "default": "90",
                    "description": "Specifies the age of the most recent change (in days) after which the gutter heatmap annotations will be cold rather than hot (i.e. will use `#gitlens.heatmap.coldColor#` instead of `#gitlens.heatmap.hotColor#`)",
                    "scope": "window"
                },
                "gitlens.heatmap.coldColor": {
                    "type": "string",
                    "default": "#0a60f6",
                    "description": "Specifies the base color of the gutter heatmap annotations when the most recent change is older (cold) than the `#gitlens.heatmap.ageThreshold#` value",
                    "scope": "window"
                },
                "gitlens.heatmap.hotColor": {
                    "type": "string",
                    "default": "#f66a0a",
                    "description": "Specifies the base color of the gutter heatmap annotations when the most recent change is newer (hot) than the `#gitlens.heatmap.ageThreshold#` value",
                    "scope": "window"
                },
                "gitlens.heatmap.toggleMode": {
                    "type": "string",
                    "default": "file",
                    "enum": [
                        "file",
                        "window"
                    ],
                    "enumDescriptions": [
                        "Toggles each file individually",
                        "Toggles the window, i.e. all files at once"
                    ],
                    "description": "Specifies how the gutter heatmap annotations will be toggled",
                    "scope": "window"
                },
                "gitlens.hovers.annotations.changes": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to provide a changes (diff) hover for all lines when showing blame annotations",
                    "scope": "window"
                },
                "gitlens.hovers.annotations.details": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to provide a commit details hover for all lines when showing blame annotations",
                    "scope": "window"
                },
                "gitlens.hovers.annotations.enabled": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to provide any hovers when showing blame annotations",
                    "scope": "window"
                },
                "gitlens.hovers.annotations.over": {
                    "type": "string",
                    "default": "line",
                    "enum": [
                        "annotation",
                        "line"
                    ],
                    "enumDescriptions": [
                        "Only shown when hovering over the line annotation",
                        "Shown when hovering anywhere over the line"
                    ],
                    "description": "Specifies when to trigger hovers when showing blame annotations",
                    "scope": "window"
                },
                "gitlens.hovers.currentLine.changes": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to provide a changes (diff) hover for the current line",
                    "scope": "window"
                },
                "gitlens.hovers.currentLine.details": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to provide a commit details hover for the current line",
                    "scope": "window"
                },
                "gitlens.hovers.currentLine.enabled": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to provide any hovers for the current line",
                    "scope": "window"
                },
                "gitlens.hovers.currentLine.over": {
                    "type": "string",
                    "default": "annotation",
                    "enum": [
                        "annotation",
                        "line"
                    ],
                    "enumDescriptions": [
                        "Only shown when hovering over the line annotation",
                        "Shown when hovering anywhere over the line"
                    ],
                    "description": "Specifies when to trigger hovers for the current line",
                    "scope": "window"
                },
                "gitlens.hovers.avatars": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to show avatar images in hovers",
                    "scope": "window"
                },
                "gitlens.hovers.enabled": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to provide any hovers",
                    "scope": "window"
                },
                "gitlens.insiders": {
                    "type": "boolean",
                    "default": false,
                    "description": "Specifies whether to enable experimental features",
                    "scope": "window"
                },
                "gitlens.keymap": {
                    "type": "string",
                    "default": "chorded",
                    "enum": [
                        "alternate",
                        "chorded",
                        "none"
                    ],
                    "enumDescriptions": [
                        "Adds an alternate set of shortcut keys that start with `Alt` (⌥ on macOS)",
                        "Adds a chorded set of shortcut keys that start with `Ctrl+Alt+G` (`⌥⌘G` on macOS)",
                        "No shortcut keys will be added"
                    ],
                    "description": "Specifies the keymap to use for GitLens shortcut keys",
                    "scope": "window"
                },
                "gitlens.menus": {
                    "anyOf": [
                        {
                            "enum": [
                                false
                            ]
                        },
                        {
                            "type": "object",
                            "properties": {
                                "editor": {
                                    "anyOf": [
                                        {
                                            "enum": [
                                                false
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "blame": {
                                                    "type": "boolean"
                                                },
                                                "clipboard": {
                                                    "type": "boolean"
                                                },
                                                "compare": {
                                                    "type": "boolean"
                                                },
                                                "details": {
                                                    "type": "boolean"
                                                },
                                                "history": {
                                                    "type": "boolean"
                                                },
                                                "remote": {
                                                    "type": "boolean"
                                                }
                                            }
                                        }
                                    ]
                                },
                                "editorGroup": {
                                    "anyOf": [
                                        {
                                            "enum": [
                                                false
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "blame": {
                                                    "type": "boolean"
                                                },
                                                "compare": {
                                                    "type": "boolean"
                                                },
                                                "history": {
                                                    "type": "boolean"
                                                },
                                                "remote": {
                                                    "type": "boolean"
                                                }
                                            }
                                        }
                                    ]
                                },
                                "editorTab": {
                                    "anyOf": [
                                        {
                                            "enum": [
                                                false
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "compare": {
                                                    "type": "boolean"
                                                },
                                                "history": {
                                                    "type": "boolean"
                                                },
                                                "remote": {
                                                    "type": "boolean"
                                                }
                                            }
                                        }
                                    ]
                                },
                                "explorer": {
                                    "anyOf": [
                                        {
                                            "enum": [
                                                false
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "compare": {
                                                    "type": "boolean"
                                                },
                                                "history": {
                                                    "type": "boolean"
                                                },
                                                "remote": {
                                                    "type": "boolean"
                                                }
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    ],
                    "default": {
                        "editor": {
                            "blame": false,
                            "clipboard": true,
                            "compare": true,
                            "details": true,
                            "history": false,
                            "remote": true
                        },
                        "editorGroup": {
                            "blame": true,
                            "compare": true,
                            "history": false,
                            "remote": false
                        },
                        "editorTab": {
                            "compare": false,
                            "history": false,
                            "remote": true
                        },
                        "explorer": {
                            "compare": true,
                            "history": true,
                            "remote": true
                        }
                    },
                    "description": "Specifies which commands will be added to which menus",
                    "scope": "window"
                },
                "gitlens.mode.active": {
                    "type": "string",
                    "description": "Specifies the active GitLens mode, if any",
                    "scope": "window"
                },
                "gitlens.mode.statusBar.enabled": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to provide the active GitLens mode in the status bar",
                    "scope": "window"
                },
                "gitlens.mode.statusBar.alignment": {
                    "type": "string",
                    "default": "right",
                    "enum": [
                        "left",
                        "right"
                    ],
                    "enumDescriptions": [
                        "Aligns to the left",
                        "Aligns to the right"
                    ],
                    "description": "Specifies the active GitLens mode alignment in the status bar",
                    "scope": "window"
                },
                "gitlens.modes": {
                    "type": "object",
                    "properties": {
                        "zen": {
                            "type": "object",
                            "required": [
                                "name"
                            ],
                            "properties": {
                                "name": {
                                    "type": "string"
                                },
                                "statusBarItemName": {
                                    "type": "string"
                                },
                                "description": {
                                    "type": "string"
                                },
                                "codeLens": {
                                    "type": "boolean"
                                },
                                "currentLine": {
                                    "type": "boolean"
                                },
                                "hovers": {
                                    "type": "boolean"
                                },
                                "statusBar": {
                                    "type": "boolean"
                                },
                                "views": {
                                    "type": "boolean"
                                }
                            }
                        },
                        "review": {
                            "type": "object",
                            "required": [
                                "name"
                            ],
                            "properties": {
                                "name": {
                                    "type": "string"
                                },
                                "statusBarItemName": {
                                    "type": "string"
                                },
                                "description": {
                                    "type": "string"
                                },
                                "codeLens": {
                                    "type": "boolean"
                                },
                                "currentLine": {
                                    "type": "boolean"
                                },
                                "hovers": {
                                    "type": "boolean"
                                },
                                "statusBar": {
                                    "type": "boolean"
                                },
                                "views": {
                                    "type": "boolean"
                                }
                            }
                        }
                    },
                    "additionalProperties": {
                        "type": "object",
                        "required": [
                            "name"
                        ],
                        "properties": {
                            "name": {
                                "type": "string"
                            },
                            "statusBarItemName": {
                                "type": "string"
                            },
                            "description": {
                                "type": "string"
                            },
                            "codeLens": {
                                "type": "boolean"
                            },
                            "currentLine": {
                                "type": "boolean"
                            },
                            "hovers": {
                                "type": "boolean"
                            },
                            "statusBar": {
                                "type": "boolean"
                            },
                            "views": {
                                "type": "boolean"
                            }
                        }
                    },
                    "default": {
                        "zen": {
                            "name": "Zen",
                            "statusBarItemName": "Zen",
                            "description": "for a zen-like experience, disables many visual features",
                            "codeLens": false,
                            "currentLine": false,
                            "hovers": false,
                            "statusBar": false
                        },
                        "review": {
                            "name": "Review",
                            "statusBarItemName": "Reviewing",
                            "description": "for reviewing code, enables many visual features",
                            "codeLens": true,
                            "currentLine": true,
                            "hovers": true
                        }
                    },
                    "description": "Specifies the user-defined GitLens modes",
                    "scope": "window"
                },
                "gitlens.outputLevel": {
                    "type": "string",
                    "default": "silent",
                    "enum": [
                        "silent",
                        "errors",
                        "verbose",
                        "debug"
                    ],
                    "description": "Specifies how much (if any) output will be sent to the GitLens output channel",
                    "scope": "window"
                },
                "gitlens.recentChanges.highlight.locations": {
                    "type": "array",
                    "default": [
                        "gutter",
                        "line",
                        "overview"
                    ],
                    "items": {
                        "type": "string",
                        "enum": [
                            "gutter",
                            "line",
                            "overview"
                        ],
                        "enumDescriptions": [
                            "Adds a gutter glyph",
                            "Adds a full-line highlight background color",
                            "Adds a decoration to the overview ruler (scroll bar)"
                        ]
                    },
                    "minItems": 1,
                    "maxItems": 3,
                    "uniqueItems": true,
                    "description": "Specifies where the highlights of the recently changed lines will be shown",
                    "scope": "window"
                },
                "gitlens.recentChanges.toggleMode": {
                    "type": "string",
                    "default": "file",
                    "enum": [
                        "file",
                        "window"
                    ],
                    "enumDescriptions": [
                        "Toggles each file individually",
                        "Toggles the window, i.e. all files at once"
                    ],
                    "description": "Specifies how the recently changed lines annotations will be toggled",
                    "scope": "window"
                },
                "gitlens.remotes": {
                    "type": "array",
                    "default": null,
                    "items": {
                        "type": "object",
                        "required": [
                            "type",
                            "domain"
                        ],
                        "properties": {
                            "type": {
                                "type": "string",
                                "enum": [
                                    "Bitbucket",
                                    "BitbucketServer",
                                    "Custom",
                                    "GitHub",
                                    "GitLab"
                                ],
                                "description": "Specifies the type of the custom remote service"
                            },
                            "domain": {
                                "type": "string",
                                "description": "Specifies the domain name of the custom remote service"
                            },
                            "name": {
                                "type": "string",
                                "description": "Specifies an optional friendly name for the custom remote service"
                            },
                            "protocol": {
                                "type": "string",
                                "default": "https",
                                "description": "Specifies an optional url protocol for the custom remote service"
                            },
                            "urls": {
                                "type": "object",
                                "required": [
                                    "repository",
                                    "branches",
                                    "branch",
                                    "commit",
                                    "file",
                                    "fileInCommit",
                                    "fileInBranch",
                                    "fileLine",
                                    "fileRange"
                                ],
                                "properties": {
                                    "repository": {
                                        "type": "string",
                                        "description": "Specifies the format of a respository url for the custom remote service\nAvailable tokens\n ${repo} - repository path"
                                    },
                                    "branches": {
                                        "type": "string",
                                        "description": "Specifies the format of a branches url for the custom remote service\nAvailable tokens\n ${repo} - repository path\n ${branch} - branch"
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "Specifies the format of a branch url for the custom remote service\nAvailable tokens\n ${repo} - repository path\n ${branch} - branch"
                                    },
                                    "commit": {
                                        "type": "string",
                                        "description": "Specifies the format of a commit url for the custom remote service\nAvailable tokens\n ${repo} - repository path\n ${id} - commit id"
                                    },
                                    "file": {
                                        "type": "string",
                                        "description": "Specifies the format of a file url for the custom remote service\nAvailable tokens\n ${repo} - repository path\n ${file} - file name\n ${line} - formatted line information"
                                    },
                                    "fileInBranch": {
                                        "type": "string",
                                        "description": "Specifies the format of a branch file url for the custom remote service\nAvailable tokens\n ${repo} - repository path\n ${file} - file name\n ${branch} - branch\n ${line} - formatted line information"
                                    },
                                    "fileInCommit": {
                                        "type": "string",
                                        "description": "Specifies the format of a commit file url for the custom remote service\nAvailable tokens\n ${repo} - repository path\n ${file} - file name\n ${id} - commit id\n ${line} - formatted line information"
                                    },
                                    "fileLine": {
                                        "type": "string",
                                        "description": "Specifies the format of a line in a file url for the custom remote service\nAvailable tokens\n ${line} - line"
                                    },
                                    "fileRange": {
                                        "type": "string",
                                        "description": "Specifies the format of a range in a file url for the custom remote service\nAvailable tokens\n ${start} - starting line\n ${end} - ending line"
                                    }
                                }
                            },
                            "description": "Specifies the url formats of the custom remote service"
                        }
                    },
                    "uniqueItems": true,
                    "description": "Specifies user-defined remote (code-hosting) services or custom domains for built-in remote services",
                    "scope": "resource"
                },
                "gitlens.settings.mode": {
                    "type": "string",
                    "default": "simple",
                    "enum": [
                        "simple",
                        "advanced"
                    ],
                    "enumDescriptions": [
                        "Only displays common settings",
                        "Displays all settings"
                    ],
                    "description": "Specifies the display mode of the interactive settings editor",
                    "scope": "window"
                },
                "gitlens.showWhatsNewAfterUpgrades": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to show What's New after upgrading to new feature releases",
                    "scope": "window"
                },
                "gitlens.statusBar.alignment": {
                    "type": "string",
                    "default": "right",
                    "enum": [
                        "left",
                        "right"
                    ],
                    "enumDescriptions": [
                        "Aligns to the left",
                        "Aligns to the right"
                    ],
                    "description": "Specifies the blame alignment in the status bar",
                    "scope": "window"
                },
                "gitlens.statusBar.command": {
                    "type": "string",
                    "default": "gitlens.showQuickCommitDetails",
                    "enum": [
                        "gitlens.toggleFileBlame",
                        "gitlens.diffWithPrevious",
                        "gitlens.diffWithWorking",
                        "gitlens.toggleCodeLens",
                        "gitlens.showQuickCommitDetails",
                        "gitlens.showQuickCommitFileDetails",
                        "gitlens.showQuickFileHistory",
                        "gitlens.showQuickRepoHistory"
                    ],
                    "enumDescriptions": [
                        "Toggles file blame annotations",
                        "Compares the current line commit with the previous",
                        "Compares the current line commit with the working tree",
                        "Toggles Git code lens",
                        "Shows a commit details quick pick",
                        "Shows a commit file details quick pick",
                        "Shows a file history quick pick",
                        "Shows a branch history quick pick"
                    ],
                    "description": "Specifies the command to be executed when the blame status bar item is clicked",
                    "scope": "window"
                },
                "gitlens.statusBar.dateFormat": {
                    "type": "string",
                    "default": null,
                    "description": "Specifies the date format of absolute dates shown in the blame information in the status bar. See https://momentjs.com/docs/#/displaying/format/ for valid formats",
                    "scope": "window"
                },
                "gitlens.statusBar.enabled": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to provide blame information in the status bar",
                    "scope": "window"
                },
                "gitlens.statusBar.format": {
                    "type": "string",
                    "default": "${authorAgoOrDate}",
                    "description": "Specifies the format of the status bar blame information\nAvailable tokens\n ${id} - commit id\n ${author} - commit author\n ${message} - commit message\n ${ago} - relative commit date (e.g. 1 day ago)\n ${date} - formatted commit date (format specified by `gitlens.statusBar.dateFormat`)\n ${agoOrDate} - commit date specified by `gitlens.defaultDateStyle`\n ${authorAgo} - commit author, relative commit date\n ${authorAgoOrDate} - commit author, commit date specified by `gitlens.defaultDateStyle`\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting",
                    "scope": "window"
                },
                "gitlens.statusBar.reduceFlicker": {
                    "type": "boolean",
                    "default": false,
                    "description": "Specifies whether to avoid clearing the previous blame information when changing lines to reduce status bar \"flashing\"",
                    "scope": "window"
                },
                "gitlens.strings.codeLens.unsavedChanges.recentChangeAndAuthors": {
                    "type": "string",
                    "default": "Unsaved changes (cannot determine recent change or authors)",
                    "description": "Specifies the string to be shown in place of both the `recent change` and `authors` code lens when there are unsaved changes",
                    "scope": "window"
                },
                "gitlens.strings.codeLens.unsavedChanges.recentChangeOnly": {
                    "type": "string",
                    "default": "Unsaved changes (cannot determine recent change)",
                    "description": "Specifies the string to be shown in place of the `recent change` code lens when there are unsaved changes",
                    "scope": "window"
                },
                "gitlens.strings.codeLens.unsavedChanges.authorsOnly": {
                    "type": "string",
                    "default": "Unsaved changes (cannot determine authors)",
                    "description": "Specifies the string to be shown in place of the `authors` code lens when there are unsaved changes",
                    "scope": "window"
                },
                "gitlens.views.avatars": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to show avatar images instead of commit (or status) icons in the `Repositories` and `Results` views",
                    "scope": "window"
                },
                "gitlens.views.commitFileFormat": {
                    "type": "string",
                    "default": "${filePath}",
                    "description": "Specifies the format of a committed file in the `Repositories` and `Results` views\nAvailable tokens\n ${directory} - directory name\n ${file} - file name\n ${filePath} - formatted file name and path\n ${path} - full file path",
                    "scope": "window"
                },
                "gitlens.views.commitFormat": {
                    "type": "string",
                    "default": "${message}  •  ${authorAgoOrDate}${  •  changes}${  (id)}",
                    "description": "Specifies the format of committed changes in the `Repositories` and `Results` views\nAvailable tokens\n ${id} - commit id\n ${author} - commit author\n ${message} - commit message\n ${ago} - relative commit date (e.g. 1 day ago)\n ${date} - formatted commit date (format specified by `gitlens.defaultDateFormat`)\\n ${agoOrDate} - commit date specified by `gitlens.defaultDateStyle`\n ${authorAgo} - commit author, relative commit date\n ${authorAgoOrDate} - commit author, commit date specified by `gitlens.defaultDateStyle`\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting",
                    "scope": "window"
                },
                "gitlens.views.defaultItemLimit": {
                    "type": "number",
                    "default": 10,
                    "description": "Specifies the default number of items to show in a view list. Use 0 to specify no limit",
                    "scope": "window"
                },
                "gitlens.views.fileHistory.avatars": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to show avatar images instead of status icons in the `File History` view",
                    "scope": "window"
                },
                "gitlens.views.fileHistory.enabled": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to show the `File History` view",
                    "scope": "window"
                },
                "gitlens.views.fileHistory.location": {
                    "type": "string",
                    "default": "gitlens",
                    "enum": [
                        "gitlens",
                        "explorer",
                        "scm"
                    ],
                    "enumDescriptions": [
                        "Adds to the GitLens view",
                        "Adds to the Explorer view",
                        "Adds to the Source Control view"
                    ],
                    "description": "Specifies where to show the `File History` view",
                    "scope": "window"
                },
                "gitlens.views.lineHistory.avatars": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to show avatar images instead of status icons in the `Line History` view",
                    "scope": "window"
                },
                "gitlens.views.lineHistory.enabled": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to show the `Line History` view",
                    "scope": "window"
                },
                "gitlens.views.lineHistory.location": {
                    "type": "string",
                    "default": "gitlens",
                    "enum": [
                        "gitlens",
                        "explorer",
                        "scm"
                    ],
                    "enumDescriptions": [
                        "Adds to the GitLens view",
                        "Adds to the Explorer view",
                        "Adds to the Source Control view"
                    ],
                    "description": "Specifies where to show the `Line History` view",
                    "scope": "window"
                },
                "gitlens.views.repositories.autoRefresh": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to automatically refresh the `Repositories` view when the repository or the file system changes",
                    "scope": "window"
                },
                "gitlens.views.repositories.autoReveal": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to automatically reveal repositories in the `Repositories` view when opening files",
                    "scope": "window"
                },
                "gitlens.views.repositories.branches.layout": {
                    "type": "string",
                    "default": "tree",
                    "enum": [
                        "list",
                        "tree"
                    ],
                    "enumDescriptions": [
                        "Displays branches as a list",
                        "Displays branches as a tree when branch names contain slashes `/`"
                    ],
                    "description": "Specifies how the `Repositories` view will display branches",
                    "scope": "window"
                },
                "gitlens.views.repositories.enabled": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to show the `Repositories` view",
                    "scope": "window"
                },
                "gitlens.views.repositories.files.compact": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to compact (flatten) unnecessary file nesting in the `Repositories` view\nOnly applies when `#gitlens.views.repositories.files.layout#` is set to `tree` or `auto`",
                    "scope": "window"
                },
                "gitlens.views.repositories.files.layout": {
                    "type": "string",
                    "default": "auto",
                    "enum": [
                        "auto",
                        "list",
                        "tree"
                    ],
                    "enumDescriptions": [
                        "Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.views.repositories.files.threshold#` value and the number of files at each nesting level",
                        "Displays files as a list",
                        "Displays files as a tree"
                    ],
                    "description": "Specifies how the `Repositories` view will display files",
                    "scope": "window"
                },
                "gitlens.views.repositories.files.threshold": {
                    "type": "number",
                    "default": 5,
                    "description": "Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the `Repositories` view\nOnly applies when `#gitlens.views.repositories.files.layout#` is set to `auto`",
                    "scope": "window"
                },
                "gitlens.views.repositories.includeWorkingTree": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to include working tree files inside the `Repository Status` node of the `Repositories` view",
                    "scope": "window"
                },
                "gitlens.views.repositories.location": {
                    "type": "string",
                    "default": "gitlens",
                    "enum": [
                        "gitlens",
                        "explorer",
                        "scm"
                    ],
                    "enumDescriptions": [
                        "Adds to the GitLens view",
                        "Adds to the Explorer view",
                        "Adds to the Source Control view"
                    ],
                    "description": "Specifies where to show the `Repositories` view",
                    "scope": "window"
                },
                "gitlens.views.repositories.showTrackingBranch": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to show the tracking branch when displaying local branches in the `Repositories` view",
                    "scope": "window"
                },
                "gitlens.views.results.files.compact": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to compact (flatten) unnecessary file nesting in the `Results` view\nOnly applies when `#gitlens.views.results.files.layout#` is set to `tree` or `auto`",
                    "scope": "window"
                },
                "gitlens.views.results.files.layout": {
                    "type": "string",
                    "default": "auto",
                    "enum": [
                        "auto",
                        "list",
                        "tree"
                    ],
                    "enumDescriptions": [
                        "Automatically switches between displaying files as a `tree` or `list` based on the `#gitlens.views.repositories.files.threshold#` value and the number of files at each nesting level",
                        "Displays files as a list",
                        "Displays files as a tree"
                    ],
                    "description": "Specifies how the `Results` view will display files",
                    "scope": "window"
                },
                "gitlens.views.results.files.threshold": {
                    "type": "number",
                    "default": 5,
                    "description": "Specifies when to switch between displaying files as a `tree` or `list` based on the number of files in a nesting level in the `Results` view\nOnly applies when `#gitlens.views.results.files.layout#` is set to `auto`",
                    "scope": "window"
                },
                "gitlens.views.results.location": {
                    "type": "string",
                    "default": "gitlens",
                    "enum": [
                        "gitlens",
                        "explorer",
                        "scm"
                    ],
                    "enumDescriptions": [
                        "Adds to the GitLens view",
                        "Adds to the Explorer view",
                        "Adds to the Source Control view"
                    ],
                    "description": "Specifies where to show the `Results` view",
                    "scope": "window"
                },
                "gitlens.views.stashFileFormat": {
                    "type": "string",
                    "default": "${filePath}",
                    "description": "Specifies the format of a stashed file in the `Repositories` and `Results` views\nAvailable tokens\n ${directory} - directory name\n ${file} - file name\n ${filePath} - formatted file name and path\n ${path} - full file path",
                    "scope": "window"
                },
                "gitlens.views.stashFormat": {
                    "type": "string",
                    "default": "${message}",
                    "description": "Specifies the format of stashed changes in the `Repositories` and `Results` views\nAvailable tokens\n ${id} - commit id\n ${author} - commit author\n ${message} - commit message\n ${ago} - relative commit date (e.g. 1 day ago)\n ${date} - formatted commit date (format specified by `gitlens.statusBar.dateFormat`)\n ${agoOrDate} - commit date specified by `gitlens.defaultDateStyle`\n ${authorAgo} - commit author, relative commit date\n ${authorAgoOrDate} - commit author, commit date specified by `gitlens.defaultDateStyle`\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting",
                    "scope": "window"
                },
                "gitlens.views.statusFileFormat": {
                    "type": "string",
                    "default": "${working  }${filePath}",
                    "description": "Specifies the format of the status of a working or committed file in the `Repositories` view\nAvailable tokens\n ${directory} - directory name\n ${file} - file name\n ${filePath} - formatted file name and path\n ${path} - full file path\n ${working} - optional indicator if the file is uncommitted",
                    "scope": "window"
                },
                "gitlens.advanced.blame.customArguments": {
                    "type": "array",
                    "default": null,
                    "items": {
                        "type": "string"
                    },
                    "description": "Specifies additional arguments to pass to the `git blame` command",
                    "scope": "resource"
                },
                "gitlens.advanced.blame.delayAfterEdit": {
                    "type": "number",
                    "default": 5000,
                    "description": "Specifies the time (in milliseconds) to wait before re-blaming an unsaved document after an edit. Use 0 to specify an infinite wait",
                    "scope": "window"
                },
                "gitlens.advanced.blame.sizeThresholdAfterEdit": {
                    "type": "number",
                    "default": 5000,
                    "description": "Specifies the maximum document size (in lines) allowed to be re-blamed after an edit while still unsaved. Use 0 to specify no maximum",
                    "scope": "window"
                },
                "gitlens.advanced.caching.enabled": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether git output will be cached — changing the default is not recommended",
                    "scope": "window"
                },
                "gitlens.advanced.fileHistoryFollowsRenames": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether file histories will follow renames — will affect how merge commits are shown in histories",
                    "scope": "window"
                },
                "gitlens.advanced.maxListItems": {
                    "type": "number",
                    "default": 200,
                    "description": "Specifies the maximum number of items to show in a list. Use 0 to specify no maximum",
                    "scope": "window"
                },
                "gitlens.advanced.messages": {
                    "type": "object",
                    "default": {
                        "suppressCommitHasNoPreviousCommitWarning": false,
                        "suppressCommitNotFoundWarning": false,
                        "suppressFileNotUnderSourceControlWarning": false,
                        "suppressGitDisabledWarning": false,
                        "suppressGitVersionWarning": false,
                        "suppressLineUncommittedWarning": false,
                        "suppressNoRepositoryWarning": false,
                        "suppressShowKeyBindingsNotice": false
                    },
                    "properties": {
                        "suppressCommitHasNoPreviousCommitWarning": {
                            "type": "boolean",
                            "default": false
                        },
                        "suppressCommitNotFoundWarning": {
                            "type": "boolean",
                            "default": false
                        },
                        "suppressFileNotUnderSourceControlWarning": {
                            "type": "boolean",
                            "default": false
                        },
                        "suppressGitDisabledWarning": {
                            "type": "boolean",
                            "default": false
                        },
                        "suppressGitVersionWarning": {
                            "type": "boolean",
                            "default": false
                        },
                        "suppressLineUncommittedWarning": {
                            "type": "boolean",
                            "default": false
                        },
                        "suppressNoRepositoryWarning": {
                            "type": "boolean",
                            "default": false
                        },
                        "suppressShowKeyBindingsNotice": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    "description": "Specifies which messages should be suppressed",
                    "scope": "window"
                },
                "gitlens.advanced.quickPick.closeOnFocusOut": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to close QuickPick menus when focus is lost",
                    "scope": "window"
                },
                "gitlens.advanced.repositorySearchDepth": {
                    "type": "number",
                    "default": 1,
                    "description": "Specifies how many folders deep to search for repositories",
                    "scope": "resource"
                },
                "gitlens.advanced.telemetry.enabled": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether to enable GitLens telemetry (even if enabled still abides by the overall `telemetry.enableTelemetry` setting",
                    "scope": "window"
                }
            }
        },
        "colors": [
            {
                "id": "gitlens.gutterBackgroundColor",
                "description": "Specifies the background color of the gutter blame annotations",
                "defaults": {
                    "dark": "#FFFFFF13",
                    "light": "#0000000C",
                    "highContrast": "#FFFFFF13"
                }
            },
            {
                "id": "gitlens.gutterForegroundColor",
                "description": "Specifies the foreground color of the gutter blame annotations",
                "defaults": {
                    "dark": "#BEBEBE",
                    "light": "#747474",
                    "highContrast": "#BEBEBE"
                }
            },
            {
                "id": "gitlens.gutterUncommittedForegroundColor",
                "description": "Specifies the foreground color of an uncommitted line in the gutter blame annotations",
                "defaults": {
                    "dark": "#00BCF299",
                    "light": "#00BCF299",
                    "highContrast": "#00BCF2FF"
                }
            },
            {
                "id": "gitlens.trailingLineBackgroundColor",
                "description": "Specifies the background color of the blame annotation for the current line",
                "defaults": {
                    "dark": "#00000000",
                    "light": "#00000000",
                    "highContrast": "#00000000"
                }
            },
            {
                "id": "gitlens.trailingLineForegroundColor",
                "description": "Specifies the foreground color of the blame annotation for the current line",
                "defaults": {
                    "dark": "#99999959",
                    "light": "#99999959",
                    "highContrast": "#99999999"
                }
            },
            {
                "id": "gitlens.lineHighlightBackgroundColor",
                "description": "Specifies the background color of the associated line highlights in blame annotations",
                "defaults": {
                    "dark": "#00BCF233",
                    "light": "#00BCF233",
                    "highContrast": "#00BCF233"
                }
            },
            {
                "id": "gitlens.lineHighlightOverviewRulerColor",
                "description": "Specifies the overview ruler color of the associated line highlights in blame annotations",
                "defaults": {
                    "dark": "#00BCF299",
                    "light": "#00BCF299",
                    "highContrast": "#00BCF299"
                }
            }
        ],
        "commands": [
            {
                "command": "gitlens.showSettingsPage",
                "title": "Open Settings",
                "category": "GitLens"
            },
            {
                "command": "gitlens.showWelcomePage",
                "title": "Welcome",
                "category": "GitLens"
            },
            {
                "command": "gitlens.showFileHistoryView",
                "title": "Show File History View",
                "category": "GitLens"
            },
            {
                "command": "gitlens.showLineHistoryView",
                "title": "Show Line History View",
                "category": "GitLens"
            },
            {
                "command": "gitlens.showRepositoriesView",
                "title": "Show Repositories View",
                "category": "GitLens"
            },
            {
                "command": "gitlens.showResultsView",
                "title": "Show Results View",
                "category": "GitLens"
            },
            {
                "command": "gitlens.diffDirectory",
                "title": "Directory Compare Working Tree with...",
                "category": "GitLens"
            },
            {
                "command": "gitlens.diffHeadWithBranch",
                "title": "Compare HEAD with Branch or Tag...",
                "category": "GitLens"
            },
            {
                "command": "gitlens.diffWorkingWithBranch",
                "title": "Compare Working Tree with Branch or Tag...",
                "category": "GitLens"
            },
            {
                "command": "gitlens.diffWithBranch",
                "title": "Open Changes with Branch or Tag...",
                "category": "GitLens"
            },
            {
                "command": "gitlens.diffWithNext",
                "title": "Open Changes with Next Revision",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-next-commit.svg",
                    "light": "images/light/icon-next-commit.svg"
                }
            },
            {
                "command": "gitlens.diffWithPrevious",
                "title": "Open Changes with Previous Revision",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-prev-commit.svg",
                    "light": "images/light/icon-prev-commit.svg"
                }
            },
            {
                "command": "gitlens.diffWithPreviousInDiff",
                "title": "Open Changes with Previous Revision",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-prev-commit.svg",
                    "light": "images/light/icon-prev-commit.svg"
                }
            },
            {
                "command": "gitlens.diffLineWithPrevious",
                "title": "Open Line Changes with Previous Revision",
                "category": "GitLens"
            },
            {
                "command": "gitlens.diffWithRevision",
                "title": "Open Changes with Revision...",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-prev-commit-menu.svg",
                    "light": "images/light/icon-prev-commit-menu.svg"
                }
            },
            {
                "command": "gitlens.diffWithWorking",
                "title": "Open Changes with Working File",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-compare.svg",
                    "light": "images/light/icon-compare.svg"
                }
            },
            {
                "command": "gitlens.diffLineWithWorking",
                "title": "Open Line Changes with Working File",
                "category": "GitLens"
            },
            {
                "command": "gitlens.toggleFileBlame",
                "title": "Toggle File Blame Annotations",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-git.svg",
                    "light": "images/light/icon-git.svg"
                }
            },
            {
                "command": "gitlens.clearFileAnnotations",
                "title": "Clear File Annotations",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-git-orange.svg",
                    "light": "images/light/icon-git-orange.svg"
                }
            },
            {
                "command": "gitlens.computingFileAnnotations",
                "title": "Computing File Annotations...",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-git-progress.svg",
                    "light": "images/light/icon-git-progress.svg"
                }
            },
            {
                "command": "gitlens.toggleFileHeatmap",
                "title": "Toggle File Heatmap Annotations",
                "category": "GitLens"
            },
            {
                "command": "gitlens.toggleFileRecentChanges",
                "title": "Toggle Recent File Changes Annotations",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-git.svg",
                    "light": "images/light/icon-git.svg"
                }
            },
            {
                "command": "gitlens.toggleLineBlame",
                "title": "Toggle Line Blame Annotations",
                "category": "GitLens"
            },
            {
                "command": "gitlens.toggleCodeLens",
                "title": "Toggle Git Code Lens",
                "category": "GitLens"
            },
            {
                "command": "gitlens.switchMode",
                "title": "Switch Mode",
                "category": "GitLens"
            },
            {
                "command": "gitlens.toggleReviewMode",
                "title": "Toggle Review Mode",
                "category": "GitLens"
            },
            {
                "command": "gitlens.toggleZenMode",
                "title": "Toggle Zen Mode",
                "category": "GitLens"
            },
            {
                "command": "gitlens.showCommitSearch",
                "title": "Search Commits",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-search.svg",
                    "light": "images/light/icon-search.svg"
                }
            },
            {
                "command": "gitlens.showLastQuickPick",
                "title": "Show Last Opened Quick Pick",
                "category": "GitLens"
            },
            {
                "command": "gitlens.showCommitInResults",
                "title": "Show Commit in Results",
                "category": "GitLens"
            },
            {
                "command": "gitlens.showFileHistoryInResults",
                "title": "Show File History in Results",
                "category": "GitLens"
            },
            {
                "command": "gitlens.showQuickCommitDetails",
                "title": "Show Commit Details",
                "category": "GitLens"
            },
            {
                "command": "gitlens.showQuickCommitFileDetails",
                "title": "Show Commit Details",
                "category": "GitLens"
            },
            {
                "command": "gitlens.showQuickRevisionDetails",
                "title": "Show Revision Details",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-commit.svg",
                    "light": "images/light/icon-commit.svg"
                }
            },
            {
                "command": "gitlens.showQuickFileHistory",
                "title": "Show File History",
                "category": "GitLens"
            },
            {
                "command": "gitlens.showQuickBranchHistory",
                "title": "Show Branch History",
                "category": "GitLens"
            },
            {
                "command": "gitlens.showQuickRepoHistory",
                "title": "Show Current Branch History",
                "category": "GitLens"
            },
            {
                "command": "gitlens.showQuickRepoStatus",
                "title": "Show Repository Status",
                "category": "GitLens"
            },
            {
                "command": "gitlens.showQuickStashList",
                "title": "Show Stashed Changes",
                "category": "GitLens"
            },
            {
                "command": "gitlens.copyMessageToClipboard",
                "title": "Copy Commit Message to Clipboard",
                "category": "GitLens"
            },
            {
                "command": "gitlens.copyRemoteFileUrlToClipboard",
                "title": "Copy Remote File Url to Clipboard",
                "category": "GitLens"
            },
            {
                "command": "gitlens.copyShaToClipboard",
                "title": "Copy Commit ID to Clipboard",
                "category": "GitLens"
            },
            {
                "command": "gitlens.closeUnchangedFiles",
                "title": "Close Unchanged Files",
                "category": "GitLens"
            },
            {
                "command": "gitlens.openChangedFiles",
                "title": "Open Changed Files",
                "category": "GitLens"
            },
            {
                "command": "gitlens.openBranchesInRemote",
                "title": "Open Branches on Remote",
                "category": "GitLens"
            },
            {
                "command": "gitlens.openBranchInRemote",
                "title": "Open Branch on Remote",
                "category": "GitLens"
            },
            {
                "command": "gitlens.openCommitInRemote",
                "title": "Open Commit on Remote",
                "category": "GitLens"
            },
            {
                "command": "gitlens.openFileInRemote",
                "title": "Open File on Remote",
                "category": "GitLens"
            },
            {
                "command": "gitlens.openFileRevision",
                "title": "Open Revision...",
                "category": "GitLens"
            },
            {
                "command": "gitlens.openRepoInRemote",
                "title": "Open Repository on Remote",
                "category": "GitLens"
            },
            {
                "command": "gitlens.openWorkingFile",
                "title": "Open Working File",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-open-working-file.svg",
                    "light": "images/light/icon-open-working-file.svg"
                }
            },
            {
                "command": "gitlens.stashApply",
                "title": "Apply Stashed Changes",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-stash-pop.svg",
                    "light": "images/light/icon-stash-pop.svg"
                }
            },
            {
                "command": "gitlens.stashDelete",
                "title": "Delete Stashed Changes",
                "category": "GitLens"
            },
            {
                "command": "gitlens.stashSave",
                "title": "Stash Changes",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-stash-save.svg",
                    "light": "images/light/icon-stash-save.svg"
                }
            },
            {
                "command": "gitlens.externalDiff",
                "title": "Open Changes (with difftool)",
                "category": "GitLens"
            },
            {
                "command": "gitlens.externalDiffAll",
                "title": "Open All Changes (with difftool)",
                "category": "GitLens"
            },
            {
                "command": "gitlens.resetSuppressedWarnings",
                "title": "Reset Suppressed Warnings",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.exploreRepoRevision",
                "title": "Explore the Repository from Here",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.repositories.fetchAll",
                "title": "Fetch Repositories",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-sync.svg",
                    "light": "images/light/icon-sync.svg"
                }
            },
            {
                "command": "gitlens.views.repositories.pullAll",
                "title": "Pull Repositories",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-download.svg",
                    "light": "images/light/icon-download.svg"
                }
            },
            {
                "command": "gitlens.views.fetch",
                "title": "Fetch Repository",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-sync.svg",
                    "light": "images/light/icon-sync.svg"
                }
            },
            {
                "command": "gitlens.views.pull",
                "title": "Pull Repository",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-download.svg",
                    "light": "images/light/icon-download.svg"
                }
            },
            {
                "command": "gitlens.views.push",
                "title": "Push Repository",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-upload.svg",
                    "light": "images/light/icon-upload.svg"
                }
            },
            {
                "command": "gitlens.views.stageFile",
                "title": "Stage Changes",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-add.svg",
                    "light": "images/light/icon-add.svg"
                }
            },
            {
                "command": "gitlens.views.unstageFile",
                "title": "Unstage Changes",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-minus.svg",
                    "light": "images/light/icon-minus.svg"
                }
            },
            {
                "command": "gitlens.views.openDirectoryDiff",
                "title": "Open Directory Compare",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.openDirectoryDiffWithWorking",
                "title": "Open Directory Compare with Working Tree",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.openChanges",
                "title": "Open Changes",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.openChangesWithWorking",
                "title": "Open Changes with Working File",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.openFile",
                "title": "Open File",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-open-file.svg",
                    "light": "images/light/icon-open-file.svg"
                }
            },
            {
                "command": "gitlens.views.openFileRevision",
                "title": "Open Revision",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.openFileRevisionInRemote",
                "title": "Open Revision on Remote",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.openChangedFiles",
                "title": "Open Files",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.openChangedFileChanges",
                "title": "Open All Changes",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.openChangedFileChangesWithWorking",
                "title": "Open All Changes with Working Tree",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.openChangedFileRevisions",
                "title": "Open Revisions",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.applyChanges",
                "title": "Apply Changes",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.closeRepository",
                "title": "Close Repository",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.compareAncestryWithWorking",
                "title": "Compare Ancestry with Working Tree",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.compareWithHead",
                "title": "Compare with HEAD",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.compareWithRemote",
                "title": "Compare with Remote",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.compareWithSelected",
                "title": "Compare with Selected",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.compareWithWorking",
                "title": "Compare with Working Tree",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.selectForCompare",
                "title": "Select for Compare",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.terminalCheckoutBranch",
                "title": "Checkout Branch (via Terminal)",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.terminalCreateBranch",
                "title": "Create Branch (via Terminal)...",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.terminalDeleteBranch",
                "title": "Delete Branch (via Terminal)",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.terminalMergeBranch",
                "title": "Merge Branch (via Terminal)",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.terminalRebaseBranch",
                "title": "Rebase (Interactive) Branch (via Terminal)",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.terminalRebaseBranchToRemote",
                "title": "Rebase (Interactive) Branch to Remote (via Terminal)",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.terminalSquashBranchIntoCommit",
                "title": "Squash Branch into Commit (via Terminal)",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.terminalCheckoutCommit",
                "title": "Checkout Commit (via Terminal)",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.terminalCherryPickCommit",
                "title": "Cherry Pick Commit (via Terminal)",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.terminalPushCommit",
                "title": "Push to Commit (via Terminal)",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.terminalRebaseCommit",
                "title": "Rebase to Commit (via Terminal)",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.terminalResetCommit",
                "title": "Reset to Commit (via Terminal)",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.terminalRevertCommit",
                "title": "Revert Commit (via Terminal)",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.terminalRemoveRemote",
                "title": "Remove Remote (via Terminal)",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.terminalCreateTag",
                "title": "Create Tag (via Terminal)...",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.terminalDeleteTag",
                "title": "Delete Tag (via Terminal)",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.repositories.refresh",
                "title": "Refresh",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-refresh.svg",
                    "light": "images/light/icon-refresh.svg"
                }
            },
            {
                "command": "gitlens.views.repositories.refreshNode",
                "title": "Refresh",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.repositories.setFilesLayoutToAuto",
                "title": "Automatic Layout",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.repositories.setFilesLayoutToList",
                "title": "List Layout",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.repositories.setFilesLayoutToTree",
                "title": "Tree Layout",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.repositories.setAutoRefreshToOn",
                "title": "Enable Automatic Refresh",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.repositories.setAutoRefreshToOff",
                "title": "Disable Automatic Refresh",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.fileHistory.refresh",
                "title": "Refresh",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-refresh.svg",
                    "light": "images/light/icon-refresh.svg"
                }
            },
            {
                "command": "gitlens.views.fileHistory.refreshNode",
                "title": "Refresh",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.fileHistory.setEditorFollowingOn",
                "title": "Resume File Tracking",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-location.svg",
                    "light": "images/light/icon-location.svg"
                }
            },
            {
                "command": "gitlens.views.fileHistory.setEditorFollowingOff",
                "title": "Pause File Tracking",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-location-filled.svg",
                    "light": "images/light/icon-location-filled.svg"
                }
            },
            {
                "command": "gitlens.views.fileHistory.setRenameFollowingOn",
                "title": "Follow Renames",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.fileHistory.setRenameFollowingOff",
                "title": "Don't Follow Renames",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.lineHistory.refresh",
                "title": "Refresh",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-refresh.svg",
                    "light": "images/light/icon-refresh.svg"
                }
            },
            {
                "command": "gitlens.views.lineHistory.refreshNode",
                "title": "Refresh",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.lineHistory.setEditorFollowingOn",
                "title": "Resume Line Tracking",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-location.svg",
                    "light": "images/light/icon-location.svg"
                }
            },
            {
                "command": "gitlens.views.lineHistory.setEditorFollowingOff",
                "title": "Pause Line Tracking",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-location-filled.svg",
                    "light": "images/light/icon-location-filled.svg"
                }
            },
            {
                "command": "gitlens.views.lineHistory.setRenameFollowingOn",
                "title": "Follow Renames",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.lineHistory.setRenameFollowingOff",
                "title": "Don't Follow Renames",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.results.close",
                "title": "Close",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-close.svg",
                    "light": "images/light/icon-close.svg"
                }
            },
            {
                "command": "gitlens.views.results.dismissNode",
                "title": "Dismiss",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-close-small.svg",
                    "light": "images/light/icon-close-small.svg"
                }
            },
            {
                "command": "gitlens.views.results.refresh",
                "title": "Refresh",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-refresh.svg",
                    "light": "images/light/icon-refresh.svg"
                }
            },
            {
                "command": "gitlens.views.results.refreshNode",
                "title": "Refresh",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.results.setFilesLayoutToAuto",
                "title": "Automatic Layout",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.results.setFilesLayoutToList",
                "title": "List Layout",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.results.setFilesLayoutToTree",
                "title": "Tree Layout",
                "category": "GitLens"
            },
            {
                "command": "gitlens.views.results.setKeepResultsToOn",
                "title": "Keep Results",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-lock.svg",
                    "light": "images/light/icon-lock.svg"
                }
            },
            {
                "command": "gitlens.views.results.setKeepResultsToOff",
                "title": "Keep Results",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-locked.svg",
                    "light": "images/light/icon-locked.svg"
                }
            },
            {
                "command": "gitlens.views.results.swapComparision",
                "title": "Swap Comparision",
                "category": "GitLens",
                "icon": {
                    "dark": "images/dark/icon-swap.svg",
                    "light": "images/light/icon-swap.svg"
                }
            }
        ],
        "menus": {
            "commandPalette": [
                {
                    "command": "gitlens.showRepositoriesView",
                    "when": "gitlens:enabled && gitlens:views:repositories"
                },
                {
                    "command": "gitlens.showFileHistoryView",
                    "when": "gitlens:enabled && gitlens:views:fileHistory"
                },
                {
                    "command": "gitlens.showLineHistoryView",
                    "when": "gitlens:enabled && gitlens:views:lineHistory"
                },
                {
                    "command": "gitlens.showResultsView",
                    "when": "gitlens:enabled && gitlens:views:results"
                },
                {
                    "command": "gitlens.diffDirectory",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.diffHeadWithBranch",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.diffWorkingWithBranch",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.diffWithBranch",
                    "when": "gitlens:activeFileStatus =~ /tracked/"
                },
                {
                    "command": "gitlens.diffWithNext",
                    "when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /revision/"
                },
                {
                    "command": "gitlens.diffWithPrevious",
                    "when": "!isInDiffEditor && gitlens:activeFileStatus =~ /tracked/"
                },
                {
                    "command": "gitlens.diffWithPreviousInDiff",
                    "when": "isInDiffEditor && gitlens:activeFileStatus =~ /tracked/"
                },
                {
                    "command": "gitlens.diffLineWithPrevious",
                    "when": "gitlens:activeFileStatus =~ /blameable/"
                },
                {
                    "command": "gitlens.diffWithRevision",
                    "when": "gitlens:activeFileStatus =~ /tracked/"
                },
                {
                    "command": "gitlens.diffWithWorking",
                    "when": "gitlens:activeFileStatus =~ /tracked/"
                },
                {
                    "command": "gitlens.diffLineWithWorking",
                    "when": "gitlens:activeFileStatus =~ /blameable/"
                },
                {
                    "command": "gitlens.externalDiff",
                    "when": "gitlens:activeFileStatus =~ /tracked/"
                },
                {
                    "command": "gitlens.externalDiffAll",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.toggleFileBlame",
                    "when": "gitlens:activeFileStatus =~ /blameable/"
                },
                {
                    "command": "gitlens.clearFileAnnotations",
                    "when": "gitlens:activeFileStatus =~ /blameable/ && gitlens:annotationStatus == computed"
                },
                {
                    "command": "gitlens.computingFileAnnotations",
                    "when": "false"
                },
                {
                    "command": "gitlens.toggleFileHeatmap",
                    "when": "gitlens:activeFileStatus =~ /blameable/"
                },
                {
                    "command": "gitlens.toggleFileRecentChanges",
                    "when": "gitlens:activeFileStatus =~ /blameable/"
                },
                {
                    "command": "gitlens.toggleLineBlame",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.toggleCodeLens",
                    "when": "gitlens:enabled && gitlens:canToggleCodeLens"
                },
                {
                    "command": "gitlens.switchMode",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.toggleReviewMode",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.toggleZenMode",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.showCommitSearch",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.showLastQuickPick",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.showCommitInResults",
                    "when": "gitlens:activeFileStatus =~ /blameable/"
                },
                {
                    "command": "gitlens.showFileHistoryInResults",
                    "when": "gitlens:activeFileStatus =~ /tracked/"
                },
                {
                    "command": "gitlens.showQuickCommitDetails",
                    "when": "gitlens:activeFileStatus =~ /blameable/"
                },
                {
                    "command": "gitlens.showQuickCommitFileDetails",
                    "when": "gitlens:activeFileStatus =~ /blameable/"
                },
                {
                    "command": "gitlens.showQuickRevisionDetails",
                    "when": "gitlens:activeFileStatus =~ /revision/"
                },
                {
                    "command": "gitlens.showQuickFileHistory",
                    "when": "gitlens:activeFileStatus =~ /tracked/"
                },
                {
                    "command": "gitlens.showQuickBranchHistory",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.showQuickRepoHistory",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.showQuickRepoStatus",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.showQuickStashList",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.copyMessageToClipboard",
                    "when": "gitlens:activeFileStatus =~ /blameable/"
                },
                {
                    "command": "gitlens.copyRemoteFileUrlToClipboard",
                    "when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /remotes/"
                },
                {
                    "command": "gitlens.copyShaToClipboard",
                    "when": "gitlens:activeFileStatus =~ /blameable/"
                },
                {
                    "command": "gitlens.closeUnchangedFiles",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.openChangedFiles",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.openBranchesInRemote",
                    "when": "gitlens:hasRemotes"
                },
                {
                    "command": "gitlens.openBranchInRemote",
                    "when": "gitlens:hasRemotes"
                },
                {
                    "command": "gitlens.openCommitInRemote",
                    "when": "gitlens:activeFileStatus =~ /blameable/ && gitlens:activeFileStatus =~ /remotes/"
                },
                {
                    "command": "gitlens.openFileInRemote",
                    "when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /remotes/"
                },
                {
                    "command": "gitlens.openFileRevision",
                    "when": "gitlens:activeFileStatus =~ /tracked/"
                },
                {
                    "command": "gitlens.openRepoInRemote",
                    "when": "gitlens:hasRemotes"
                },
                {
                    "command": "gitlens.openWorkingFile",
                    "when": "gitlens:activeFileStatus =~ /revision/"
                },
                {
                    "command": "gitlens.stashApply",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.stashDelete",
                    "when": "false"
                },
                {
                    "command": "gitlens.stashSave",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.resetSuppressedWarnings",
                    "when": "gitlens:enabled"
                },
                {
                    "command": "gitlens.views.exploreRepoRevision",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.repositories.fetchAll",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.repositories.pullAll",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.fetch",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.pull",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.push",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.stageFile",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.unstageFile",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.openChanges",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.openDirectoryDiff",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.openDirectoryDiffWithWorking",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.openChangesWithWorking",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.openFile",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.openFileRevision",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.openFileRevisionInRemote",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.openChangedFiles",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.openChangedFileChanges",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.openChangedFileChangesWithWorking",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.openChangedFileRevisions",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.applyChanges",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.closeRepository",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.compareAncestryWithWorking",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.compareWithHead",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.compareWithRemote",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.compareWithSelected",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.compareWithWorking",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.selectForCompare",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.terminalCheckoutBranch",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.terminalCreateBranch",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.terminalDeleteBranch",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.terminalMergeBranch",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.terminalRebaseBranch",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.terminalRebaseBranchToRemote",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.terminalSquashBranchIntoCommit",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.terminalCheckoutCommit",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.terminalCherryPickCommit",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.terminalPushCommit",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.terminalRebaseCommit",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.terminalResetCommit",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.terminalRevertCommit",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.terminalRemoveRemote",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.terminalCreateTag",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.terminalDeleteTag",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.repositories.refresh",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.repositories.refreshNode",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.repositories.setFilesLayoutToAuto",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.repositories.setFilesLayoutToList",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.repositories.setFilesLayoutToTree",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.repositories.setAutoRefreshToOn",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.repositories.setAutoRefreshToOff",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.fileHistory.refresh",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.fileHistory.refreshNode",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.fileHistory.setEditorFollowingOn",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.fileHistory.setEditorFollowingOff",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.fileHistory.setRenameFollowingOn",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.fileHistory.setRenameFollowingOff",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.lineHistory.refresh",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.lineHistory.refreshNode",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.lineHistory.setEditorFollowingOn",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.lineHistory.setEditorFollowingOff",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.lineHistory.setRenameFollowingOn",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.lineHistory.setRenameFollowingOff",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.results.close",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.results.dismissNode",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.results.refresh",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.results.refreshNode",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.results.setFilesLayoutToAuto",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.results.setFilesLayoutToList",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.results.setFilesLayoutToTree",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.results.setKeepResultsToOn",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.results.setKeepResultsToOff",
                    "when": "false"
                },
                {
                    "command": "gitlens.views.results.swapComparision",
                    "when": "false"
                }
            ],
            "editor/context": [
                {
                    "command": "gitlens.diffLineWithPrevious",
                    "when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.compare",
                    "group": "1_gitlens@1"
                },
                {
                    "command": "gitlens.diffLineWithWorking",
                    "when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.compare",
                    "group": "1_gitlens@2"
                },
                {
                    "command": "gitlens.openFileInRemote",
                    "when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.remote",
                    "group": "1_gitlens_1@1"
                },
                {
                    "command": "gitlens.openCommitInRemote",
                    "when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.remote",
                    "group": "1_gitlens_1@2"
                },
                {
                    "command": "gitlens.showQuickCommitFileDetails",
                    "when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.details",
                    "group": "1_gitlens_1@3"
                },
                {
                    "command": "gitlens.showQuickFileHistory",
                    "when": "gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editor.history",
                    "group": "3_gitlens@1"
                },
                {
                    "command": "gitlens.toggleFileBlame",
                    "when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.blame",
                    "group": "3_gitlens@2"
                },
                {
                    "command": "gitlens.copyShaToClipboard",
                    "when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard",
                    "group": "9_gitlens@1"
                },
                {
                    "command": "gitlens.copyMessageToClipboard",
                    "when": "editorTextFocus && gitlens:activeFileStatus =~ /blameable/ && config.gitlens.menus.editor.clipboard",
                    "group": "9_gitlens@2"
                },
                {
                    "command": "gitlens.copyRemoteFileUrlToClipboard",
                    "when": "editorTextFocus && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editor.clipboard",
                    "group": "9_gitlens@3"
                }
            ],
            "editor/title": [
                {
                    "command": "gitlens.diffWithWorking",
                    "when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != file && resourceScheme != git",
                    "group": "navigation@0"
                },
                {
                    "command": "gitlens.openWorkingFile",
                    "when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != file && resourceScheme != git",
                    "group": "navigation@0"
                },
                {
                    "command": "gitlens.openWorkingFile",
                    "when": "!gitlens:activeFileStatus =~ /revision/ && resourceScheme != file && resourceScheme != git && isInDiffEditor",
                    "group": "navigation@0"
                },
                {
                    "command": "gitlens.openWorkingFile",
                    "when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme == git && !isInDiffEditor",
                    "group": "navigation@0"
                },
                {
                    "command": "gitlens.diffWithPrevious",
                    "alt": "gitlens.diffWithRevision",
                    "when": "!isInDiffEditor && gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare",
                    "group": "navigation@97"
                },
                {
                    "command": "gitlens.diffWithPreviousInDiff",
                    "alt": "gitlens.diffWithRevision",
                    "when": "isInDiffEditor && gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.compare",
                    "group": "navigation@97"
                },
                {
                    "command": "gitlens.showQuickRevisionDetails",
                    "when": "gitlens:activeFileStatus =~ /revision/ && resourceScheme != git",
                    "group": "navigation@98"
                },
                {
                    "command": "gitlens.diffWithNext",
                    "when": "gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /tracked/ && gitlens:activeFileStatus =~ /revision/ && config.gitlens.menus.editorGroup.compare",
                    "group": "navigation@99"
                },
                {
                    "command": "gitlens.toggleFileBlame",
                    "alt": "gitlens.toggleFileRecentChanges",
                    "when": "gitlens:activeFileStatus =~ /blameable/ && !gitlens:annotationStatus && config.gitlens.menus.editorGroup.blame",
                    "group": "navigation@100"
                },
                {
                    "command": "gitlens.computingFileAnnotations",
                    "when": "gitlens:activeFileStatus =~ /blameable/ && gitlens:annotationStatus == computing && config.gitlens.menus.editorGroup.blame",
                    "group": "navigation@100"
                },
                {
                    "command": "gitlens.clearFileAnnotations",
                    "when": "gitlens:activeFileStatus =~ /blameable/ && gitlens:annotationStatus == computed && config.gitlens.menus.editorGroup.blame",
                    "group": "navigation@100"
                },
                {
                    "command": "gitlens.openFileInRemote",
                    "when": "gitlens:enabled && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editorGroup.remote",
                    "group": "4_gitlens"
                },
                {
                    "command": "gitlens.showQuickFileHistory",
                    "when": "editorFocus && gitlens:activeFileStatus =~ /tracked/ && config.gitlens.menus.editorGroup.history",
                    "group": "4_gitlens"
                }
            ],
            "editor/title/context": [
                {
                    "command": "gitlens.openFileInRemote",
                    "when": "gitlens:enabled && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editorTab.remote",
                    "group": "2_files@100"
                },
                {
                    "command": "gitlens.copyRemoteFileUrlToClipboard",
                    "when": "gitlens:enabled && gitlens:activeFileStatus =~ /remotes/ && config.gitlens.menus.editorTab.remote",
                    "group": "2_files@101"
                },
                {
                    "command": "gitlens.diffWithPrevious",
                    "when": "gitlens:enabled && config.gitlens.menus.editorTab.compare",
                    "group": "1_gitlens_1@1"
                },
                {
                    "command": "gitlens.diffWithWorking",
                    "when": "gitlens:enabled && config.gitlens.menus.editorTab.compare",
                    "group": "1_gitlens_1@2"
                },
                {
                    "command": "gitlens.showQuickFileHistory",
                    "when": "gitlens:enabled && config.gitlens.menus.editorTab.history",
                    "group": "1_gitlens_2@1"
                }
            ],
            "explorer/context": [
                {
                    "command": "gitlens.openFileInRemote",
                    "when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.explorer.remote",
                    "group": "navigation@100"
                },
                {
                    "command": "gitlens.showQuickFileHistory",
                    "when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.history",
                    "group": "1_gitlens_1@1"
                },
                {
                    "command": "gitlens.diffWithPrevious",
                    "when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && config.gitlens.menus.explorer.compare",
                    "group": "3_compare@1"
                },
                {
                    "command": "gitlens.copyRemoteFileUrlToClipboard",
                    "when": "!explorerResourceIsRoot && !explorerResourceIsFolder && gitlens:enabled && gitlens:hasRemotes && config.gitlens.menus.explorer.remote",
                    "group": "9_gitlens@1"
                }
            ],
            "scm/resourceGroup/context": [
                {
                    "command": "gitlens.openChangedFiles",
                    "when": "gitlens:enabled",
                    "group": "2_gitlens@1"
                },
                {
                    "command": "gitlens.closeUnchangedFiles",
                    "when": "gitlens:enabled",
                    "group": "2_gitlens@2"
                },
                {
                    "command": "gitlens.externalDiff",
                    "when": "gitlens:enabled",
                    "group": "2_gitlens@3"
                },
                {
                    "command": "gitlens.stashSave",
                    "when": "gitlens:enabled",
                    "group": "3_gitlens@1"
                }
            ],
            "scm/resourceState/context": [
                {
                    "command": "gitlens.openFileInRemote",
                    "when": "gitlens:enabled && gitlens:hasRemotes",
                    "group": "navigation"
                },
                {
                    "command": "gitlens.externalDiff",
                    "when": "gitlens:enabled",
                    "group": "navigation"
                },
                {
                    "command": "gitlens.diffWithRevision",
                    "when": "gitlens:enabled",
                    "group": "1_gitlens@1"
                },
                {
                    "command": "gitlens.diffWithBranch",
                    "when": "gitlens:enabled",
                    "group": "1_gitlens@2"
                },
                {
                    "command": "gitlens.showQuickFileHistory",
                    "when": "gitlens:enabled",
                    "group": "1_gitlens_1@1"
                },
                {
                    "command": "gitlens.stashSave",
                    "when": "gitlens:enabled",
                    "group": "2_gitlens@1"
                },
                {
                    "command": "gitlens.copyRemoteFileUrlToClipboard",
                    "when": "gitlens:enabled && gitlens:hasRemotes",
                    "group": "9_gitlens@1"
                }
            ],
            "view/title": [
                {
                    "command": "gitlens.showCommitSearch",
                    "when": "view =~ /^gitlens.views.repositories:/",
                    "group": "navigation@1"
                },
                {
                    "command": "gitlens.views.repositories.pullAll",
                    "when": "view =~ /^gitlens.views.repositories:/",
                    "group": "navigation@7"
                },
                {
                    "command": "gitlens.views.repositories.fetchAll",
                    "when": "view =~ /^gitlens.views.repositories:/",
                    "group": "navigation@8"
                },
                {
                    "command": "gitlens.views.repositories.refresh",
                    "when": "view =~ /^gitlens.views.repositories:/",
                    "group": "navigation@9"
                },
                {
                    "command": "gitlens.views.repositories.setFilesLayoutToAuto",
                    "when": "view =~ /^gitlens.views.repositories:/",
                    "group": "1_gitlens"
                },
                {
                    "command": "gitlens.views.repositories.setFilesLayoutToList",
                    "when": "view =~ /^gitlens.views.repositories:/",
                    "group": "1_gitlens"
                },
                {
                    "command": "gitlens.views.repositories.setFilesLayoutToTree",
                    "when": "view =~ /^gitlens.views.repositories:/",
                    "group": "1_gitlens"
                },
                {
                    "command": "gitlens.views.repositories.setAutoRefreshToOn",
                    "when": "view =~ /^gitlens.views.repositories:/ && config.gitlens.views.repositories.autoRefresh && !gitlens:views:repositories:autoRefresh",
                    "group": "2_gitlens"
                },
                {
                    "command": "gitlens.views.repositories.setAutoRefreshToOff",
                    "when": "view =~ /^gitlens.views.repositories:/ && config.gitlens.views.repositories.autoRefresh && gitlens:views:repositories:autoRefresh",
                    "group": "2_gitlens"
                },
                {
                    "command": "gitlens.views.fileHistory.setEditorFollowingOn",
                    "when": "view =~ /^gitlens.views.fileHistory:/ && !gitlens:views:fileHistory:editorFollowing",
                    "group": "navigation@1"
                },
                {
                    "command": "gitlens.views.fileHistory.setEditorFollowingOff",
                    "when": "view =~ /^gitlens.views.fileHistory:/ && gitlens:views:fileHistory:editorFollowing",
                    "group": "navigation@1"
                },
                {
                    "command": "gitlens.views.fileHistory.refresh",
                    "when": "view =~ /^gitlens.views.fileHistory:/",
                    "group": "navigation@2"
                },
                {
                    "command": "gitlens.views.fileHistory.setRenameFollowingOn",
                    "when": "view =~ /^gitlens.views.fileHistory:/ && !config.gitlens.advanced.fileHistoryFollowsRenames",
                    "group": "1_gitlens"
                },
                {
                    "command": "gitlens.views.fileHistory.setRenameFollowingOff",
                    "when": "view =~ /^gitlens.views.fileHistory:/ && config.gitlens.advanced.fileHistoryFollowsRenames",
                    "group": "1_gitlens"
                },
                {
                    "command": "gitlens.views.lineHistory.setEditorFollowingOn",
                    "when": "view =~ /^gitlens.views.lineHistory:/ && !gitlens:views:lineHistory:editorFollowing",
                    "group": "navigation@1"
                },
                {
                    "command": "gitlens.views.lineHistory.setEditorFollowingOff",
                    "when": "view =~ /^gitlens.views.lineHistory:/ && gitlens:views:lineHistory:editorFollowing",
                    "group": "navigation@1"
                },
                {
                    "command": "gitlens.views.lineHistory.refresh",
                    "when": "view =~ /^gitlens.views.lineHistory:/",
                    "group": "navigation@2"
                },
                {
                    "command": "gitlens.views.lineHistory.setRenameFollowingOn",
                    "when": "view =~ /^gitlens.views.lineHistory:/ && !config.gitlens.advanced.fileHistoryFollowsRenames",
                    "group": "1_gitlens"
                },
                {
                    "command": "gitlens.views.lineHistory.setRenameFollowingOff",
                    "when": "view =~ /^gitlens.views.lineHistory:/ && config.gitlens.advanced.fileHistoryFollowsRenames",
                    "group": "1_gitlens"
                },
                {
                    "command": "gitlens.showCommitSearch",
                    "when": "view =~ /^gitlens.views.results:/",
                    "group": "navigation@1"
                },
                {
                    "command": "gitlens.views.results.setKeepResultsToOn",
                    "when": "view =~ /^gitlens.views.results:/ && !gitlens:views:results:keepResults",
                    "group": "navigation@2"
                },
                {
                    "command": "gitlens.views.results.setKeepResultsToOff",
                    "when": "view =~ /^gitlens.views.results:/ && gitlens:views:results:keepResults",
                    "group": "navigation@2"
                },
                {
                    "command": "gitlens.views.results.refresh",
                    "when": "view =~ /^gitlens.views.results:/",
                    "group": "navigation@3"
                },
                {
                    "command": "gitlens.views.results.close",
                    "when": "view =~ /^gitlens.views.results:/",
                    "group": "navigation@9"
                },
                {
                    "command": "gitlens.views.results.setFilesLayoutToAuto",
                    "when": "view =~ /^gitlens.views.results:/",
                    "group": "1_gitlens"
                },
                {
                    "command": "gitlens.views.results.setFilesLayoutToList",
                    "when": "view =~ /^gitlens.views.results:/",
                    "group": "1_gitlens"
                },
                {
                    "command": "gitlens.views.results.setFilesLayoutToTree",
                    "when": "view =~ /^gitlens.views.results:/",
                    "group": "1_gitlens"
                }
            ],
            "view/item/context": [
                {
                    "command": "gitlens.openBranchesInRemote",
                    "when": "viewItem == gitlens:branches:remotes",
                    "group": "1_gitlens@1"
                },
                {
                    "command": "gitlens.openBranchInRemote",
                    "when": "viewItem =~ /gitlens:(branch\\b(.*?:tracking|:remote))/",
                    "group": "1_gitlens@1"
                },
                {
                    "command": "gitlens.views.compareWithRemote",
                    "when": "viewItem =~ /gitlens:(branch\\b.*?:tracking)/",
                    "group": "7_gitlens@1"
                },
                {
                    "command": "gitlens.views.compareWithHead",
                    "when": "viewItem =~ /gitlens:(branch(?!:current)|commit|stash|tag)\\b/",
                    "group": "7_gitlens@2"
                },
                {
                    "command": "gitlens.views.compareWithWorking",
                    "when": "viewItem =~ /gitlens:(branch(?!:current)|commit|stash|tag)\\b/",
                    "group": "7_gitlens@3"
                },
                {
                    "command": "gitlens.views.compareAncestryWithWorking",
                    "when": "viewItem =~ /gitlens:branch(?!:current)\\b/",
                    "group": "7_gitlens@4"
                },
                {
                    "command": "gitlens.views.compareWithSelected",
                    "when": "viewItem =~ /gitlens:(branch|commit|stash|tag|file:)\\b/ && gitlens:views:canCompare",
                    "group": "7_gitlens_@1"
                },
                {
                    "command": "gitlens.views.selectForCompare",
                    "when": "viewItem =~ /gitlens:(branch|commit|stash|tag|file:)\\b/",
                    "group": "7_gitlens_@2"
                },
                {
                    "command": "gitlens.views.openDirectoryDiffWithWorking",
                    "when": "viewItem =~ /gitlens:(branch|tag)\\b/",
                    "group": "7_gitlens_more@2"
                },
                {
                    "command": "gitlens.views.terminalCheckoutBranch",
                    "when": "viewItem =~ /gitlens:(branch\\b(?!:current))/",
                    "group": "8_gitlens@1"
                },
                {
                    "command": "gitlens.views.terminalRebaseBranchToRemote",
                    "when": "viewItem =~ /gitlens:(branch:current:tracking|status:upstream)\\b/",
                    "group": "8_gitlens@1"
                },
                {
                    "command": "gitlens.views.terminalMergeBranch",
                    "when": "viewItem =~ /gitlens:(branch\\b(?!:current))/",
                    "group": "8_gitlens@2"
                },
                {
                    "command": "gitlens.views.terminalRebaseBranch",
                    "when": "viewItem =~ /gitlens:(branch\\b(?!:current))/",
                    "group": "8_gitlens@3"
                },
                {
                    "command": "gitlens.views.terminalSquashBranchIntoCommit",
                    "when": "viewItem =~ /gitlens:(branch\\b(?!:current))/",
                    "group": "8_gitlens@4"
                },
                {
                    "command": "gitlens.views.terminalCreateBranch",
                    "when": "viewItem =~ /gitlens:(branch|commit|status:upstream|tag)\\b/",
                    "group": "8_gitlens@5"
                },
                {
                    "command": "gitlens.views.terminalDeleteBranch",
                    "when": "viewItem =~ /gitlens:(branch\\b(?!:current))/",
                    "group": "8_gitlens@6"
                },
                {
                    "command": "gitlens.views.terminalCreateTag",
                    "when": "viewItem =~ /gitlens:(branch|commit|status:upstream)\\b/",
                    "group": "8_gitlens@7"
                },
                {
                    "command": "gitlens.openCommitInRemote",
                    "when": "viewItem =~ /gitlens:commit\\b/ && gitlens:hasRemotes",
                    "group": "1_gitlens@1"
                },
                {
                    "command": "gitlens.views.openChangedFileChanges",
                    "when": "viewItem =~ /gitlens:(commit|stash)\\b/",
                    "group": "2_gitlens@1"
                },
                {
                    "command": "gitlens.views.openChangedFileChangesWithWorking",
                    "when": "viewItem =~ /gitlens:(commit|stash)\\b/",
                    "group": "2_gitlens@2"
                },
                {
                    "command": "gitlens.views.openChangedFiles",
                    "when": "viewItem =~ /gitlens:(commit|stash)\\b/",
                    "group": "3_gitlens@1"
                },
                {
                    "command": "gitlens.views.openChangedFileRevisions",
                    "when": "viewItem =~ /gitlens:(commit|stash)\\b/",
                    "group": "3_gitlens@2"
                },
                {
                    "command": "gitlens.copyShaToClipboard",
                    "when": "viewItem =~ /gitlens:(file:)?commit\\b/",
                    "group": "5_gitlens@1"
                },
                {
                    "command": "gitlens.copyMessageToClipboard",
                    "when": "viewItem =~ /gitlens:(commit|stash|file:commit)\\b/",
                    "group": "5_gitlens@2"
                },
                {
                    "command": "gitlens.showQuickCommitDetails",
                    "when": "viewItem =~ /gitlens:commit\\b/",
                    "group": "5_gitlens_1@1"
                },
                {
                    "command": "gitlens.showCommitInResults",
                    "when": "viewItem =~ /gitlens:commit\\b/",
                    "group": "5_gitlens_1@2"
                },
                {
                    "command": "gitlens.views.terminalCherryPickCommit",
                    "when": "viewItem == gitlens:commit",
                    "group": "8_gitlens@1"
                },
                {
                    "command": "gitlens.views.terminalPushCommit",
                    "when": "viewItem == gitlens:commit:current",
                    "group": "8_gitlens@2"
                },
                {
                    "command": "gitlens.views.terminalRevertCommit",
                    "when": "viewItem == gitlens:commit:current",
                    "group": "8_gitlens@3"
                },
                {
                    "command": "gitlens.views.terminalCheckoutCommit",
                    "when": "viewItem =~ /gitlens:commit\\b/",
                    "group": "8_gitlens@4"
                },
                {
                    "command": "gitlens.views.terminalRebaseCommit",
                    "when": "viewItem =~ /gitlens:commit\\b/",
                    "group": "8_gitlens@5"
                },
                {
                    "command": "gitlens.views.terminalResetCommit",
                    "when": "viewItem =~ /gitlens:commit\\b/",
                    "group": "8_gitlens@6"
                },
                {
                    "command": "gitlens.views.openFile",
                    "when": "viewItem =~ /gitlens:(file|history-file|status:file)\\b/",
                    "group": "inline"
                },
                {
                    "command": "gitlens.views.stageFile",
                    "when": "viewItem =~ /gitlens:file\\b.*:unstaged\\b/",
                    "group": "inline"
                },
                {
                    "command": "gitlens.views.unstageFile",
                    "when": "viewItem =~ /gitlens:file\\b.*:staged\\b/",
                    "group": "inline"
                },
                {
                    "command": "gitlens.views.stageFile",
                    "when": "viewItem =~ /gitlens:file\\b.*:unstaged\\b/",
                    "group": "1_gitlens@1"
                },
                {
                    "command": "gitlens.views.unstageFile",
                    "when": "viewItem =~ /gitlens:file\\b.*:staged\\b/",
                    "group": "1_gitlens@1"
                },
                {
                    "command": "gitlens.stashSave",
                    "when": "viewItem =~ /gitlens:file\\b.*:(un)?staged\\b/",
                    "group": "1_gitlens@2"
                },
                {
                    "command": "gitlens.views.openChanges",
                    "when": "viewItem =~ /gitlens:file\\b/",
                    "group": "2_gitlens@1"
                },
                {
                    "command": "gitlens.externalDiff",
                    "when": "viewItem =~ /gitlens:file\\b/",
                    "group": "2_gitlens@2"
                },
                {
                    "command": "gitlens.views.openChangesWithWorking",
                    "when": "viewItem =~ /gitlens:file\\b/",
                    "group": "2_gitlens@3"
                },
                {
                    "command": "gitlens.views.openFile",
                    "when": "viewItem =~ /gitlens:(file|history-file|status:file)\\b/",
                    "group": "3_gitlens@1"
                },
                {
                    "command": "gitlens.views.openFileRevision",
                    "when": "viewItem =~ /gitlens:file\\b/",
                    "group": "3_gitlens@2"
                },
                {
                    "command": "gitlens.openFileInRemote",
                    "when": "viewItem =~ /gitlens:file\\b/ && gitlens:hasRemotes",
                    "group": "4_gitlens@1"
                },
                {
                    "command": "gitlens.copyRemoteFileUrlToClipboard",
                    "when": "viewItem =~ /gitlens:file\\b/ && gitlens:hasRemotes",
                    "group": "5_gitlens@3"
                },
                {
                    "command": "gitlens.views.openFileRevisionInRemote",
                    "when": "viewItem == gitlens:file:commit && gitlens:hasRemotes",
                    "group": "4_gitlens@2"
                },
                {
                    "command": "gitlens.openFileInRemote",
                    "when": "viewItem =~ /gitlens:(history-file|status:file)\\b/ && gitlens:hasRemotes",
                    "group": "3_gitlens@2"
                },
                {
                    "command": "gitlens.copyRemoteFileUrlToClipboard",
                    "when": "viewItem =~ /gitlens:(history-file|status:file)\\b/ && gitlens:hasRemotes",
                    "group": "5_gitlens@3"
                },
                {
                    "command": "gitlens.views.applyChanges",
                    "when": "viewItem =~ /gitlens:file:(commit|results)\\b/",
                    "group": "5_gitlens_1@1"
                },
                {
                    "command": "gitlens.views.applyChanges",
                    "when": "viewItem == gitlens:file:stash",
                    "group": "1_gitlens@1"
                },
                {
                    "command": "gitlens.showQuickCommitDetails",
                    "when": "viewItem =~ /gitlens:file\\b(?!(:stash|:status))/",
                    "group": "5_gitlens_2@2"
                },
                {
                    "command": "gitlens.showCommitInResults",
                    "when": "viewItem =~ /gitlens:file\\b(?!(:stash|:status))/",
                    "group": "5_gitlens_2@3"
                },
                {
                    "command": "gitlens.showQuickFileHistory",
                    "when": "viewItem =~ /gitlens:file\\b/",
                    "group": "8_gitlens@1"
                },
                {
                    "command": "gitlens.showFileHistoryInResults",
                    "when": "viewItem =~ /gitlens:file\\b/",
                    "group": "8_gitlens@2"
                },
                {
                    "command": "gitlens.openBranchesInRemote",
                    "when": "viewItem == gitlens:remote",
                    "group": "1_gitlens@1"
                },
                {
                    "command": "gitlens.openRepoInRemote",
                    "when": "viewItem == gitlens:remote",
                    "group": "1_gitlens@2"
                },
                {
                    "command": "gitlens.views.terminalRemoveRemote",
                    "when": "viewItem == gitlens:remote",
                    "group": "8_gitlens@1"
                },
                {
                    "command": "gitlens.views.exploreRepoRevision",
                    "when": "viewItem =~ /gitlens:(branch|commit|file:(commit|results)|stash|tag)\\b/",
                    "group": "7_gitlens_more@1"
                },
                {
                    "command": "gitlens.views.push",
                    "when": "viewItem == gitlens:repository && gitlens:hasRemotes",
                    "group": "inline@97"
                },
                {
                    "command": "gitlens.views.pull",
                    "when": "viewItem == gitlens:repository && gitlens:hasRemotes",
                    "group": "inline@98"
                },
                {
                    "command": "gitlens.views.fetch",
                    "when": "viewItem == gitlens:repository && gitlens:hasRemotes",
                    "group": "inline@99"
                },
                {
                    "command": "gitlens.views.fetch",
                    "when": "viewItem == gitlens:repository && gitlens:hasRemotes",
                    "group": "1_gitlens@1"
                },
                {
                    "command": "gitlens.views.pull",
                    "when": "viewItem == gitlens:repository && gitlens:hasRemotes",
                    "group": "1_gitlens@2"
                },
                {
                    "command": "gitlens.views.push",
                    "when": "viewItem == gitlens:repository && gitlens:hasRemotes",
                    "group": "1_gitlens@3"
                },
                {
                    "command": "gitlens.showCommitSearch",
                    "when": "viewItem == gitlens:repository",
                    "group": "2_gitlens@1"
                },
                {
                    "command": "gitlens.stashSave",
                    "when": "viewItem == gitlens:repository",
                    "group": "3_gitlens@1"
                },
                {
                    "command": "gitlens.stashApply",
                    "when": "viewItem == gitlens:repository",
                    "group": "3_gitlens@2"
                },
                {
                    "command": "gitlens.openRepoInRemote",
                    "when": "viewItem == gitlens:repository && gitlens:hasRemotes",
                    "group": "4_gitlens@1"
                },
                {
                    "command": "gitlens.views.closeRepository",
                    "when": "viewItem == gitlens:repository",
                    "group": "8_gitlens@1"
                },
                {
                    "command": "gitlens.views.results.swapComparision",
                    "when": "viewItem == gitlens:results:comparison",
                    "group": "inline@1"
                },
                {
                    "command": "gitlens.views.results.dismissNode",
                    "when": "viewItem =~ /gitlens:results\\b(?!:(commits|files))/",
                    "group": "inline@2"
                },
                {
                    "command": "gitlens.views.results.dismissNode",
                    "when": "viewItem =~ /gitlens:results\\b(?!:(commits|files))/",
                    "group": "1_gitlens@1"
                },
                {
                    "command": "gitlens.views.results.swapComparision",
                    "when": "viewItem == gitlens:results:comparison",
                    "group": "2_gitlens@1"
                },
                {
                    "command": "gitlens.views.openDirectoryDiff",
                    "when": "viewItem == gitlens:results:comparison",
                    "group": "7_gitlens@1"
                },
                {
                    "command": "gitlens.stashSave",
                    "when": "viewItem == gitlens:stashes",
                    "group": "inline@1"
                },
                {
                    "command": "gitlens.stashSave",
                    "when": "viewItem == gitlens:stashes",
                    "group": "1_gitlens@1"
                },
                {
                    "command": "gitlens.stashApply",
                    "when": "viewItem == gitlens:stashes",
                    "group": "1_gitlens@2"
                },
                {
                    "command": "gitlens.stashApply",
                    "when": "viewItem == gitlens:stash",
                    "group": "inline@1"
                },
                {
                    "command": "gitlens.stashApply",
                    "when": "viewItem == gitlens:stash",
                    "group": "1_gitlens@1"
                },
                {
                    "command": "gitlens.stashDelete",
                    "when": "viewItem == gitlens:stash",
                    "group": "1_gitlens@2"
                },
                {
                    "command": "gitlens.views.terminalDeleteTag",
                    "when": "viewItem == gitlens:tag",
                    "group": "8_gitlens"
                },
                {
                    "command": "gitlens.views.repositories.refreshNode",
                    "when": "view =~ /^gitlens.views.repositories:/ && viewItem =~ /gitlens:(?!file\\b)/",
                    "group": "9_gitlens@1"
                },
                {
                    "command": "gitlens.views.results.refreshNode",
                    "when": "view =~ /^gitlens.views.results:/ && viewItem =~ /gitlens:(?!file\\b)/",
                    "group": "9_gitlens@1"
                },
                {
                    "command": "gitlens.views.fileHistory.refreshNode",
                    "when": "view =~ /^gitlens.views.fileHistory:/ && viewItem =~ /gitlens:(?!file\\b)/",
                    "group": "9_gitlens@1"
                },
                {
                    "command": "gitlens.views.lineHistory.refreshNode",
                    "when": "view =~ /^gitlens.views.lineHistory:/ && viewItem =~ /gitlens:(?!file\\b)/",
                    "group": "9_gitlens@1"
                }
            ]
        },
        "keybindings": [
            {
                "command": "gitlens.key.left",
                "key": "alt+left",
                "when": "gitlens:key:left"
            },
            {
                "command": "gitlens.key.right",
                "key": "alt+right",
                "when": "gitlens:key:right"
            },
            {
                "command": "gitlens.key.,",
                "key": "alt+,",
                "when": "gitlens:key:,"
            },
            {
                "command": "gitlens.key..",
                "key": "alt+.",
                "when": "gitlens:key:."
            },
            {
                "command": "gitlens.key.escape",
                "key": "escape",
                "when": "gitlens:key:escape && editorTextFocus && !findWidgetVisible && !renameInputVisible && !suggestWidgetVisible && !isInEmbeddedEditor"
            },
            {
                "command": "gitlens.toggleFileBlame",
                "key": "alt+b",
                "when": "gitlens:keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /blameable/"
            },
            {
                "command": "gitlens.toggleCodeLens",
                "key": "shift+alt+b",
                "when": "gitlens:keymap == alternate && editorTextFocus && gitlens:enabled && gitlens:canToggleCodeLens"
            },
            {
                "command": "gitlens.showLastQuickPick",
                "key": "alt+-",
                "when": "gitlens:keymap == alternate && gitlens:enabled"
            },
            {
                "command": "gitlens.showCommitSearch",
                "key": "alt+/",
                "when": "gitlens:keymap == alternate && gitlens:enabled"
            },
            {
                "command": "gitlens.showQuickFileHistory",
                "key": "alt+h",
                "when": "gitlens:keymap == alternate && gitlens:enabled"
            },
            {
                "command": "gitlens.showQuickRepoHistory",
                "key": "shift+alt+h",
                "when": "gitlens:keymap == alternate && gitlens:enabled"
            },
            {
                "command": "gitlens.showQuickRepoStatus",
                "key": "alt+s",
                "when": "gitlens:keymap == alternate && gitlens:enabled"
            },
            {
                "command": "gitlens.showQuickCommitFileDetails",
                "key": "alt+c",
                "when": "gitlens:keymap == alternate && editorTextFocus && gitlens:enabled"
            },
            {
                "command": "gitlens.diffWithNext",
                "key": "alt+.",
                "when": "gitlens:keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
            },
            {
                "command": "gitlens.diffLineWithPrevious",
                "key": "shift+alt+,",
                "when": "gitlens:keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
            },
            {
                "command": "gitlens.diffWithPrevious",
                "key": "alt+,",
                "when": "gitlens:keymap == alternate && editorTextFocus && !isInDiffEditor && gitlens:activeFileStatus =~ /tracked/"
            },
            {
                "command": "gitlens.diffWithPreviousInDiff",
                "key": "alt+,",
                "when": "gitlens:keymap == alternate && isInDiffEditor && gitlens:activeFileStatus =~ /tracked/"
            },
            {
                "command": "gitlens.diffLineWithWorking",
                "key": "alt+w",
                "when": "gitlens:keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
            },
            {
                "command": "gitlens.diffWithWorking",
                "key": "shift+alt+w",
                "when": "gitlens:keymap == alternate && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
            },
            {
                "command": "gitlens.toggleFileBlame",
                "key": "ctrl+shift+g b",
                "mac": "cmd+alt+g b",
                "when": "gitlens:keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /blameable/"
            },
            {
                "command": "gitlens.toggleCodeLens",
                "key": "ctrl+shift+g shift+b",
                "mac": "cmd+alt+g shift+b",
                "when": "gitlens:keymap == chorded && editorTextFocus && gitlens:enabled && gitlens:canToggleCodeLens"
            },
            {
                "command": "gitlens.showLastQuickPick",
                "key": "ctrl+shift+g -",
                "mac": "cmd+alt+g -",
                "when": "gitlens:keymap == chorded && gitlens:enabled"
            },
            {
                "command": "gitlens.showCommitSearch",
                "key": "ctrl+shift+g /",
                "mac": "cmd+alt+g /",
                "when": "gitlens:keymap == chorded && gitlens:enabled"
            },
            {
                "command": "gitlens.showQuickFileHistory",
                "key": "ctrl+shift+g h",
                "mac": "cmd+alt+g h",
                "when": "gitlens:keymap == chorded && gitlens:enabled"
            },
            {
                "command": "gitlens.showQuickRepoHistory",
                "key": "ctrl+shift+g shift+h",
                "mac": "cmd+alt+g shift+h",
                "when": "gitlens:keymap == chorded && gitlens:enabled"
            },
            {
                "command": "gitlens.showQuickRepoStatus",
                "key": "ctrl+shift+g s",
                "mac": "cmd+alt+g s",
                "when": "gitlens:keymap == chorded && gitlens:enabled"
            },
            {
                "command": "gitlens.showQuickCommitFileDetails",
                "key": "ctrl+shift+g c",
                "mac": "cmd+alt+g c",
                "when": "gitlens:keymap == chorded && editorTextFocus && gitlens:enabled"
            },
            {
                "command": "gitlens.diffWithNext",
                "key": "ctrl+shift+g .",
                "mac": "cmd+alt+g .",
                "when": "gitlens:keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
            },
            {
                "command": "gitlens.diffLineWithPrevious",
                "key": "ctrl+shift+g shift+,",
                "mac": "cmd+alt+g shift+,",
                "when": "gitlens:keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
            },
            {
                "command": "gitlens.diffWithPrevious",
                "key": "ctrl+shift+g ,",
                "mac": "cmd+alt+g ,",
                "when": "gitlens:keymap == chorded && editorTextFocus && !isInDiffEditor && gitlens:activeFileStatus =~ /tracked/"
            },
            {
                "command": "gitlens.diffWithPreviousInDiff",
                "key": "ctrl+shift+g ,",
                "mac": "cmd+alt+g ,",
                "when": "gitlens:keymap == chorded && isInDiffEditor && gitlens:activeFileStatus =~ /tracked/"
            },
            {
                "command": "gitlens.diffLineWithWorking",
                "key": "ctrl+shift+g w",
                "mac": "cmd+alt+g w",
                "when": "gitlens:keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
            },
            {
                "command": "gitlens.diffWithWorking",
                "key": "ctrl+shift+g shift+w",
                "mac": "cmd+alt+g shift+w",
                "when": "gitlens:keymap == chorded && editorTextFocus && gitlens:activeFileStatus =~ /tracked/"
            },
            {
                "command": "workbench.view.scm",
                "key": "ctrl+shift+g g",
                "mac": "ctrl+shift+g",
                "when": "gitlens:keymap == chorded && gitlens:enabled"
            }
        ],
        "viewsContainers": {
            "activitybar": [
                {
                    "id": "gitlens",
                    "title": "GitLens",
                    "icon": "images/gitlens-activitybar.svg"
                }
            ]
        },
        "views": {
            "gitlens": [
                {
                    "id": "gitlens.views.repositories:gitlens",
                    "name": "Repositories",
                    "when": "gitlens:enabled && gitlens:views:repositories == gitlens"
                },
                {
                    "id": "gitlens.views.fileHistory:gitlens",
                    "name": "File History",
                    "when": "gitlens:enabled && gitlens:views:fileHistory == gitlens"
                },
                {
                    "id": "gitlens.views.lineHistory:gitlens",
                    "name": "Line History",
                    "when": "gitlens:enabled && gitlens:views:lineHistory == gitlens"
                },
                {
                    "id": "gitlens.views.results:gitlens",
                    "name": "Results",
                    "when": "gitlens:enabled && gitlens:views:results == gitlens"
                }
            ],
            "explorer": [
                {
                    "id": "gitlens.views.repositories:explorer",
                    "name": "GitLens: Repositories",
                    "when": "gitlens:enabled && gitlens:views:repositories == explorer"
                },
                {
                    "id": "gitlens.views.fileHistory:explorer",
                    "name": "GitLens: File History",
                    "when": "gitlens:enabled && gitlens:views:fileHistory == explorer"
                },
                {
                    "id": "gitlens.views.lineHistory:explorer",
                    "name": "GitLens: Line History",
                    "when": "gitlens:enabled && gitlens:views:lineHistory == explorer"
                },
                {
                    "id": "gitlens.views.results:explorer",
                    "name": "GitLens: Results",
                    "when": "gitlens:enabled && gitlens:views:results == explorer"
                }
            ],
            "scm": [
                {
                    "id": "gitlens.views.repositories:scm",
                    "name": "GitLens: Repositories",
                    "when": "gitlens:enabled && gitlens:views:repositories == scm"
                },
                {
                    "id": "gitlens.views.fileHistory:scm",
                    "name": "GitLens: File History",
                    "when": "gitlens:enabled && gitlens:views:fileHistory == scm"
                },
                {
                    "id": "gitlens.views.lineHistory:scm",
                    "name": "GitLens: Line History",
                    "when": "gitlens:enabled && gitlens:views:lineHistory == scm"
                },
                {
                    "id": "gitlens.views.results:scm",
                    "name": "GitLens: Results",
                    "when": "gitlens:enabled && gitlens:views:results == scm"
                }
            ]
        }
    },
    "scripts": {
        "build": "webpack --env.development",
        "bundle": "webpack --env.production",
        "clean": "git clean -Xdf -e !.cache-images",
        "lint": "tslint --project tsconfig.json && tslint --project ui.tsconfig.json",
        "pack": "vsce package",
        "pretty": "prettier --config .prettierrc --loglevel warn --write \"./**/*.{ts,md,json}\" && tslint --project tsconfig.json --fix && tslint --project ui.tsconfig.json --fix",
        "pub": "vsce publish",
        "rebuild": "npm run reset && npm run build",
        "reset": "npm run clean && npm install --no-save",
        "watch": "webpack --watch --env.development --info-verbosity verbose",
        "ui:optimize": "webpack --config-name ui --env.optimizeImages",
        "ui:watch": "webpack --watch --config-name ui --env.development --info-verbosity verbose",
        "update:emoji": "pushd emoji && node ./shortcodeToEmoji.js && popd",
        "postinstall": "node ./node_modules/vscode/bin/install",
        "vscode:prepublish": "npm run reset && npm run bundle"
    },
    "dependencies": {
        "clipboardy": "1.2.3",
        "date-fns": "1.29.0",
        "iconv-lite": "0.4.24",
        "lodash.debounce": "4.0.8",
        "lodash.once": "4.1.1",
        "tslib": "1.9.3"
    },
    "devDependencies": {
        "@types/clipboardy": "1.1.0",
        "@types/node": "8.10.36",
        "clean-webpack-plugin": "0.1.19",
        "css-loader": "1.0.0",
        "filemanager-webpack-plugin": "2.0.5",
        "html-webpack-inline-source-plugin": "0.0.10",
        "html-webpack-plugin": "3.2.0",
        "imagemin-webpack-plugin": "2.3.0",
        "mini-css-extract-plugin": "0.4.4",
        "node-sass": "4.9.4",
        "prettier": "1.14.3",
        "prettier-tslint": "0.4.0",
        "sass-loader": "7.1.0",
        "size-plugin": "1.0.1",
        "terser-webpack-plugin": "1.1.0",
        "tslint": "5.11.0",
        "tslint-loader": "3.5.4",
        "tslint-prettiest": "0.0.1",
        "ts-loader": "5.2.2",
        "typescript": "3.1.3",
        "vscode": "1.1.21",
        "webpack": "4.23.1",
        "webpack-cli": "3.1.2",
        "webpack-deep-scope-plugin": "1.6.0"
    }
}
