diff --git a/images/dark/icon-commit.svg b/images/dark/icon-commit.svg
index 33f77ba..2e6dc1c 100644
--- a/images/dark/icon-commit.svg
+++ b/images/dark/icon-commit.svg
@@ -1,4 +1,4 @@
\ No newline at end of file
diff --git a/images/dark/icon-refresh.svg b/images/dark/icon-refresh.svg
index e69de29..c916dd2 100644
--- a/images/dark/icon-refresh.svg
+++ b/images/dark/icon-refresh.svg
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/images/dark/icon-status-added.svg b/images/dark/icon-status-added.svg
new file mode 100644
index 0000000..cdc40f4
--- /dev/null
+++ b/images/dark/icon-status-added.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/images/dark/icon-status-conflict.svg b/images/dark/icon-status-conflict.svg
new file mode 100644
index 0000000..53b243c
--- /dev/null
+++ b/images/dark/icon-status-conflict.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/images/dark/icon-status-copied.svg b/images/dark/icon-status-copied.svg
new file mode 100644
index 0000000..7bd78c9
--- /dev/null
+++ b/images/dark/icon-status-copied.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/images/dark/icon-status-deleted.svg b/images/dark/icon-status-deleted.svg
new file mode 100644
index 0000000..e7596e2
--- /dev/null
+++ b/images/dark/icon-status-deleted.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/images/dark/icon-status-ignored.svg b/images/dark/icon-status-ignored.svg
new file mode 100644
index 0000000..85abc36
--- /dev/null
+++ b/images/dark/icon-status-ignored.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/images/dark/icon-status-modified.svg b/images/dark/icon-status-modified.svg
new file mode 100644
index 0000000..d0de37d
--- /dev/null
+++ b/images/dark/icon-status-modified.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/images/dark/icon-status-renamed.svg b/images/dark/icon-status-renamed.svg
new file mode 100644
index 0000000..a77fb41
--- /dev/null
+++ b/images/dark/icon-status-renamed.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/images/dark/icon-status-untracked.svg b/images/dark/icon-status-untracked.svg
new file mode 100644
index 0000000..c6a48e1
--- /dev/null
+++ b/images/dark/icon-status-untracked.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/images/light/icon-commit.svg b/images/light/icon-commit.svg
index ac914a4..4724a89 100644
--- a/images/light/icon-commit.svg
+++ b/images/light/icon-commit.svg
@@ -1,4 +1,4 @@
\ No newline at end of file
diff --git a/images/light/icon-refresh.svg b/images/light/icon-refresh.svg
new file mode 100644
index 0000000..e11b8f9
--- /dev/null
+++ b/images/light/icon-refresh.svg
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/images/light/icon-status-added.svg b/images/light/icon-status-added.svg
new file mode 100644
index 0000000..587fc08
--- /dev/null
+++ b/images/light/icon-status-added.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/images/light/icon-status-conflict.svg b/images/light/icon-status-conflict.svg
new file mode 100644
index 0000000..b6088ec
--- /dev/null
+++ b/images/light/icon-status-conflict.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/images/light/icon-status-copied.svg b/images/light/icon-status-copied.svg
new file mode 100644
index 0000000..151fdb2
--- /dev/null
+++ b/images/light/icon-status-copied.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/images/light/icon-status-deleted.svg b/images/light/icon-status-deleted.svg
new file mode 100644
index 0000000..7ed166a
--- /dev/null
+++ b/images/light/icon-status-deleted.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/images/light/icon-status-ignored.svg b/images/light/icon-status-ignored.svg
new file mode 100644
index 0000000..85abc36
--- /dev/null
+++ b/images/light/icon-status-ignored.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/images/light/icon-status-modified.svg b/images/light/icon-status-modified.svg
new file mode 100644
index 0000000..ff338b8
--- /dev/null
+++ b/images/light/icon-status-modified.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/images/light/icon-status-renamed.svg b/images/light/icon-status-renamed.svg
new file mode 100644
index 0000000..a77fb41
--- /dev/null
+++ b/images/light/icon-status-renamed.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/images/light/icon-status-untracked.svg b/images/light/icon-status-untracked.svg
new file mode 100644
index 0000000..c6a48e1
--- /dev/null
+++ b/images/light/icon-status-untracked.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/package.json b/package.json
index 005bdc1..f403db8 100644
--- a/package.json
+++ b/package.json
@@ -1,1498 +1,1503 @@
-{
- "name": "gitlens",
- "version": "4.2.0",
- "author": {
- "name": "Eric Amodio",
- "email": "eamodio@gmail.com"
- },
- "publisher": "eamodio",
- "engines": {
- "vscode": "^1.13.0"
- },
- "license": "SEE LICENSE IN LICENSE",
- "displayName": "Git Lens \u2014 git blame annotations, code lens, and more",
- "description": "Supercharge Visual Studio Code's Git capabilities \u2014 Visualize code authorship at a glance via Git blame annotations and code lens, seamlessly navigate and explore the history of a file or branch, gain valuable insights via powerful comparison commands, and so much more",
- "badges": [
- {
- "url": "https://badges.gitter.im/vscode-gitlens/Lobby.svg",
- "href": "https://gitter.im/vscode-gitlens/Lobby",
- "description": "Chat at https://gitter.im/vscode-gitlens/Lobby"
- }
- ],
- "categories": [
- "Other"
- ],
- "keywords": [
- "git",
- "code lens",
- "blame",
- "history",
- "annotation",
- "log",
- "inline blame",
- "compare",
- "diff"
- ],
- "galleryBanner": {
- "color": "#56098c",
- "theme": "dark"
- },
- "icon": "images/gitlens-icon.png",
- "preview": false,
- "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"
- },
- "main": "./out/src/extension",
- "contributes": {
- "configuration": {
- "type": "object",
- "title": "GitLens configuration",
- "properties": {
- "gitlens.debug": {
- "type": "boolean",
- "default": false,
- "description": "Specifies debug mode"
- },
- "gitlens.insiders": {
- "type": "boolean",
- "default": false,
- "description": "Specifies whether or not to enable new experimental features (expect there to be issues)"
- },
- "gitlens.outputLevel": {
- "type": "string",
- "default": "silent",
- "enum": [
- "silent",
- "errors",
- "verbose"
- ],
- "description": "Specifies how much (if any) output will be sent to the GitLens output channel"
- },
- "gitlens.annotations.file.gutter.format": {
- "type": "string",
- "default": "${message|40?} ${ago|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.annotations.file.gutter.dateFormat`)\n ${authorAgo} - commit author, relative commit date\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting"
- },
- "gitlens.annotations.file.gutter.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"
- },
- "gitlens.annotations.file.gutter.compact": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to compact (deduplicate) matching adjacent gutter blame annotations"
- },
- "gitlens.annotations.file.gutter.heatmap.enabled": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to provide a heatmap indicator in the gutter blame annotations"
- },
- "gitlens.annotations.file.gutter.heatmap.location": {
- "type": "string",
- "default": "right",
- "enum": [
- "left",
- "right"
- ],
- "description": "Specifies where the heatmap indicators will be shown in the gutter blame annotations\n `left` - adds a heatmap indicator on the left edge of the gutter blame annotations\n `right` - adds a heatmap indicator on the right edge of the gutter blame annotations"
- },
- "gitlens.annotations.file.gutter.hover.details": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to provide a commit details hover annotation over the gutter blame annotations"
- },
- "gitlens.annotations.file.gutter.hover.wholeLine": {
- "type": "boolean",
- "default": false,
- "description": "Specifies whether or not to trigger hover annotations over the whole line"
- },
- "gitlens.annotations.file.hover.heatmap.enabled": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to provide heatmap indicators on the left edge of each line"
- },
- "gitlens.annotations.file.hover.wholeLine": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to trigger hover annotations over the whole line"
- },
- "gitlens.annotations.file.recentChanges.hover.details": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to provide a commit details hover annotation"
- },
- "gitlens.annotations.file.recentChanges.hover.changes": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to provide a changes (diff) hover annotation"
- },
- "gitlens.annotations.file.recentChanges.hover.wholeLine": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to trigger hover annotations over the whole line"
- },
- "gitlens.annotations.line.hover.details": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to provide a commit details hover annotation for the current line"
- },
- "gitlens.annotations.line.hover.changes": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to provide a changes (diff) hover annotation for the current line"
- },
- "gitlens.annotations.line.trailing.format": {
- "type": "string",
- "default": "${authorAgo} \u2022 ${message}",
- "description": "Specifies the format of the trailing 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.annotations.line.trailing.dateFormat`)\n ${authorAgo} - commit author, relative commit date\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting"
- },
- "gitlens.annotations.line.trailing.dateFormat": {
- "type": "string",
- "default": null,
- "description": "Specifies how to format absolute dates (using the `${date}` token) in trailing blame annotations\nSee https://momentjs.com/docs/#/displaying/format/ for valid formats"
- },
- "gitlens.annotations.line.trailing.hover.details": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to provide a commit details hover annotation over the trailing blame annotations"
- },
- "gitlens.annotations.line.trailing.hover.changes": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to provide a changes (diff) hover annotation over the trailing blame annotations"
- },
- "gitlens.annotations.line.trailing.hover.wholeLine": {
- "type": "boolean",
- "default": false,
- "description": "Specifies whether or not to trigger hover annotations over the whole line"
- },
- "gitlens.blame.file.annotationType": {
- "type": "string",
- "default": "gutter",
- "enum": [
- "gutter",
- "hover"
- ],
- "description": "Specifies the type of blame annotations that will be shown for the current file\n `gutter` - adds an annotation to the beginning of each line\n `hover` - shows annotations when hovering over each line"
- },
- "gitlens.blame.file.lineHighlight.enabled": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to highlight lines associated with the current line"
- },
- "gitlens.blame.file.lineHighlight.locations": {
- "type": "array",
- "default": [
- "gutter",
- "line",
- "overviewRuler"
- ],
- "items": {
- "type": "string",
- "enum": [
- "gutter",
- "line",
- "overviewRuler"
- ]
- },
- "minItems": 1,
- "maxItems": 3,
- "uniqueItems": true,
- "description": "Specifies where the associated line highlights will be shown\n `gutter` - adds a gutter glyph\n `line` - adds a full-line highlight background color\n `overviewRuler` - adds a decoration to the overviewRuler (scroll bar)"
- },
- "gitlens.blame.line.enabled": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to provide a blame annotation for the current line, by default\nUse the `gitlens.toggleLineBlame` command to toggle the annotations on and off for the current session"
- },
- "gitlens.blame.line.annotationType": {
- "type": "string",
- "default": "trailing",
- "enum": [
- "trailing",
- "hover"
- ],
- "description": "Specifies the type of blame annotations that will be shown for the current line\n `trailing` - adds an annotation to the end of the current line\n `hover` - shows annotations when hovering over the current line"
- },
- "gitlens.recentChanges.file.lineHighlight.locations": {
- "type": "array",
- "default": [
- "gutter",
- "line",
- "overviewRuler"
- ],
- "items": {
- "type": "string",
- "enum": [
- "gutter",
- "line",
- "overviewRuler"
- ]
- },
- "minItems": 1,
- "maxItems": 3,
- "uniqueItems": true,
- "description": "Specifies where the highlights of the recently changed lines will be shown\n `gutter` - adds a gutter glyph\n `line` - adds a full-line highlight background color\n `overviewRuler` - adds a decoration to the overviewRuler (scroll bar)"
- },
- "gitlens.codeLens.enabled": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to provide any Git code lens, by default\nUse the `gitlens.toggleCodeLens` command to toggle the Git code lens on and off for the current session"
- },
- "gitlens.codeLens.recentChange.enabled": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to show a `recent change` code lens showing the author and date of the most recent commit for the file or code block"
- },
- "gitlens.codeLens.recentChange.command": {
- "type": "string",
- "default": "gitlens.showQuickCommitFileDetails",
- "enum": [
- "gitlens.toggleFileBlame",
- "gitlens.showBlameHistory",
- "gitlens.showFileHistory",
- "gitlens.diffWithPrevious",
- "gitlens.showQuickCommitDetails",
- "gitlens.showQuickCommitFileDetails",
- "gitlens.showQuickFileHistory",
- "gitlens.showQuickRepoHistory"
- ],
- "description": "Specifies the command to be executed when the `recent change` code lens is clicked\n `gitlens.toggleFileBlame` - toggles file blame annotations\n `gitlens.showBlameHistory` - opens the blame history explorer\n `gitlens.showFileHistory` - opens the file history explorer\n `gitlens.diffWithPrevious` - compares the current committed file with the previous commit\n `gitlens.showQuickCommitDetails` - shows a commit details quick pick\n `gitlens.showQuickCommitFileDetails` - shows a commit file details quick pick\n `gitlens.showQuickFileHistory` - shows a file history quick pick\n `gitlens.showQuickRepoHistory` - shows a branch history quick pick"
- },
- "gitlens.codeLens.authors.enabled": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to show 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)"
- },
- "gitlens.codeLens.authors.command": {
- "type": "string",
- "default": "gitlens.toggleFileBlame",
- "enum": [
- "gitlens.toggleFileBlame",
- "gitlens.showBlameHistory",
- "gitlens.showFileHistory",
- "gitlens.diffWithPrevious",
- "gitlens.showQuickCommitDetails",
- "gitlens.showQuickCommitFileDetails",
- "gitlens.showQuickFileHistory",
- "gitlens.showQuickRepoHistory"
- ],
- "description": "Specifies the command to be executed when the `authors` code lens is clicked\n `gitlens.toggleFileBlame` - toggles file blame annotations\n `gitlens.showBlameHistory` - opens the blame history explorer\n `gitlens.showFileHistory` - opens the file history explorer\n `gitlens.diffWithPrevious` - compares the current committed file with the previous commit\n `gitlens.showQuickCommitDetails` - shows a commit details quick pick\n `gitlens.showQuickCommitFileDetails` - shows a commit file details quick pick\n `gitlens.showQuickFileHistory` - shows a file history quick pick\n `gitlens.showQuickRepoHistory` - shows a branch history quick pick"
- },
- "gitlens.codeLens.locations": {
- "type": "array",
- "default": [
- "document",
- "containers"
- ],
- "items": {
- "type": "string",
- "enum": [
- "document",
- "containers",
- "blocks",
- "custom"
- ]
- },
- "minItems": 1,
- "maxItems": 4,
- "uniqueItems": true,
- "description": "Specifies where Git code lens will be shown in the document\n `document` - adds code lens at the top of the document\n `containers` - adds code lens at the start of container-like symbols (modules, classes, interfaces, etc)\n `blocks` - adds code lens at the start of block-like symbols (functions, methods, properties, etc) lines\n `custom` - adds code lens at the start of symbols contained in `gitlens.codeLens.locationCustomSymbols`"
- },
- "gitlens.codeLens.customLocationSymbols": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "uniqueItems": true,
- "description": "Specifies the set of document symbols where Git code lens will be shown in the document\nMust be a member of `SymbolKind`"
- },
- "gitlens.codeLens.perLanguageLocations": {
- "type": "array",
- "default": [
- {
- "language": "css",
- "locations": [
- "document"
- ]
- },
- {
- "language": "html",
- "locations": [
- "document"
- ]
- },
- {
- "language": "json",
- "locations": [
- "document"
- ]
- },
- {
- "language": "less",
- "locations": [
- "document"
- ]
- },
- {
- "language": "scss",
- "locations": [
- "document"
- ]
- },
- {
- "language": "vue",
- "locations": [
- "document"
- ]
- }
- ],
- "items": {
- "type": "object",
- "required": [
- "language",
- "locations"
- ],
- "properties": {
- "language": {
- "type": "string",
- "description": "Specifies the language to which this code lens override applies"
- },
- "locations": {
- "type": "array",
- "default": [
- "document",
- "containers"
- ],
- "items": {
- "type": "string",
- "enum": [
- "document",
- "containers",
- "blocks",
- "custom"
- ]
- },
- "minItems": 1,
- "maxItems": 4,
- "uniqueItems": true,
- "description": "Specifies where Git code lens will be shown in the document for the specified language\n `document` - adds code lens at the top of the document\n `containers` - adds code lens at the start of container-like symbols (modules, classes, interfaces, etc)\n `blocks` - adds code lens at the start of block-like symbols (functions, methods, properties, etc) lines\n `custom` - adds code lens at the start of symbols contained in `customSymbols`"
- },
- "customSymbols": {
- "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"
- },
- "gitlens.codeLens.debug": {
- "type": "boolean",
- "default": false,
- "description": "Specifies whether or not to show debug information in code lens"
- },
- "gitlens.defaultDateFormat": {
- "type": "string",
- "default": null,
- "description": "Specifies how all absolute dates will be formatted by default\nSee https://momentjs.com/docs/#/displaying/format/ for valid formats"
- },
- "gitlens.explorer.commitFormat": {
- "type": "string",
- "default": "${authorAgo} \u00a0\u2022\u00a0 ${message} \u00a0\u2022\u00a0 ${id}",
- "description": "Specifies the format of a commit in the explorer view\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 ${authorAgo} - commit author, relative commit date\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting"
- },
- "gitlens.explorer.commitFileFormat": {
- "type": "string",
- "default": "${authorAgo} \u00a0\u2022\u00a0 ${message} \u00a0\u2022\u00a0 ${id}",
- "description": "Specifies the format of a file commit in the explorer view\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 ${authorAgo} - commit author, relative commit date\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting"
- },
- "gitlens.explorer.stashFormat": {
- "type": "string",
- "default": "${authorAgo} \u00a0\u2022\u00a0 ${message} \u00a0\u2022\u00a0 ${id}",
- "description": "Specifies the format of a stash in the explorer view\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 ${authorAgo} - commit author, relative commit date\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting"
- },
- "gitlens.statusBar.enabled": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to provide blame information on the status bar"
- },
- "gitlens.statusBar.alignment": {
- "type": "string",
- "default": "right",
- "enum": [
- "left",
- "right"
- ],
- "description": "Specifies the blame alignment in the status bar\n `left` - align to the left\n `right` - align to the right"
- },
- "gitlens.statusBar.command": {
- "type": "string",
- "default": "gitlens.showQuickCommitDetails",
- "enum": [
- "gitlens.toggleFileBlame",
- "gitlens.showBlameHistory",
- "gitlens.showFileHistory",
- "gitlens.diffWithPrevious",
- "gitlens.diffWithWorking",
- "gitlens.toggleCodeLens",
- "gitlens.showQuickCommitDetails",
- "gitlens.showQuickCommitFileDetails",
- "gitlens.showQuickFileHistory",
- "gitlens.showQuickRepoHistory"
- ],
- "description": "Specifies the command to be executed when the blame status bar item is clicked\n `gitlens.toggleFileBlame` - toggles file blame annotations\n `gitlens.showBlameHistory` - opens the blame history explorer\n `gitlens.showFileHistory` - opens the file history explorer\n `gitlens.diffWithPrevious` - compares the current line commit with the previous\n `gitlens.diffWithWorking` - compares the current line commit with the working tree\n `gitlens.toggleCodeLens` - toggles Git code lens\n `gitlens.showQuickCommitDetails` - shows a commit details quick pick\n `gitlens.showQuickCommitFileDetails` - shows a commit file details quick pick\n `gitlens.showQuickFileHistory` - shows a file history quick pick\n `gitlens.showQuickRepoHistory` - shows a branch history quick pick"
- },
- "gitlens.statusBar.format": {
- "type": "string",
- "default": "${authorAgo}",
- "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 ${authorAgo} - commit author, relative commit date\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting"
- },
- "gitlens.statusBar.dateFormat": {
- "type": "string",
- "default": null,
- "description": "Specifies the date format of absolute dates shown in the blame information on the status bar. See https://momentjs.com/docs/#/displaying/format/ for valid formats"
- },
- "gitlens.strings.codeLens.unsavedChanges.recentChangeAndAuthors": {
- "type": "string",
- "default": "Cannot determine recent change or authors (unsaved changes)",
- "description": "Specifies the string to be shown in place of both the `recent change` and `authors` code lens when there are unsaved changes"
- },
- "gitlens.strings.codeLens.unsavedChanges.recentChangeOnly": {
- "type": "string",
- "default": "Cannot determine recent change (unsaved changes)",
- "description": "Specifies the string to be shown in place of the `recent change` code lens when there are unsaved changes"
- },
- "gitlens.strings.codeLens.unsavedChanges.authorsOnly": {
- "type": "string",
- "default": "Cannot determine authors (unsaved changes)",
- "description": "Specifies the string to be shown in place of the `authors` code lens when there are unsaved changes"
- },
- "gitlens.theme.annotations.file.gutter.separateLines": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not gutter blame annotations will be separated by a small gap"
- },
- "gitlens.theme.annotations.file.gutter.dark.backgroundColor": {
- "type": "string",
- "default": "rgba(255, 255, 255, 0.075)",
- "description": "Specifies the dark theme background color of the gutter blame annotations. Must be a valid css color"
- },
- "gitlens.theme.annotations.file.gutter.light.backgroundColor": {
- "type": "string",
- "default": "rgba(0, 0, 0, 0.05)",
- "description": "Specifies the light theme background color of the gutter blame annotations. Must be a valid css color"
- },
- "gitlens.theme.annotations.file.gutter.dark.foregroundColor": {
- "type": "string",
- "default": "rgb(190, 190, 190)",
- "description": "Specifies the dark theme foreground color of the gutter blame annotations. Must be a valid css color"
- },
- "gitlens.theme.annotations.file.gutter.light.foregroundColor": {
- "type": "string",
- "default": "rgb(116, 116, 116)",
- "description": "Specifies the light theme foreground color of the gutter blame annotations. Must be a valid css color"
- },
- "gitlens.theme.annotations.file.gutter.dark.uncommittedForegroundColor": {
- "type": "string",
- "default": "rgba(0, 188, 242, 0.6)",
- "description": "Specifies the dark theme foreground color of an uncommitted line in the gutter blame annotations. Must be a valid css color"
- },
- "gitlens.theme.annotations.file.gutter.light.uncommittedForegroundColor": {
- "type": "string",
- "default": "rgba(0, 188, 242, 0.6)",
- "description": "Specifies the light theme foreground color of an uncommitted line in the gutter blame annotations. Must be a valid css color"
- },
- "gitlens.theme.annotations.file.hover.separateLines": {
- "type": "boolean",
- "default": false,
- "description": "Specifies whether or not hover blame annotations will be separated by a small gap (if heatmap is enabled)"
- },
- "gitlens.theme.annotations.line.trailing.dark.backgroundColor": {
- "type": "string",
- "default": null,
- "description": "Specifies the dark theme background color of the trailing blame annotation. Must be a valid css color"
- },
- "gitlens.theme.annotations.line.trailing.light.backgroundColor": {
- "type": "string",
- "default": null,
- "description": "Specifies the light theme background color of the trailing blame annotation. Must be a valid css color"
- },
- "gitlens.theme.annotations.line.trailing.dark.foregroundColor": {
- "type": "string",
- "default": "rgba(153, 153, 153, 0.35)",
- "description": "Specifies the dark theme foreground color of the trailing blame annotation. Must be a valid css color"
- },
- "gitlens.theme.annotations.line.trailing.light.foregroundColor": {
- "type": "string",
- "default": "rgba(153, 153, 153, 0.35)",
- "description": "Specifies the light theme foreground color of the trailing blame annotation. Must be a valid css color"
- },
- "gitlens.theme.lineHighlight.dark.backgroundColor": {
- "type": "string",
- "default": "rgba(0, 188, 242, 0.2)",
- "description": "Specifies the dark theme background color of the associated line highlights in blame annotations. Must be a valid css color"
- },
- "gitlens.theme.lineHighlight.light.backgroundColor": {
- "type": "string",
- "default": "rgba(0, 188, 242, 0.2)",
- "description": "Specifies the light theme background color of the associated line highlights in blame annotations. Must be a valid css color"
- },
- "gitlens.theme.lineHighlight.dark.overviewRulerColor": {
- "type": "string",
- "default": "rgba(0, 188, 242, 0.6)",
- "description": "Specifies the dark theme overview ruler color of the associated line highlights in blame annotations. Must be a valid css color"
- },
- "gitlens.theme.lineHighlight.light.overviewRulerColor": {
- "type": "string",
- "default": "rgba(0, 188, 242, 0.6)",
- "description": "Specifies the light theme overview ruler color of the associated line highlights in blame annotations. Must be a valid css color"
- },
- "gitlens.advanced.caching.enabled": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether git output will be cached"
- },
- "gitlens.advanced.caching.maxLines": {
- "type": "number",
- "default": 0,
- "description": "Specifies the threshold for caching larger documents"
- },
- "gitlens.advanced.git": {
- "type": "string",
- "default": null,
- "description": "Specifies the git path to use"
- },
- "gitlens.advanced.gitignore.enabled": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to parse the root .gitignore file for better performance (i.e. avoids blaming excluded files)"
- },
- "gitlens.advanced.maxQuickHistory": {
- "type": "number",
- "default": 200,
- "description": "Specifies the maximum number of QuickPick history entries to show"
- },
- "gitlens.advanced.menus": {
- "type": "object",
- "default": {
- "editorContext": {
- "blame": true,
- "copy": true,
- "details": true,
- "fileDiff": true,
- "history": true,
- "lineDiff": true,
- "remote": true
- },
- "editorTitle": {
- "blame": true,
- "fileDiff": true,
- "history": true,
- "remote": true,
- "status": true
- },
- "editorTitleContext": {
- "blame": true,
- "fileDiff": true,
- "history": true,
- "remote": true
- },
- "explorerContext": {
- "fileDiff": true,
- "history": true,
- "remote": true
- }
- },
- "description": "Specifies which commands will be added to which menus",
- "properties": {
- "editorContext": {
- "type": "object",
- "default": {
- "blame": true,
- "copy": true,
- "details": true,
- "fileDiff": true,
- "history": true,
- "lineDiff": true,
- "remote": true
- },
- "properties": {
- "blame": {
- "type": "boolean",
- "default": true
- },
- "copy": {
- "type": "boolean",
- "default": true
- },
- "details": {
- "type": "boolean",
- "default": true
- },
- "fileDiff": {
- "type": "boolean",
- "default": true
- },
- "history": {
- "type": "boolean",
- "default": true
- },
- "lineDiff": {
- "type": "boolean",
- "default": true
- },
- "remote": {
- "type": "boolean",
- "default": true
- }
- }
- },
- "editorTitle": {
- "type": "object",
- "default": {
- "blame": true,
- "fileDiff": true,
- "history": true,
- "remote": true,
- "status": true
- },
- "properties": {
- "blame": {
- "type": "boolean",
- "default": true
- },
- "fileDiff": {
- "type": "boolean",
- "default": true
- },
- "history": {
- "type": "boolean",
- "default": true
- },
- "remote": {
- "type": "boolean",
- "default": true
- },
- "status": {
- "type": "boolean",
- "default": true
- }
- }
- },
- "editorTitleContext": {
- "type": "object",
- "default": {
- "blame": true,
- "fileDiff": true,
- "history": true,
- "remote": true
- },
- "properties": {
- "blame": {
- "type": "boolean",
- "default": true
- },
- "fileDiff": {
- "type": "boolean",
- "default": true
- },
- "history": {
- "type": "boolean",
- "default": true
- },
- "remote": {
- "type": "boolean",
- "default": true
- }
- }
- },
- "explorerContext": {
- "type": "object",
- "default": {
- "fileDiff": true,
- "history": true,
- "remote": true
- },
- "properties": {
- "fileDiff": {
- "type": "boolean",
- "default": true
- },
- "history": {
- "type": "boolean",
- "default": true
- },
- "remote": {
- "type": "boolean",
- "default": true
- }
- }
- }
- }
- },
- "gitlens.advanced.quickPick.closeOnFocusOut": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to close the QuickPick menu when focus is lost"
- },
- "gitlens.advanced.telemetry.enabled": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to enable GitLens telemetry (even if enabled still abides by the overall `telemetry.enableTelemetry` setting"
- },
- "gitlens.advanced.toggleWhitespace.enabled": {
- "type": "boolean",
- "default": true,
- "description": "Specifies whether or not to toggle whitespace off then showing blame annotations (*may* be required by certain fonts/themes)"
- }
- }
- },
- "commands": [
- {
- "command": "gitlens.diffDirectory",
- "title": "Directory Compare",
- "category": "GitLens"
- },
- {
- "command": "gitlens.diffWithBranch",
- "title": "Compare File with Branch...",
- "category": "GitLens"
- },
- {
- "command": "gitlens.diffWithNext",
- "title": "Compare File with Next Commit",
- "category": "GitLens"
- },
- {
- "command": "gitlens.diffWithPrevious",
- "title": "Compare File with Previous",
- "category": "GitLens"
- },
- {
- "command": "gitlens.diffLineWithPrevious",
- "title": "Compare Line Commit with Previous",
- "category": "GitLens"
- },
- {
- "command": "gitlens.diffWithRevision",
- "title": "Compare File with Revision...",
- "category": "GitLens"
- },
- {
- "command": "gitlens.diffWithWorking",
- "title": "Compare File with Working Tree",
- "category": "GitLens"
- },
- {
- "command": "gitlens.diffLineWithWorking",
- "title": "Compare Line Commit with Working Tree",
- "category": "GitLens"
- },
- {
- "command": "gitlens.showFileBlame",
- "title": "Show File Blame Annotations",
- "category": "GitLens"
- },
- {
- "command": "gitlens.showLineBlame",
- "title": "Show Line Blame Annotations",
- "category": "GitLens"
- },
- {
- "command": "gitlens.toggleFileBlame",
- "title": "Toggle File Blame Annotations",
- "category": "GitLens",
- "icon": {
- "dark": "images/dark/git-icon.svg",
- "light": "images/light/git-icon.svg"
- }
- },
- {
- "command": "gitlens.toggleFileRecentChanges",
- "title": "Toggle Recent File Changes Annotations",
- "category": "GitLens",
- "icon": {
- "dark": "images/dark/git-icon.svg",
- "light": "images/light/git-icon.svg"
- }
- },
- {
- "command": "gitlens.toggleLineBlame",
- "title": "Toggle Line Blame Annotations",
- "category": "GitLens"
- },
- {
- "command": "gitlens.toggleCodeLens",
- "title": "Toggle Git Code Lens",
- "category": "GitLens"
- },
- {
- "command": "gitlens.showBlameHistory",
- "title": "Open Blame History Explorer",
- "category": "GitLens"
- },
- {
- "command": "gitlens.showCommitSearch",
- "title": "Search Commits",
- "category": "GitLens"
- },
- {
- "command": "gitlens.showFileHistory",
- "title": "Show File History in Explorer",
- "category": "GitLens"
- },
- {
- "command": "gitlens.showLastQuickPick",
- "title": "Show Last Opened Quick Pick",
- "category": "GitLens"
- },
- {
- "command": "gitlens.showQuickCommitDetails",
- "title": "Show Commit Details",
- "category": "GitLens"
- },
- {
- "command": "gitlens.showQuickCommitFileDetails",
- "title": "Show Commit File Details",
- "category": "GitLens"
- },
- {
- "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.showStashList",
- "title": "Show Stashed Changes in Explorer",
- "category": "GitLens"
- },
- {
- "command": "gitlens.copyShaToClipboard",
- "title": "Copy Commit ID to Clipboard",
- "category": "GitLens"
- },
- {
- "command": "gitlens.copyMessageToClipboard",
- "title": "Copy Commit Message to Clipboard",
- "category": "GitLens"
- },
- {
- "command": "gitlens.closeUnchangedFiles",
- "title": "Close Unchanged Files",
- "category": "GitLens"
- },
- {
- "command": "gitlens.openChangedFiles",
- "title": "Open Changed Files",
- "category": "GitLens"
- },
- {
- "command": "gitlens.openBranchInRemote",
- "title": "Open Branch in Remote",
- "category": "GitLens"
- },
- {
- "command": "gitlens.openCommitInRemote",
- "title": "Open Commit in Remote",
- "category": "GitLens"
- },
- {
- "command": "gitlens.openFileInRemote",
- "title": "Open File in Remote",
- "category": "GitLens"
- },
- {
- "command": "gitlens.openRepoInRemote",
- "title": "Open Repository in Remote",
- "category": "GitLens"
- },
- {
- "command": "gitlens.stashApply",
- "title": "Apply Stashed Changes",
- "category": "GitLens"
- },
- {
- "command": "gitlens.stashSave",
- "title": "Stash Changes",
- "category": "GitLens"
- },
- {
- "command": "gitlens.resetSuppressedWarnings",
- "title": "Reset Suppressed Warnings",
- "category": "GitLens"
- },
- {
- "command": "gitlens.gitExplorer.refresh",
- "title": "Refresh",
- "icon": {
- "dark": "images/dark/icon-refresh.svg",
- "light": "images/light/icon-refresh.svg"
- }
- },
- {
- "command": "gitlens.stashExplorer.refresh",
- "title": "Refresh",
- "icon": {
- "dark": "images/dark/icon-refresh.svg",
- "light": "images/light/icon-refresh.svg"
- }
- }
- ],
- "menus": {
- "commandPalette": [
- {
- "command": "gitlens.diffDirectory",
- "when": "gitlens:enabled"
- },
- {
- "command": "gitlens.diffWithBranch",
- "when": "gitlens:isTracked"
- },
- {
- "command": "gitlens.diffWithNext",
- "when": "gitlens:isTracked"
- },
- {
- "command": "gitlens.diffWithPrevious",
- "when": "gitlens:isTracked"
- },
- {
- "command": "gitlens.diffLineWithPrevious",
- "when": "gitlens:isBlameable"
- },
- {
- "command": "gitlens.diffWithRevision",
- "when": "gitlens:isTracked"
- },
- {
- "command": "gitlens.diffWithWorking",
- "when": "gitlens:isTracked"
- },
- {
- "command": "gitlens.diffLineWithWorking",
- "when": "gitlens:isBlameable"
- },
- {
- "command": "gitlens.showFileBlame",
- "when": "gitlens:isBlameable"
- },
- {
- "command": "gitlens.showLineBlame",
- "when": "gitlens:isBlameable"
- },
- {
- "command": "gitlens.toggleFileBlame",
- "when": "gitlens:isBlameable"
- },
- {
- "command": "gitlens.toggleFileRecentChanges",
- "when": "gitlens:isTracked"
- },
- {
- "command": "gitlens.toggleLineBlame",
- "when": "gitlens:isBlameable"
- },
- {
- "command": "gitlens.toggleCodeLens",
- "when": "gitlens:isTracked && gitlens:canToggleCodeLens"
- },
- {
- "command": "gitlens.showBlameHistory",
- "when": "gitlens:isBlameable"
- },
- {
- "command": "gitlens.showFileHistory",
- "when": "gitlens:isTracked"
- },
- {
- "command": "gitlens.showLastQuickPick",
- "when": "gitlens:enabled"
- },
- {
- "command": "gitlens.showQuickCommitDetails",
- "when": "gitlens:isBlameable"
- },
- {
- "command": "gitlens.showQuickCommitFileDetails",
- "when": "gitlens:isBlameable"
- },
- {
- "command": "gitlens.showQuickFileHistory",
- "when": "gitlens:isTracked"
- },
- {
- "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.showStashList",
- "when": "gitlens:enabled"
- },
- {
- "command": "gitlens.copyShaToClipboard",
- "when": "gitlens:isBlameable"
- },
- {
- "command": "gitlens.copyMessageToClipboard",
- "when": "gitlens:isBlameable"
- },
- {
- "command": "gitlens.closeUnchangedFiles",
- "when": "gitlens:enabled"
- },
- {
- "command": "gitlens.openChangedFiles",
- "when": "gitlens:enabled"
- },
- {
- "command": "gitlens.openBranchInRemote",
- "when": "gitlens:hasRemotes"
- },
- {
- "command": "gitlens.openCommitInRemote",
- "when": "gitlens:isBlameable && gitlens:hasRemotes"
- },
- {
- "command": "gitlens.openFileInRemote",
- "when": "gitlens:isTracked && gitlens:hasRemotes"
- },
- {
- "command": "gitlens.openRepoInRemote",
- "when": "gitlens:hasRemotes"
- },
- {
- "command": "gitlens.stashApply",
- "when": "gitlens:enabled"
- },
- {
- "command": "gitlens.stashSave",
- "when": "gitlens:enabled"
- },
- {
- "command": "gitlens.resetSuppressedWarnings",
- "when": "gitlens:enabled"
- },
- {
- "command": "gitlens.gitExplorer.refresh",
- "when": "gitlens:enabled"
- },
- {
- "command": "gitlens.stashExplorer.refresh",
- "when": "gitlens:enabled"
- }
- ],
- "editor/context": [
- {
- "command": "gitlens.openFileInRemote",
- "when": "editorTextFocus && gitlens:isTracked && gitlens:hasRemotes && config.gitlens.advanced.menus.editorContext.remote",
- "group": "navigation@100"
- },
- {
- "command": "gitlens.diffLineWithPrevious",
- "when": "editorTextFocus && gitlens:isBlameable && config.gitlens.advanced.menus.editorContext.lineDiff",
- "group": "1_gitlens@1"
- },
- {
- "command": "gitlens.diffLineWithWorking",
- "when": "editorTextFocus && gitlens:isBlameable && config.gitlens.advanced.menus.editorContext.lineDiff",
- "group": "1_gitlens@2"
- },
- {
- "command": "gitlens.showQuickCommitFileDetails",
- "when": "editorTextFocus && gitlens:isBlameable && config.gitlens.advanced.menus.editorContext.details",
- "group": "1_gitlens@3"
- },
- {
- "command": "gitlens.diffWithPrevious",
- "when": "editorTextFocus && gitlens:isTracked && config.gitlens.advanced.menus.editorContext.fileDiff",
- "group": "1_gitlens_1@1"
- },
- {
- "command": "gitlens.diffWithWorking",
- "when": "editorTextFocus && gitlens:isTracked && config.gitlens.advanced.menus.editorContext.fileDiff",
- "group": "1_gitlens_1@2"
- },
- {
- "command": "gitlens.showQuickFileHistory",
- "when": "gitlens:isTracked && config.gitlens.advanced.menus.editorContext.history",
- "group": "3_gitlens@1"
- },
- {
- "command": "gitlens.toggleFileBlame",
- "when": "editorTextFocus && gitlens:isBlameable && config.gitlens.advanced.menus.editorContext.blame",
- "group": "3_gitlens@2"
- },
- {
- "command": "gitlens.copyShaToClipboard",
- "when": "editorTextFocus && gitlens:isBlameable && config.gitlens.advanced.menus.editorContext.copy",
- "group": "9_gitlens@1"
- },
- {
- "command": "gitlens.copyMessageToClipboard",
- "when": "editorTextFocus && gitlens:isBlameable && config.gitlens.advanced.menus.editorContext.copy",
- "group": "9_gitlens@2"
- }
- ],
- "editor/title": [
- {
- "command": "gitlens.toggleFileBlame",
- "alt": "gitlens.toggleFileRecentChanges",
- "when": "gitlens:isBlameable && config.gitlens.advanced.menus.editorTitle.blame",
- "group": "navigation@100"
- },
- {
- "command": "gitlens.openFileInRemote",
- "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.remote",
- "group": "1_gitlens"
- },
- {
- "command": "gitlens.openRepoInRemote",
- "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.remote",
- "group": "1_gitlens"
- },
- {
- "command": "gitlens.diffWithPrevious",
- "when": "editorTextFocus && gitlens:isTracked && config.gitlens.advanced.menus.editorTitle.fileDiff",
- "group": "2_gitlens"
- },
- {
- "command": "gitlens.diffWithWorking",
- "when": "editorTextFocus && gitlens:isTracked && config.gitlens.advanced.menus.editorTitle.fileDiff",
- "group": "2_gitlens"
- },
- {
- "command": "gitlens.showQuickFileHistory",
- "when": "editorFocus && gitlens:isTracked && config.gitlens.advanced.menus.editorTitle.history",
- "group": "2_gitlens_1"
- },
- {
- "command": "gitlens.showQuickRepoHistory",
- "when": "!editorFocus && gitlens:enabled && config.gitlens.advanced.menus.editorTitle.history",
- "group": "2_gitlens_1"
- },
- {
- "command": "gitlens.showQuickRepoStatus",
- "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitle.status",
- "group": "2_gitlens_1"
- }
- ],
- "editor/title/context": [
- {
- "command": "gitlens.openFileInRemote",
- "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.remote",
- "group": "1_gitlens"
- },
- {
- "command": "gitlens.diffWithPrevious",
- "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.fileDiff",
- "group": "1_gitlens_1@1"
- },
- {
- "command": "gitlens.diffWithWorking",
- "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.fileDiff",
- "group": "1_gitlens_1@2"
- },
- {
- "command": "gitlens.showQuickFileHistory",
- "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.history",
- "group": "1_gitlens_2@1"
- },
- {
- "command": "gitlens.toggleFileBlame",
- "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.blame",
- "group": "1_gitlens_2@2"
- }
- ],
- "explorer/context": [
- {
- "command": "gitlens.openFileInRemote",
- "when": "gitlens:enabled && config.gitlens.advanced.menus.explorerContext.remote",
- "group": "navigation@100"
- },
- {
- "command": "gitlens.diffWithPrevious",
- "when": "gitlens:enabled && config.gitlens.advanced.menus.explorerContext.fileDiff",
- "group": "1_gitlens@1"
- },
- {
- "command": "gitlens.diffWithWorking",
- "when": "gitlens:enabled && config.gitlens.advanced.menus.explorerContext.fileDiff",
- "group": "1_gitlens@2"
- },
- {
- "command": "gitlens.showQuickFileHistory",
- "when": "gitlens:enabled && config.gitlens.advanced.menus.explorerContext.history",
- "group": "1_gitlens_1@1"
- }
- ],
- "scm/resourceGroup/context": [
- {
- "command": "gitlens.openChangedFiles",
- "when": "gitlens:enabled",
- "group": "1_gitlens@1"
- },
- {
- "command": "gitlens.closeUnchangedFiles",
- "when": "gitlens:enabled",
- "group": "1_gitlens@2"
- }
- ],
- "scm/resourceState/context": [
- {
- "command": "gitlens.openFileInRemote",
- "when": "gitlens:enabled && gitlens:hasRemotes",
- "group": "navigation"
- },
- {
- "command": "gitlens.diffWithRevision",
- "when": "gitlens:enabled",
- "group": "1_gitlens@1"
- },
- {
- "command": "gitlens.showQuickFileHistory",
- "when": "gitlens:enabled",
- "group": "1_gitlens_1@1"
- }
- ],
- "view/title": [
- {
- "command": "gitlens.gitExplorer.refresh",
- "when": "gitlens:enabled && view == gitlens.gitExplorer",
- "group": "navigation"
- },
- {
- "command": "gitlens.stashExplorer.refresh",
- "when": "gitlens:enabled && view == gitlens.stashExplorer",
- "group": "navigation"
- }
- ],
- "view/item/context": [
- {
- "command": "gitlens.openCommitInRemote",
- "when": "gitlens:enabled && view == gitlens.gitExplorer && viewItem == commit",
- "group": "1_gitlens@1"
- },
- {
- "command": "gitlens.openFileInRemote",
- "when": "gitlens:enabled && view == gitlens.gitExplorer && viewItem == commit-file",
- "group": "1_gitlens@2"
- },
- {
- "command": "gitlens.diffWithPrevious",
- "when": "gitlens:enabled && view == gitlens.gitExplorer && viewItem == commit-file",
- "group": "2_gitlens@1"
- },
- {
- "command": "gitlens.diffWithWorking",
- "when": "gitlens:enabled && view == gitlens.gitExplorer && viewItem == commit-file",
- "group": "2_gitlens@2"
- },
- {
- "command": "gitlens.openCommitInRemote",
- "when": "gitlens:enabled && view == gitlens.stashExplorer && viewItem == stash-commit",
- "group": "1_gitlens@1"
- },
- {
- "command": "gitlens.openFileInRemote",
- "when": "gitlens:enabled && view == gitlens.stashExplorer && viewItem == commit-file",
- "group": "1_gitlens@2"
- },
- {
- "command": "gitlens.diffWithPrevious",
- "when": "gitlens:enabled && view == gitlens.stashExplorer && viewItem == commit-file",
- "group": "2_gitlens@1"
- },
- {
- "command": "gitlens.diffWithWorking",
- "when": "gitlens:enabled && view == gitlens.stashExplorer && viewItem == commit-file",
- "group": "2_gitlens@2"
- }
- ]
- },
- "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"
- },
- {
- "command": "gitlens.toggleFileBlame",
- "key": "alt+b",
- "when": "editorTextFocus && gitlens:isTracked"
- },
- {
- "command": "gitlens.toggleCodeLens",
- "key": "shift+alt+b",
- "when": "editorTextFocus && gitlens:isTracked && gitlens:canToggleCodeLens"
- },
- {
- "command": "gitlens.showLastQuickPick",
- "key": "alt+-",
- "when": "gitlens:enabled"
- },
- {
- "command": "gitlens.showCommitSearch",
- "key": "alt+/",
- "when": "gitlens:enabled"
- },
- {
- "command": "gitlens.showQuickFileHistory",
- "key": "alt+h",
- "when": "gitlens:enabled"
- },
- {
- "command": "gitlens.showQuickRepoHistory",
- "key": "shift+alt+h",
- "when": "gitlens:enabled"
- },
- {
- "command": "gitlens.showQuickRepoStatus",
- "key": "alt+s",
- "when": "gitlens:enabled"
- },
- {
- "command": "gitlens.showQuickCommitFileDetails",
- "key": "alt+c",
- "when": "editorTextFocus && gitlens:enabled"
- },
- {
- "command": "gitlens.diffWithNext",
- "key": "alt+.",
- "when": "editorTextFocus && gitlens:isTracked"
- },
- {
- "command": "gitlens.diffLineWithPrevious",
- "key": "shift+alt+,",
- "when": "editorTextFocus && gitlens:isTracked"
- },
- {
- "command": "gitlens.diffWithPrevious",
- "key": "alt+,",
- "when": "editorTextFocus && gitlens:isTracked"
- },
- {
- "command": "gitlens.diffLineWithWorking",
- "key": "alt+w",
- "when": "editorTextFocus && gitlens:isTracked"
- },
- {
- "command": "gitlens.diffWithWorking",
- "key": "shift+alt+w",
- "when": "editorTextFocus && gitlens:isTracked"
- }
- ],
- "views": {
- "explorer": [
- {
+{
+ "name": "gitlens",
+ "version": "4.2.0",
+ "author": {
+ "name": "Eric Amodio",
+ "email": "eamodio@gmail.com"
+ },
+ "publisher": "eamodio",
+ "engines": {
+ "vscode": "^1.13.0"
+ },
+ "license": "SEE LICENSE IN LICENSE",
+ "displayName": "Git Lens \u2014 git blame annotations, code lens, and more",
+ "description": "Supercharge Visual Studio Code's Git capabilities \u2014 Visualize code authorship at a glance via Git blame annotations and code lens, seamlessly navigate and explore the history of a file or branch, gain valuable insights via powerful comparison commands, and so much more",
+ "badges": [
+ {
+ "url": "https://badges.gitter.im/vscode-gitlens/Lobby.svg",
+ "href": "https://gitter.im/vscode-gitlens/Lobby",
+ "description": "Chat at https://gitter.im/vscode-gitlens/Lobby"
+ }
+ ],
+ "categories": [
+ "Other"
+ ],
+ "keywords": [
+ "git",
+ "code lens",
+ "blame",
+ "history",
+ "annotation",
+ "log",
+ "inline blame",
+ "compare",
+ "diff"
+ ],
+ "galleryBanner": {
+ "color": "#56098c",
+ "theme": "dark"
+ },
+ "icon": "images/gitlens-icon.png",
+ "preview": false,
+ "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"
+ },
+ "main": "./out/src/extension",
+ "contributes": {
+ "configuration": {
+ "type": "object",
+ "title": "GitLens configuration",
+ "properties": {
+ "gitlens.debug": {
+ "type": "boolean",
+ "default": false,
+ "description": "Specifies debug mode"
+ },
+ "gitlens.insiders": {
+ "type": "boolean",
+ "default": false,
+ "description": "Specifies whether or not to enable new experimental features (expect there to be issues)"
+ },
+ "gitlens.outputLevel": {
+ "type": "string",
+ "default": "silent",
+ "enum": [
+ "silent",
+ "errors",
+ "verbose"
+ ],
+ "description": "Specifies how much (if any) output will be sent to the GitLens output channel"
+ },
+ "gitlens.annotations.file.gutter.format": {
+ "type": "string",
+ "default": "${message|40?} ${ago|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.annotations.file.gutter.dateFormat`)\n ${authorAgo} - commit author, relative commit date\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting"
+ },
+ "gitlens.annotations.file.gutter.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"
+ },
+ "gitlens.annotations.file.gutter.compact": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to compact (deduplicate) matching adjacent gutter blame annotations"
+ },
+ "gitlens.annotations.file.gutter.heatmap.enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to provide a heatmap indicator in the gutter blame annotations"
+ },
+ "gitlens.annotations.file.gutter.heatmap.location": {
+ "type": "string",
+ "default": "right",
+ "enum": [
+ "left",
+ "right"
+ ],
+ "description": "Specifies where the heatmap indicators will be shown in the gutter blame annotations\n `left` - adds a heatmap indicator on the left edge of the gutter blame annotations\n `right` - adds a heatmap indicator on the right edge of the gutter blame annotations"
+ },
+ "gitlens.annotations.file.gutter.hover.details": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to provide a commit details hover annotation over the gutter blame annotations"
+ },
+ "gitlens.annotations.file.gutter.hover.wholeLine": {
+ "type": "boolean",
+ "default": false,
+ "description": "Specifies whether or not to trigger hover annotations over the whole line"
+ },
+ "gitlens.annotations.file.hover.heatmap.enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to provide heatmap indicators on the left edge of each line"
+ },
+ "gitlens.annotations.file.hover.wholeLine": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to trigger hover annotations over the whole line"
+ },
+ "gitlens.annotations.file.recentChanges.hover.details": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to provide a commit details hover annotation"
+ },
+ "gitlens.annotations.file.recentChanges.hover.changes": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to provide a changes (diff) hover annotation"
+ },
+ "gitlens.annotations.file.recentChanges.hover.wholeLine": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to trigger hover annotations over the whole line"
+ },
+ "gitlens.annotations.line.hover.details": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to provide a commit details hover annotation for the current line"
+ },
+ "gitlens.annotations.line.hover.changes": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to provide a changes (diff) hover annotation for the current line"
+ },
+ "gitlens.annotations.line.trailing.format": {
+ "type": "string",
+ "default": "${authorAgo} \u2022 ${message}",
+ "description": "Specifies the format of the trailing 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.annotations.line.trailing.dateFormat`)\n ${authorAgo} - commit author, relative commit date\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting"
+ },
+ "gitlens.annotations.line.trailing.dateFormat": {
+ "type": "string",
+ "default": null,
+ "description": "Specifies how to format absolute dates (using the `${date}` token) in trailing blame annotations\nSee https://momentjs.com/docs/#/displaying/format/ for valid formats"
+ },
+ "gitlens.annotations.line.trailing.hover.details": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to provide a commit details hover annotation over the trailing blame annotations"
+ },
+ "gitlens.annotations.line.trailing.hover.changes": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to provide a changes (diff) hover annotation over the trailing blame annotations"
+ },
+ "gitlens.annotations.line.trailing.hover.wholeLine": {
+ "type": "boolean",
+ "default": false,
+ "description": "Specifies whether or not to trigger hover annotations over the whole line"
+ },
+ "gitlens.blame.file.annotationType": {
+ "type": "string",
+ "default": "gutter",
+ "enum": [
+ "gutter",
+ "hover"
+ ],
+ "description": "Specifies the type of blame annotations that will be shown for the current file\n `gutter` - adds an annotation to the beginning of each line\n `hover` - shows annotations when hovering over each line"
+ },
+ "gitlens.blame.file.lineHighlight.enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to highlight lines associated with the current line"
+ },
+ "gitlens.blame.file.lineHighlight.locations": {
+ "type": "array",
+ "default": [
+ "gutter",
+ "line",
+ "overviewRuler"
+ ],
+ "items": {
+ "type": "string",
+ "enum": [
+ "gutter",
+ "line",
+ "overviewRuler"
+ ]
+ },
+ "minItems": 1,
+ "maxItems": 3,
+ "uniqueItems": true,
+ "description": "Specifies where the associated line highlights will be shown\n `gutter` - adds a gutter glyph\n `line` - adds a full-line highlight background color\n `overviewRuler` - adds a decoration to the overviewRuler (scroll bar)"
+ },
+ "gitlens.blame.line.enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to provide a blame annotation for the current line, by default\nUse the `gitlens.toggleLineBlame` command to toggle the annotations on and off for the current session"
+ },
+ "gitlens.blame.line.annotationType": {
+ "type": "string",
+ "default": "trailing",
+ "enum": [
+ "trailing",
+ "hover"
+ ],
+ "description": "Specifies the type of blame annotations that will be shown for the current line\n `trailing` - adds an annotation to the end of the current line\n `hover` - shows annotations when hovering over the current line"
+ },
+ "gitlens.recentChanges.file.lineHighlight.locations": {
+ "type": "array",
+ "default": [
+ "gutter",
+ "line",
+ "overviewRuler"
+ ],
+ "items": {
+ "type": "string",
+ "enum": [
+ "gutter",
+ "line",
+ "overviewRuler"
+ ]
+ },
+ "minItems": 1,
+ "maxItems": 3,
+ "uniqueItems": true,
+ "description": "Specifies where the highlights of the recently changed lines will be shown\n `gutter` - adds a gutter glyph\n `line` - adds a full-line highlight background color\n `overviewRuler` - adds a decoration to the overviewRuler (scroll bar)"
+ },
+ "gitlens.codeLens.enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to provide any Git code lens, by default\nUse the `gitlens.toggleCodeLens` command to toggle the Git code lens on and off for the current session"
+ },
+ "gitlens.codeLens.recentChange.enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to show a `recent change` code lens showing the author and date of the most recent commit for the file or code block"
+ },
+ "gitlens.codeLens.recentChange.command": {
+ "type": "string",
+ "default": "gitlens.showQuickCommitFileDetails",
+ "enum": [
+ "gitlens.toggleFileBlame",
+ "gitlens.showBlameHistory",
+ "gitlens.showFileHistory",
+ "gitlens.diffWithPrevious",
+ "gitlens.showQuickCommitDetails",
+ "gitlens.showQuickCommitFileDetails",
+ "gitlens.showQuickFileHistory",
+ "gitlens.showQuickRepoHistory"
+ ],
+ "description": "Specifies the command to be executed when the `recent change` code lens is clicked\n `gitlens.toggleFileBlame` - toggles file blame annotations\n `gitlens.showBlameHistory` - opens the blame history explorer\n `gitlens.showFileHistory` - opens the file history explorer\n `gitlens.diffWithPrevious` - compares the current committed file with the previous commit\n `gitlens.showQuickCommitDetails` - shows a commit details quick pick\n `gitlens.showQuickCommitFileDetails` - shows a commit file details quick pick\n `gitlens.showQuickFileHistory` - shows a file history quick pick\n `gitlens.showQuickRepoHistory` - shows a branch history quick pick"
+ },
+ "gitlens.codeLens.authors.enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to show 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)"
+ },
+ "gitlens.codeLens.authors.command": {
+ "type": "string",
+ "default": "gitlens.toggleFileBlame",
+ "enum": [
+ "gitlens.toggleFileBlame",
+ "gitlens.showBlameHistory",
+ "gitlens.showFileHistory",
+ "gitlens.diffWithPrevious",
+ "gitlens.showQuickCommitDetails",
+ "gitlens.showQuickCommitFileDetails",
+ "gitlens.showQuickFileHistory",
+ "gitlens.showQuickRepoHistory"
+ ],
+ "description": "Specifies the command to be executed when the `authors` code lens is clicked\n `gitlens.toggleFileBlame` - toggles file blame annotations\n `gitlens.showBlameHistory` - opens the blame history explorer\n `gitlens.showFileHistory` - opens the file history explorer\n `gitlens.diffWithPrevious` - compares the current committed file with the previous commit\n `gitlens.showQuickCommitDetails` - shows a commit details quick pick\n `gitlens.showQuickCommitFileDetails` - shows a commit file details quick pick\n `gitlens.showQuickFileHistory` - shows a file history quick pick\n `gitlens.showQuickRepoHistory` - shows a branch history quick pick"
+ },
+ "gitlens.codeLens.locations": {
+ "type": "array",
+ "default": [
+ "document",
+ "containers"
+ ],
+ "items": {
+ "type": "string",
+ "enum": [
+ "document",
+ "containers",
+ "blocks",
+ "custom"
+ ]
+ },
+ "minItems": 1,
+ "maxItems": 4,
+ "uniqueItems": true,
+ "description": "Specifies where Git code lens will be shown in the document\n `document` - adds code lens at the top of the document\n `containers` - adds code lens at the start of container-like symbols (modules, classes, interfaces, etc)\n `blocks` - adds code lens at the start of block-like symbols (functions, methods, properties, etc) lines\n `custom` - adds code lens at the start of symbols contained in `gitlens.codeLens.locationCustomSymbols`"
+ },
+ "gitlens.codeLens.customLocationSymbols": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true,
+ "description": "Specifies the set of document symbols where Git code lens will be shown in the document\nMust be a member of `SymbolKind`"
+ },
+ "gitlens.codeLens.perLanguageLocations": {
+ "type": "array",
+ "default": [
+ {
+ "language": "css",
+ "locations": [
+ "document"
+ ]
+ },
+ {
+ "language": "html",
+ "locations": [
+ "document"
+ ]
+ },
+ {
+ "language": "json",
+ "locations": [
+ "document"
+ ]
+ },
+ {
+ "language": "less",
+ "locations": [
+ "document"
+ ]
+ },
+ {
+ "language": "scss",
+ "locations": [
+ "document"
+ ]
+ },
+ {
+ "language": "vue",
+ "locations": [
+ "document"
+ ]
+ }
+ ],
+ "items": {
+ "type": "object",
+ "required": [
+ "language",
+ "locations"
+ ],
+ "properties": {
+ "language": {
+ "type": "string",
+ "description": "Specifies the language to which this code lens override applies"
+ },
+ "locations": {
+ "type": "array",
+ "default": [
+ "document",
+ "containers"
+ ],
+ "items": {
+ "type": "string",
+ "enum": [
+ "document",
+ "containers",
+ "blocks",
+ "custom"
+ ]
+ },
+ "minItems": 1,
+ "maxItems": 4,
+ "uniqueItems": true,
+ "description": "Specifies where Git code lens will be shown in the document for the specified language\n `document` - adds code lens at the top of the document\n `containers` - adds code lens at the start of container-like symbols (modules, classes, interfaces, etc)\n `blocks` - adds code lens at the start of block-like symbols (functions, methods, properties, etc) lines\n `custom` - adds code lens at the start of symbols contained in `customSymbols`"
+ },
+ "customSymbols": {
+ "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"
+ },
+ "gitlens.codeLens.debug": {
+ "type": "boolean",
+ "default": false,
+ "description": "Specifies whether or not to show debug information in code lens"
+ },
+ "gitlens.defaultDateFormat": {
+ "type": "string",
+ "default": null,
+ "description": "Specifies how all absolute dates will be formatted by default\nSee https://momentjs.com/docs/#/displaying/format/ for valid formats"
+ },
+ "gitlens.gitExplorer.commitFormat": {
+ "type": "string",
+ "default": "${authorAgo} \u00a0\u2022\u00a0 ${message} \u00a0\u2022\u00a0 ${id}",
+ "description": "Specifies the format of a commit in the explorer view\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 ${authorAgo} - commit author, relative commit date\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting"
+ },
+ "gitlens.gitExplorer.commitFileFormat": {
+ "type": "string",
+ "default": "${file} \u00a0\u2022\u00a0 ${path}",
+ "description": "Specifies the format of a file commit in the explorer view\nAvailable tokens\n ${file} - file name\n ${path} - file path"
+ },
+ "gitlens.stashExplorer.stashFormat": {
+ "type": "string",
+ "default": "${message}",
+ "description": "Specifies the format of a stash in the explorer view\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 ${authorAgo} - commit author, relative commit date\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting"
+ },
+ "gitlens.stashExplorer.stashFileFormat": {
+ "type": "string",
+ "default": "${file} \u00a0\u2022\u00a0 ${path}",
+ "description": "Specifies the format of a stashed file in the stash explorer view\nAvailable tokens\n ${file} - file name\n ${path} - file path"
+ },
+ "gitlens.statusBar.enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to provide blame information on the status bar"
+ },
+ "gitlens.statusBar.alignment": {
+ "type": "string",
+ "default": "right",
+ "enum": [
+ "left",
+ "right"
+ ],
+ "description": "Specifies the blame alignment in the status bar\n `left` - align to the left\n `right` - align to the right"
+ },
+ "gitlens.statusBar.command": {
+ "type": "string",
+ "default": "gitlens.showQuickCommitDetails",
+ "enum": [
+ "gitlens.toggleFileBlame",
+ "gitlens.showBlameHistory",
+ "gitlens.showFileHistory",
+ "gitlens.diffWithPrevious",
+ "gitlens.diffWithWorking",
+ "gitlens.toggleCodeLens",
+ "gitlens.showQuickCommitDetails",
+ "gitlens.showQuickCommitFileDetails",
+ "gitlens.showQuickFileHistory",
+ "gitlens.showQuickRepoHistory"
+ ],
+ "description": "Specifies the command to be executed when the blame status bar item is clicked\n `gitlens.toggleFileBlame` - toggles file blame annotations\n `gitlens.showBlameHistory` - opens the blame history explorer\n `gitlens.showFileHistory` - opens the file history explorer\n `gitlens.diffWithPrevious` - compares the current line commit with the previous\n `gitlens.diffWithWorking` - compares the current line commit with the working tree\n `gitlens.toggleCodeLens` - toggles Git code lens\n `gitlens.showQuickCommitDetails` - shows a commit details quick pick\n `gitlens.showQuickCommitFileDetails` - shows a commit file details quick pick\n `gitlens.showQuickFileHistory` - shows a file history quick pick\n `gitlens.showQuickRepoHistory` - shows a branch history quick pick"
+ },
+ "gitlens.statusBar.format": {
+ "type": "string",
+ "default": "${authorAgo}",
+ "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 ${authorAgo} - commit author, relative commit date\nSee https://github.com/eamodio/vscode-gitlens/wiki/Advanced-Formatting for advanced formatting"
+ },
+ "gitlens.statusBar.dateFormat": {
+ "type": "string",
+ "default": null,
+ "description": "Specifies the date format of absolute dates shown in the blame information on the status bar. See https://momentjs.com/docs/#/displaying/format/ for valid formats"
+ },
+ "gitlens.strings.codeLens.unsavedChanges.recentChangeAndAuthors": {
+ "type": "string",
+ "default": "Cannot determine recent change or authors (unsaved changes)",
+ "description": "Specifies the string to be shown in place of both the `recent change` and `authors` code lens when there are unsaved changes"
+ },
+ "gitlens.strings.codeLens.unsavedChanges.recentChangeOnly": {
+ "type": "string",
+ "default": "Cannot determine recent change (unsaved changes)",
+ "description": "Specifies the string to be shown in place of the `recent change` code lens when there are unsaved changes"
+ },
+ "gitlens.strings.codeLens.unsavedChanges.authorsOnly": {
+ "type": "string",
+ "default": "Cannot determine authors (unsaved changes)",
+ "description": "Specifies the string to be shown in place of the `authors` code lens when there are unsaved changes"
+ },
+ "gitlens.theme.annotations.file.gutter.separateLines": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not gutter blame annotations will be separated by a small gap"
+ },
+ "gitlens.theme.annotations.file.gutter.dark.backgroundColor": {
+ "type": "string",
+ "default": "rgba(255, 255, 255, 0.075)",
+ "description": "Specifies the dark theme background color of the gutter blame annotations. Must be a valid css color"
+ },
+ "gitlens.theme.annotations.file.gutter.light.backgroundColor": {
+ "type": "string",
+ "default": "rgba(0, 0, 0, 0.05)",
+ "description": "Specifies the light theme background color of the gutter blame annotations. Must be a valid css color"
+ },
+ "gitlens.theme.annotations.file.gutter.dark.foregroundColor": {
+ "type": "string",
+ "default": "rgb(190, 190, 190)",
+ "description": "Specifies the dark theme foreground color of the gutter blame annotations. Must be a valid css color"
+ },
+ "gitlens.theme.annotations.file.gutter.light.foregroundColor": {
+ "type": "string",
+ "default": "rgb(116, 116, 116)",
+ "description": "Specifies the light theme foreground color of the gutter blame annotations. Must be a valid css color"
+ },
+ "gitlens.theme.annotations.file.gutter.dark.uncommittedForegroundColor": {
+ "type": "string",
+ "default": "rgba(0, 188, 242, 0.6)",
+ "description": "Specifies the dark theme foreground color of an uncommitted line in the gutter blame annotations. Must be a valid css color"
+ },
+ "gitlens.theme.annotations.file.gutter.light.uncommittedForegroundColor": {
+ "type": "string",
+ "default": "rgba(0, 188, 242, 0.6)",
+ "description": "Specifies the light theme foreground color of an uncommitted line in the gutter blame annotations. Must be a valid css color"
+ },
+ "gitlens.theme.annotations.file.hover.separateLines": {
+ "type": "boolean",
+ "default": false,
+ "description": "Specifies whether or not hover blame annotations will be separated by a small gap (if heatmap is enabled)"
+ },
+ "gitlens.theme.annotations.line.trailing.dark.backgroundColor": {
+ "type": "string",
+ "default": null,
+ "description": "Specifies the dark theme background color of the trailing blame annotation. Must be a valid css color"
+ },
+ "gitlens.theme.annotations.line.trailing.light.backgroundColor": {
+ "type": "string",
+ "default": null,
+ "description": "Specifies the light theme background color of the trailing blame annotation. Must be a valid css color"
+ },
+ "gitlens.theme.annotations.line.trailing.dark.foregroundColor": {
+ "type": "string",
+ "default": "rgba(153, 153, 153, 0.35)",
+ "description": "Specifies the dark theme foreground color of the trailing blame annotation. Must be a valid css color"
+ },
+ "gitlens.theme.annotations.line.trailing.light.foregroundColor": {
+ "type": "string",
+ "default": "rgba(153, 153, 153, 0.35)",
+ "description": "Specifies the light theme foreground color of the trailing blame annotation. Must be a valid css color"
+ },
+ "gitlens.theme.lineHighlight.dark.backgroundColor": {
+ "type": "string",
+ "default": "rgba(0, 188, 242, 0.2)",
+ "description": "Specifies the dark theme background color of the associated line highlights in blame annotations. Must be a valid css color"
+ },
+ "gitlens.theme.lineHighlight.light.backgroundColor": {
+ "type": "string",
+ "default": "rgba(0, 188, 242, 0.2)",
+ "description": "Specifies the light theme background color of the associated line highlights in blame annotations. Must be a valid css color"
+ },
+ "gitlens.theme.lineHighlight.dark.overviewRulerColor": {
+ "type": "string",
+ "default": "rgba(0, 188, 242, 0.6)",
+ "description": "Specifies the dark theme overview ruler color of the associated line highlights in blame annotations. Must be a valid css color"
+ },
+ "gitlens.theme.lineHighlight.light.overviewRulerColor": {
+ "type": "string",
+ "default": "rgba(0, 188, 242, 0.6)",
+ "description": "Specifies the light theme overview ruler color of the associated line highlights in blame annotations. Must be a valid css color"
+ },
+ "gitlens.advanced.caching.enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether git output will be cached"
+ },
+ "gitlens.advanced.caching.maxLines": {
+ "type": "number",
+ "default": 0,
+ "description": "Specifies the threshold for caching larger documents"
+ },
+ "gitlens.advanced.git": {
+ "type": "string",
+ "default": null,
+ "description": "Specifies the git path to use"
+ },
+ "gitlens.advanced.gitignore.enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to parse the root .gitignore file for better performance (i.e. avoids blaming excluded files)"
+ },
+ "gitlens.advanced.maxQuickHistory": {
+ "type": "number",
+ "default": 200,
+ "description": "Specifies the maximum number of QuickPick history entries to show"
+ },
+ "gitlens.advanced.menus": {
+ "type": "object",
+ "default": {
+ "editorContext": {
+ "blame": true,
+ "copy": true,
+ "details": true,
+ "fileDiff": true,
+ "history": true,
+ "lineDiff": true,
+ "remote": true
+ },
+ "editorTitle": {
+ "blame": true,
+ "fileDiff": true,
+ "history": true,
+ "remote": true,
+ "status": true
+ },
+ "editorTitleContext": {
+ "blame": true,
+ "fileDiff": true,
+ "history": true,
+ "remote": true
+ },
+ "explorerContext": {
+ "fileDiff": true,
+ "history": true,
+ "remote": true
+ }
+ },
+ "description": "Specifies which commands will be added to which menus",
+ "properties": {
+ "editorContext": {
+ "type": "object",
+ "default": {
+ "blame": true,
+ "copy": true,
+ "details": true,
+ "fileDiff": true,
+ "history": true,
+ "lineDiff": true,
+ "remote": true
+ },
+ "properties": {
+ "blame": {
+ "type": "boolean",
+ "default": true
+ },
+ "copy": {
+ "type": "boolean",
+ "default": true
+ },
+ "details": {
+ "type": "boolean",
+ "default": true
+ },
+ "fileDiff": {
+ "type": "boolean",
+ "default": true
+ },
+ "history": {
+ "type": "boolean",
+ "default": true
+ },
+ "lineDiff": {
+ "type": "boolean",
+ "default": true
+ },
+ "remote": {
+ "type": "boolean",
+ "default": true
+ }
+ }
+ },
+ "editorTitle": {
+ "type": "object",
+ "default": {
+ "blame": true,
+ "fileDiff": true,
+ "history": true,
+ "remote": true,
+ "status": true
+ },
+ "properties": {
+ "blame": {
+ "type": "boolean",
+ "default": true
+ },
+ "fileDiff": {
+ "type": "boolean",
+ "default": true
+ },
+ "history": {
+ "type": "boolean",
+ "default": true
+ },
+ "remote": {
+ "type": "boolean",
+ "default": true
+ },
+ "status": {
+ "type": "boolean",
+ "default": true
+ }
+ }
+ },
+ "editorTitleContext": {
+ "type": "object",
+ "default": {
+ "blame": true,
+ "fileDiff": true,
+ "history": true,
+ "remote": true
+ },
+ "properties": {
+ "blame": {
+ "type": "boolean",
+ "default": true
+ },
+ "fileDiff": {
+ "type": "boolean",
+ "default": true
+ },
+ "history": {
+ "type": "boolean",
+ "default": true
+ },
+ "remote": {
+ "type": "boolean",
+ "default": true
+ }
+ }
+ },
+ "explorerContext": {
+ "type": "object",
+ "default": {
+ "fileDiff": true,
+ "history": true,
+ "remote": true
+ },
+ "properties": {
+ "fileDiff": {
+ "type": "boolean",
+ "default": true
+ },
+ "history": {
+ "type": "boolean",
+ "default": true
+ },
+ "remote": {
+ "type": "boolean",
+ "default": true
+ }
+ }
+ }
+ }
+ },
+ "gitlens.advanced.quickPick.closeOnFocusOut": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to close the QuickPick menu when focus is lost"
+ },
+ "gitlens.advanced.telemetry.enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to enable GitLens telemetry (even if enabled still abides by the overall `telemetry.enableTelemetry` setting"
+ },
+ "gitlens.advanced.toggleWhitespace.enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Specifies whether or not to toggle whitespace off then showing blame annotations (*may* be required by certain fonts/themes)"
+ }
+ }
+ },
+ "commands": [
+ {
+ "command": "gitlens.diffDirectory",
+ "title": "Directory Compare",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.diffWithBranch",
+ "title": "Compare File with Branch...",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.diffWithNext",
+ "title": "Compare File with Next Commit",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.diffWithPrevious",
+ "title": "Compare File with Previous",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.diffLineWithPrevious",
+ "title": "Compare Line Commit with Previous",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.diffWithRevision",
+ "title": "Compare File with Revision...",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.diffWithWorking",
+ "title": "Compare File with Working Tree",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.diffLineWithWorking",
+ "title": "Compare Line Commit with Working Tree",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.showFileBlame",
+ "title": "Show File Blame Annotations",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.showLineBlame",
+ "title": "Show Line Blame Annotations",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.toggleFileBlame",
+ "title": "Toggle File Blame Annotations",
+ "category": "GitLens",
+ "icon": {
+ "dark": "images/dark/git-icon.svg",
+ "light": "images/light/git-icon.svg"
+ }
+ },
+ {
+ "command": "gitlens.toggleFileRecentChanges",
+ "title": "Toggle Recent File Changes Annotations",
+ "category": "GitLens",
+ "icon": {
+ "dark": "images/dark/git-icon.svg",
+ "light": "images/light/git-icon.svg"
+ }
+ },
+ {
+ "command": "gitlens.toggleLineBlame",
+ "title": "Toggle Line Blame Annotations",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.toggleCodeLens",
+ "title": "Toggle Git Code Lens",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.showBlameHistory",
+ "title": "Open Blame History Explorer",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.showCommitSearch",
+ "title": "Search Commits",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.showFileHistory",
+ "title": "Show File History in Explorer",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.showLastQuickPick",
+ "title": "Show Last Opened Quick Pick",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.showQuickCommitDetails",
+ "title": "Show Commit Details",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.showQuickCommitFileDetails",
+ "title": "Show Commit File Details",
+ "category": "GitLens"
+ },
+ {
+ "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.showStashList",
+ "title": "Show Stashed Changes in Explorer",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.copyShaToClipboard",
+ "title": "Copy Commit ID to Clipboard",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.copyMessageToClipboard",
+ "title": "Copy Commit Message to Clipboard",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.closeUnchangedFiles",
+ "title": "Close Unchanged Files",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.openChangedFiles",
+ "title": "Open Changed Files",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.openBranchInRemote",
+ "title": "Open Branch in Remote",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.openCommitInRemote",
+ "title": "Open Commit in Remote",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.openFileInRemote",
+ "title": "Open File in Remote",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.openRepoInRemote",
+ "title": "Open Repository in Remote",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.stashApply",
+ "title": "Apply Stashed Changes",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.stashSave",
+ "title": "Stash Changes",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.resetSuppressedWarnings",
+ "title": "Reset Suppressed Warnings",
+ "category": "GitLens"
+ },
+ {
+ "command": "gitlens.gitExplorer.refresh",
+ "title": "Refresh",
+ "icon": {
+ "dark": "images/dark/icon-refresh.svg",
+ "light": "images/light/icon-refresh.svg"
+ }
+ },
+ {
+ "command": "gitlens.stashExplorer.refresh",
+ "title": "Refresh",
+ "icon": {
+ "dark": "images/dark/icon-refresh.svg",
+ "light": "images/light/icon-refresh.svg"
+ }
+ }
+ ],
+ "menus": {
+ "commandPalette": [
+ {
+ "command": "gitlens.diffDirectory",
+ "when": "gitlens:enabled"
+ },
+ {
+ "command": "gitlens.diffWithBranch",
+ "when": "gitlens:isTracked"
+ },
+ {
+ "command": "gitlens.diffWithNext",
+ "when": "gitlens:isTracked"
+ },
+ {
+ "command": "gitlens.diffWithPrevious",
+ "when": "gitlens:isTracked"
+ },
+ {
+ "command": "gitlens.diffLineWithPrevious",
+ "when": "gitlens:isBlameable"
+ },
+ {
+ "command": "gitlens.diffWithRevision",
+ "when": "gitlens:isTracked"
+ },
+ {
+ "command": "gitlens.diffWithWorking",
+ "when": "gitlens:isTracked"
+ },
+ {
+ "command": "gitlens.diffLineWithWorking",
+ "when": "gitlens:isBlameable"
+ },
+ {
+ "command": "gitlens.showFileBlame",
+ "when": "gitlens:isBlameable"
+ },
+ {
+ "command": "gitlens.showLineBlame",
+ "when": "gitlens:isBlameable"
+ },
+ {
+ "command": "gitlens.toggleFileBlame",
+ "when": "gitlens:isBlameable"
+ },
+ {
+ "command": "gitlens.toggleFileRecentChanges",
+ "when": "gitlens:isTracked"
+ },
+ {
+ "command": "gitlens.toggleLineBlame",
+ "when": "gitlens:isBlameable"
+ },
+ {
+ "command": "gitlens.toggleCodeLens",
+ "when": "gitlens:isTracked && gitlens:canToggleCodeLens"
+ },
+ {
+ "command": "gitlens.showBlameHistory",
+ "when": "gitlens:isBlameable"
+ },
+ {
+ "command": "gitlens.showFileHistory",
+ "when": "gitlens:isTracked"
+ },
+ {
+ "command": "gitlens.showLastQuickPick",
+ "when": "gitlens:enabled"
+ },
+ {
+ "command": "gitlens.showQuickCommitDetails",
+ "when": "gitlens:isBlameable"
+ },
+ {
+ "command": "gitlens.showQuickCommitFileDetails",
+ "when": "gitlens:isBlameable"
+ },
+ {
+ "command": "gitlens.showQuickFileHistory",
+ "when": "gitlens:isTracked"
+ },
+ {
+ "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.showStashList",
+ "when": "gitlens:enabled"
+ },
+ {
+ "command": "gitlens.copyShaToClipboard",
+ "when": "gitlens:isBlameable"
+ },
+ {
+ "command": "gitlens.copyMessageToClipboard",
+ "when": "gitlens:isBlameable"
+ },
+ {
+ "command": "gitlens.closeUnchangedFiles",
+ "when": "gitlens:enabled"
+ },
+ {
+ "command": "gitlens.openChangedFiles",
+ "when": "gitlens:enabled"
+ },
+ {
+ "command": "gitlens.openBranchInRemote",
+ "when": "gitlens:hasRemotes"
+ },
+ {
+ "command": "gitlens.openCommitInRemote",
+ "when": "gitlens:isBlameable && gitlens:hasRemotes"
+ },
+ {
+ "command": "gitlens.openFileInRemote",
+ "when": "gitlens:isTracked && gitlens:hasRemotes"
+ },
+ {
+ "command": "gitlens.openRepoInRemote",
+ "when": "gitlens:hasRemotes"
+ },
+ {
+ "command": "gitlens.stashApply",
+ "when": "gitlens:enabled"
+ },
+ {
+ "command": "gitlens.stashSave",
+ "when": "gitlens:enabled"
+ },
+ {
+ "command": "gitlens.resetSuppressedWarnings",
+ "when": "gitlens:enabled"
+ },
+ {
+ "command": "gitlens.gitExplorer.refresh",
+ "when": "gitlens:enabled"
+ },
+ {
+ "command": "gitlens.stashExplorer.refresh",
+ "when": "gitlens:enabled"
+ }
+ ],
+ "editor/context": [
+ {
+ "command": "gitlens.openFileInRemote",
+ "when": "editorTextFocus && gitlens:isTracked && gitlens:hasRemotes && config.gitlens.advanced.menus.editorContext.remote",
+ "group": "navigation@100"
+ },
+ {
+ "command": "gitlens.diffLineWithPrevious",
+ "when": "editorTextFocus && gitlens:isBlameable && config.gitlens.advanced.menus.editorContext.lineDiff",
+ "group": "1_gitlens@1"
+ },
+ {
+ "command": "gitlens.diffLineWithWorking",
+ "when": "editorTextFocus && gitlens:isBlameable && config.gitlens.advanced.menus.editorContext.lineDiff",
+ "group": "1_gitlens@2"
+ },
+ {
+ "command": "gitlens.showQuickCommitFileDetails",
+ "when": "editorTextFocus && gitlens:isBlameable && config.gitlens.advanced.menus.editorContext.details",
+ "group": "1_gitlens@3"
+ },
+ {
+ "command": "gitlens.diffWithPrevious",
+ "when": "editorTextFocus && gitlens:isTracked && config.gitlens.advanced.menus.editorContext.fileDiff",
+ "group": "1_gitlens_1@1"
+ },
+ {
+ "command": "gitlens.diffWithWorking",
+ "when": "editorTextFocus && gitlens:isTracked && config.gitlens.advanced.menus.editorContext.fileDiff",
+ "group": "1_gitlens_1@2"
+ },
+ {
+ "command": "gitlens.showQuickFileHistory",
+ "when": "gitlens:isTracked && config.gitlens.advanced.menus.editorContext.history",
+ "group": "3_gitlens@1"
+ },
+ {
+ "command": "gitlens.toggleFileBlame",
+ "when": "editorTextFocus && gitlens:isBlameable && config.gitlens.advanced.menus.editorContext.blame",
+ "group": "3_gitlens@2"
+ },
+ {
+ "command": "gitlens.copyShaToClipboard",
+ "when": "editorTextFocus && gitlens:isBlameable && config.gitlens.advanced.menus.editorContext.copy",
+ "group": "9_gitlens@1"
+ },
+ {
+ "command": "gitlens.copyMessageToClipboard",
+ "when": "editorTextFocus && gitlens:isBlameable && config.gitlens.advanced.menus.editorContext.copy",
+ "group": "9_gitlens@2"
+ }
+ ],
+ "editor/title": [
+ {
+ "command": "gitlens.toggleFileBlame",
+ "alt": "gitlens.toggleFileRecentChanges",
+ "when": "gitlens:isBlameable && config.gitlens.advanced.menus.editorTitle.blame",
+ "group": "navigation@100"
+ },
+ {
+ "command": "gitlens.openFileInRemote",
+ "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.remote",
+ "group": "1_gitlens"
+ },
+ {
+ "command": "gitlens.openRepoInRemote",
+ "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.remote",
+ "group": "1_gitlens"
+ },
+ {
+ "command": "gitlens.diffWithPrevious",
+ "when": "editorTextFocus && gitlens:isTracked && config.gitlens.advanced.menus.editorTitle.fileDiff",
+ "group": "2_gitlens"
+ },
+ {
+ "command": "gitlens.diffWithWorking",
+ "when": "editorTextFocus && gitlens:isTracked && config.gitlens.advanced.menus.editorTitle.fileDiff",
+ "group": "2_gitlens"
+ },
+ {
+ "command": "gitlens.showQuickFileHistory",
+ "when": "editorFocus && gitlens:isTracked && config.gitlens.advanced.menus.editorTitle.history",
+ "group": "2_gitlens_1"
+ },
+ {
+ "command": "gitlens.showQuickRepoHistory",
+ "when": "!editorFocus && gitlens:enabled && config.gitlens.advanced.menus.editorTitle.history",
+ "group": "2_gitlens_1"
+ },
+ {
+ "command": "gitlens.showQuickRepoStatus",
+ "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitle.status",
+ "group": "2_gitlens_1"
+ }
+ ],
+ "editor/title/context": [
+ {
+ "command": "gitlens.openFileInRemote",
+ "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.remote",
+ "group": "1_gitlens"
+ },
+ {
+ "command": "gitlens.diffWithPrevious",
+ "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.fileDiff",
+ "group": "1_gitlens_1@1"
+ },
+ {
+ "command": "gitlens.diffWithWorking",
+ "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.fileDiff",
+ "group": "1_gitlens_1@2"
+ },
+ {
+ "command": "gitlens.showQuickFileHistory",
+ "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.history",
+ "group": "1_gitlens_2@1"
+ },
+ {
+ "command": "gitlens.toggleFileBlame",
+ "when": "gitlens:enabled && config.gitlens.advanced.menus.editorTitleContext.blame",
+ "group": "1_gitlens_2@2"
+ }
+ ],
+ "explorer/context": [
+ {
+ "command": "gitlens.openFileInRemote",
+ "when": "gitlens:enabled && config.gitlens.advanced.menus.explorerContext.remote",
+ "group": "navigation@100"
+ },
+ {
+ "command": "gitlens.diffWithPrevious",
+ "when": "gitlens:enabled && config.gitlens.advanced.menus.explorerContext.fileDiff",
+ "group": "1_gitlens@1"
+ },
+ {
+ "command": "gitlens.diffWithWorking",
+ "when": "gitlens:enabled && config.gitlens.advanced.menus.explorerContext.fileDiff",
+ "group": "1_gitlens@2"
+ },
+ {
+ "command": "gitlens.showQuickFileHistory",
+ "when": "gitlens:enabled && config.gitlens.advanced.menus.explorerContext.history",
+ "group": "1_gitlens_1@1"
+ }
+ ],
+ "scm/resourceGroup/context": [
+ {
+ "command": "gitlens.openChangedFiles",
+ "when": "gitlens:enabled",
+ "group": "1_gitlens@1"
+ },
+ {
+ "command": "gitlens.closeUnchangedFiles",
+ "when": "gitlens:enabled",
+ "group": "1_gitlens@2"
+ }
+ ],
+ "scm/resourceState/context": [
+ {
+ "command": "gitlens.openFileInRemote",
+ "when": "gitlens:enabled && gitlens:hasRemotes",
+ "group": "navigation"
+ },
+ {
+ "command": "gitlens.diffWithRevision",
+ "when": "gitlens:enabled",
+ "group": "1_gitlens@1"
+ },
+ {
+ "command": "gitlens.showQuickFileHistory",
+ "when": "gitlens:enabled",
+ "group": "1_gitlens_1@1"
+ }
+ ],
+ "view/title": [
+ {
+ "command": "gitlens.gitExplorer.refresh",
+ "when": "gitlens:enabled && view == gitlens.gitExplorer",
+ "group": "navigation"
+ },
+ {
+ "command": "gitlens.stashExplorer.refresh",
+ "when": "gitlens:enabled && view == gitlens.stashExplorer",
+ "group": "navigation"
+ }
+ ],
+ "view/item/context": [
+ {
+ "command": "gitlens.openCommitInRemote",
+ "when": "gitlens:enabled && view == gitlens.gitExplorer && viewItem == commit",
+ "group": "1_gitlens@1"
+ },
+ {
+ "command": "gitlens.openFileInRemote",
+ "when": "gitlens:enabled && view == gitlens.gitExplorer && viewItem == commit-file",
+ "group": "1_gitlens@2"
+ },
+ {
+ "command": "gitlens.diffWithPrevious",
+ "when": "gitlens:enabled && view == gitlens.gitExplorer && viewItem == commit-file",
+ "group": "2_gitlens@1"
+ },
+ {
+ "command": "gitlens.diffWithWorking",
+ "when": "gitlens:enabled && view == gitlens.gitExplorer && viewItem == commit-file",
+ "group": "2_gitlens@2"
+ },
+ {
+ "command": "gitlens.openCommitInRemote",
+ "when": "gitlens:enabled && view == gitlens.stashExplorer && viewItem == stash-commit",
+ "group": "1_gitlens@1"
+ },
+ {
+ "command": "gitlens.openFileInRemote",
+ "when": "gitlens:enabled && view == gitlens.stashExplorer && viewItem == commit-file",
+ "group": "1_gitlens@2"
+ },
+ {
+ "command": "gitlens.diffWithPrevious",
+ "when": "gitlens:enabled && view == gitlens.stashExplorer && viewItem == commit-file",
+ "group": "2_gitlens@1"
+ },
+ {
+ "command": "gitlens.diffWithWorking",
+ "when": "gitlens:enabled && view == gitlens.stashExplorer && viewItem == commit-file",
+ "group": "2_gitlens@2"
+ }
+ ]
+ },
+ "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"
+ },
+ {
+ "command": "gitlens.toggleFileBlame",
+ "key": "alt+b",
+ "when": "editorTextFocus && gitlens:isTracked"
+ },
+ {
+ "command": "gitlens.toggleCodeLens",
+ "key": "shift+alt+b",
+ "when": "editorTextFocus && gitlens:isTracked && gitlens:canToggleCodeLens"
+ },
+ {
+ "command": "gitlens.showLastQuickPick",
+ "key": "alt+-",
+ "when": "gitlens:enabled"
+ },
+ {
+ "command": "gitlens.showCommitSearch",
+ "key": "alt+/",
+ "when": "gitlens:enabled"
+ },
+ {
+ "command": "gitlens.showQuickFileHistory",
+ "key": "alt+h",
+ "when": "gitlens:enabled"
+ },
+ {
+ "command": "gitlens.showQuickRepoHistory",
+ "key": "shift+alt+h",
+ "when": "gitlens:enabled"
+ },
+ {
+ "command": "gitlens.showQuickRepoStatus",
+ "key": "alt+s",
+ "when": "gitlens:enabled"
+ },
+ {
+ "command": "gitlens.showQuickCommitFileDetails",
+ "key": "alt+c",
+ "when": "editorTextFocus && gitlens:enabled"
+ },
+ {
+ "command": "gitlens.diffWithNext",
+ "key": "alt+.",
+ "when": "editorTextFocus && gitlens:isTracked"
+ },
+ {
+ "command": "gitlens.diffLineWithPrevious",
+ "key": "shift+alt+,",
+ "when": "editorTextFocus && gitlens:isTracked"
+ },
+ {
+ "command": "gitlens.diffWithPrevious",
+ "key": "alt+,",
+ "when": "editorTextFocus && gitlens:isTracked"
+ },
+ {
+ "command": "gitlens.diffLineWithWorking",
+ "key": "alt+w",
+ "when": "editorTextFocus && gitlens:isTracked"
+ },
+ {
+ "command": "gitlens.diffWithWorking",
+ "key": "shift+alt+w",
+ "when": "editorTextFocus && gitlens:isTracked"
+ }
+ ],
+ "views": {
+ "explorer": [
+ {
"id": "gitlens.gitExplorer",
- "name": "GitLens Explorer"
- },
- {
+ "name": "GitLens Explorer"
+ },
+ {
"id": "gitlens.stashExplorer",
- "name": "Git Stashes"
- }
- ]
- }
- },
- "activationEvents": [
- "*"
- ],
- "scripts": {
- "clean": "git clean -xdf",
- "compile": "tslint --project tslint.json && tsc -p ./",
- "watch": "tsc -watch -p ./",
- "lint": "tslint --project tslint.json",
- "pack": "git clean -xdf && vsce package",
- "postinstall": "node ./node_modules/vscode/bin/install",
- "pub": "git clean -xdf && vsce publish",
- "reset": "git clean -xdf && npm install",
- "vscode:prepublish": "npm install --no-save && npm run compile"
- },
- "dependencies": {
- "applicationinsights": "0.21.0",
- "copy-paste": "1.3.0",
- "iconv-lite": "0.4.18",
- "ignore": "3.3.3",
- "lodash.debounce": "4.0.8",
- "lodash.escaperegexp": "4.1.2",
- "lodash.isequal": "4.5.0",
- "lodash.once": "4.1.1",
- "moment": "2.18.1",
- "spawn-rx": "2.0.11",
- "tmp": "0.0.31"
- },
- "devDependencies": {
- "@types/copy-paste": "1.1.30",
- "@types/iconv-lite": "0.0.1",
- "@types/mocha": "2.2.41",
- "@types/node": "8.0.7",
- "@types/tmp": "0.0.33",
- "mocha": "3.4.2",
- "tslint": "5.4.3",
- "typescript": "2.4.1",
- "vscode": "1.1.1"
- }
-}
+ "name": "Git Stashes"
+ }
+ ]
+ }
+ },
+ "activationEvents": [
+ "*"
+ ],
+ "scripts": {
+ "clean": "git clean -xdf",
+ "compile": "tslint --project tslint.json && tsc -p ./",
+ "watch": "tsc -watch -p ./",
+ "lint": "tslint --project tslint.json",
+ "pack": "git clean -xdf && vsce package",
+ "postinstall": "node ./node_modules/vscode/bin/install",
+ "pub": "git clean -xdf && vsce publish",
+ "reset": "git clean -xdf && npm install",
+ "vscode:prepublish": "npm install --no-save && npm run compile"
+ },
+ "dependencies": {
+ "applicationinsights": "0.21.0",
+ "copy-paste": "1.3.0",
+ "iconv-lite": "0.4.18",
+ "ignore": "3.3.3",
+ "lodash.debounce": "4.0.8",
+ "lodash.escaperegexp": "4.1.2",
+ "lodash.isequal": "4.5.0",
+ "lodash.once": "4.1.1",
+ "moment": "2.18.1",
+ "spawn-rx": "2.0.11",
+ "tmp": "0.0.31"
+ },
+ "devDependencies": {
+ "@types/copy-paste": "1.1.30",
+ "@types/iconv-lite": "0.0.1",
+ "@types/mocha": "2.2.41",
+ "@types/node": "8.0.7",
+ "@types/tmp": "0.0.33",
+ "mocha": "3.4.2",
+ "tslint": "5.4.3",
+ "typescript": "2.4.1",
+ "vscode": "1.1.1"
+ }
+}
diff --git a/src/configuration.ts b/src/configuration.ts
index 650c27b..33b6eac 100644
--- a/src/configuration.ts
+++ b/src/configuration.ts
@@ -303,10 +303,15 @@ export interface IConfig {
defaultDateFormat: string | null;
- explorer: {
+ gitExplorer: {
commitFormat: string;
commitFileFormat: string;
+ // dateFormat: string | null;
+ };
+
+ stashExplorer: {
stashFormat: string;
+ stashFileFormat: string;
// dateFormat: string | null;
};
diff --git a/src/git/models/status.ts b/src/git/models/status.ts
index cdfd6d7..af9ef7c 100644
--- a/src/git/models/status.ts
+++ b/src/git/models/status.ts
@@ -72,4 +72,19 @@ const statusOcticonsMap = {
export function getGitStatusOcticon(status: GitStatusFileStatus, missing: string = GlyphChars.Space.repeat(4)): string {
return statusOcticonsMap[status] || missing;
+}
+
+const statusIconsMap = {
+ '!': 'icon-status-ignored.svg',
+ '?': 'icon-status-untracked.svg',
+ A: 'icon-status-added.svg',
+ C: 'icon-status-copied.svg',
+ D: 'icon-status-deleted.svg',
+ M: 'icon-status-modified.svg',
+ R: 'icon-status-renamed.svg',
+ U: 'icon-status-conflict.svg'
+};
+
+export function getGitStatusIcon(status: GitStatusFileStatus): string {
+ return statusIconsMap[status];
}
\ No newline at end of file
diff --git a/src/views/commitFileNode.ts b/src/views/commitFileNode.ts
index 670e6aa..c74cc6a 100644
--- a/src/views/commitFileNode.ts
+++ b/src/views/commitFileNode.ts
@@ -2,13 +2,14 @@
import { ExtensionContext, TreeItem, TreeItemCollapsibleState } from 'vscode';
import { Commands, DiffWithPreviousCommandArgs } from '../commands';
import { ExplorerNode, ResourceType } from './explorerNode';
-import { GitCommit, GitService, GitUri, IGitStatusFile } from '../gitService';
+import { getGitStatusIcon, GitCommit, GitService, GitUri, IGitStatusFile, StatusFileFormatter } from '../gitService';
+import * as path from 'path';
export class CommitFileNode extends ExplorerNode {
readonly resourceType: ResourceType = 'commit-file';
- constructor(public status: IGitStatusFile, public commit: GitCommit, uri: GitUri, context: ExtensionContext, git: GitService) {
+ constructor(public status: IGitStatusFile, public commit: GitCommit, private template: string, uri: GitUri, context: ExtensionContext, git: GitService) {
super(uri, context, git);
}
@@ -24,8 +25,15 @@ export class CommitFileNode extends ExplorerNode {
}
}
- const item = new TreeItem(`${GitUri.getFormattedPath(this.status.fileName)}`, TreeItemCollapsibleState.None);
+ const item = new TreeItem(StatusFileFormatter.fromTemplate(this.template, this.status), TreeItemCollapsibleState.None);
item.contextValue = this.resourceType;
+
+ const icon = getGitStatusIcon(this.status.status);
+ item.iconPath = {
+ dark: this.context.asAbsolutePath(path.join('images', 'dark', icon)),
+ light: this.context.asAbsolutePath(path.join('images', 'light', icon))
+ };
+
item.command = {
title: 'Compare File with Previous',
command: Commands.DiffWithPrevious,
@@ -41,6 +49,7 @@ export class CommitFileNode extends ExplorerNode {
} as DiffWithPreviousCommandArgs
]
};
+
return item;
}
}
\ No newline at end of file
diff --git a/src/views/commitNode.ts b/src/views/commitNode.ts
index 6511fe1..6306231 100644
--- a/src/views/commitNode.ts
+++ b/src/views/commitNode.ts
@@ -20,11 +20,11 @@ export class CommitNode extends ExplorerNode {
const commit = Iterables.first(log.commits.values());
if (commit === undefined) return [];
- return [...Iterables.map(commit.fileStatuses, s => new CommitFileNode(s, commit, this.uri, this.context, this.git))];
+ return [...Iterables.map(commit.fileStatuses, s => new CommitFileNode(s, commit, this.git.config.gitExplorer.commitFileFormat, this.uri, this.context, this.git))];
}
getTreeItem(): TreeItem {
- const label = CommitFormatter.fromTemplate(this.git.config.explorer.commitFormat, this.commit, this.git.config.defaultDateFormat);
+ const label = CommitFormatter.fromTemplate(this.git.config.gitExplorer.commitFormat, this.commit, this.git.config.defaultDateFormat);
const item = new TreeItem(label, TreeItemCollapsibleState.Collapsed);
item.contextValue = this.resourceType;
diff --git a/src/views/stashCommitNode.ts b/src/views/stashCommitNode.ts
index 31e861a..c145d20 100644
--- a/src/views/stashCommitNode.ts
+++ b/src/views/stashCommitNode.ts
@@ -13,11 +13,11 @@ export class StashCommitNode extends ExplorerNode {
}
async getChildren(): Promise {
- return Promise.resolve((this.commit as GitStashCommit).fileStatuses.map(_ => new CommitFileNode(_, this.commit, this.uri, this.context, this.git)));
+ return Promise.resolve((this.commit as GitStashCommit).fileStatuses.map(_ => new CommitFileNode(_, this.commit, this.git.config.stashExplorer.stashFileFormat, this.uri, this.context, this.git)));
}
getTreeItem(): TreeItem {
- const label = CommitFormatter.fromTemplate(this.git.config.explorer.stashFormat, this.commit, this.git.config.defaultDateFormat);
+ const label = CommitFormatter.fromTemplate(this.git.config.stashExplorer.stashFormat, this.commit, this.git.config.defaultDateFormat);
const item = new TreeItem(label, TreeItemCollapsibleState.Collapsed);
item.contextValue = this.resourceType;