octokit / octokit.js

The all-batteries-included GitHub SDK for Browsers, Node.js, and Deno.
MIT License
6.94k stars 1.02k forks source link

Validation Failed while updating gist #1452

Closed shanalikhan closed 4 years ago

shanalikhan commented 5 years ago

Error while updating GIST

Gist Object:

{
    "url": "https://api.github.com/gists/802c710112af78040c78ab11bbbd4854",
    "forks_url": "https://api.github.com/gists/802c710112af78040c78ab11bbbd4854/forks",
    "commits_url": "https://api.github.com/gists/802c710112af78040c78ab11bbbd4854/commits",
    "id": "802c710112af78040c78ab11bbbd4854",
    "node_id": "MDQ6R2lzdDgwMmM3MTAxMTJhZjc4MDQwYzc4YWIxMWJiYmQ0ODU0",
    "git_pull_url": "https://gist.github.com/802c710112af78040c78ab11bbbd4854.git",
    "git_push_url": "https://gist.github.com/802c710112af78040c78ab11bbbd4854.git",
    "html_url": "https://gist.github.com/802c710112af78040c78ab11bbbd4854",
    "files": {
        "cloudSettings": {
            "content": "{\"lastUpload\":\"2019-08-23T10:54:54.281Z\",\"extensionVersion\":\"v3.4.2\"}"
        },
        "extensions.json": {
            "content": "[\n  {\n    \"metadata\": {\n      \"id\": \"697255a9-3f36-44c8-b084-d3b91edfb23a\",\n      \"publisherId\": \"HookyQR.beautify\",\n      \"publisherDisplayName\": \"HookyQR\"\n    },\n    \"name\": \"beautify\",\n    \"publisher\": \"HookyQR\",\n    \"version\": \"1.5.0\"\n  },\n  {\n    \"metadata\": {\n      \"publisherId\": \"Shan.code-settings-sync\",\n      \"publisherDisplayName\": \"Shan\"\n    },\n    \"name\": \"code-settings-sync\",\n    \"publisher\": \"Shan\",\n    \"version\": \"3.4.2\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"f0ac94f2-4473-4eb7-a44b-208edf9a96e9\",\n      \"publisherId\": \"alexdima.git-branch\",\n      \"publisherDisplayName\": \"alexdima\"\n    },\n    \"name\": \"git-branch\",\n    \"publisher\": \"alexdima\",\n    \"version\": \"1.4.0\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"4de763bd-505d-4978-9575-2b7696ecf94e\",\n      \"publisherId\": \"eamodio.gitlens\",\n      \"publisherDisplayName\": \"eamodio\"\n    },\n    \"name\": \"gitlens\",\n    \"publisher\": \"eamodio\",\n    \"version\": \"9.9.3\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"a2cec723-5349-460d-9de9-0fd1f8d3456f\",\n      \"publisherId\": \"xabikos.JavaScriptSnippets\",\n      \"publisherDisplayName\": \"xabikos\"\n    },\n    \"name\": \"JavaScriptSnippets\",\n    \"publisher\": \"xabikos\",\n    \"version\": \"1.7.2\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"82dfe17d-bb64-404e-bcc5-f9803f7ab5d5\",\n      \"publisherId\": \"dbaeumer.jshint\",\n      \"publisherDisplayName\": \"dbaeumer\"\n    },\n    \"name\": \"jshint\",\n    \"publisher\": \"dbaeumer\",\n    \"version\": \"0.10.21\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"b63c44fd-0457-4696-99e9-dbfdf70d77de\",\n      \"publisherId\": \"ritwickdey.LiveServer\",\n      \"publisherDisplayName\": \"ritwickdey\"\n    },\n    \"name\": \"LiveServer\",\n    \"publisher\": \"ritwickdey\",\n    \"version\": \"5.6.1\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"26a529c9-2654-4b95-a63f-02f6a52429e6\",\n      \"publisherId\": \"zhuangtongfa.Material-theme\",\n      \"publisherDisplayName\": \"zhuangtongfa\"\n    },\n    \"name\": \"Material-theme\",\n    \"publisher\": \"zhuangtongfa\",\n    \"version\": \"2.27.0\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"dff6b801-247e-40e9-82e8-8c9b1d19d1b8\",\n      \"publisherId\": \"christian-kohler.npm-intellisense\",\n      \"publisherDisplayName\": \"christian-kohler\"\n    },\n    \"name\": \"npm-intellisense\",\n    \"publisher\": \"christian-kohler\",\n    \"version\": \"1.3.0\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"a41c1549-4053-44d4-bf30-60fc809b4a86\",\n      \"publisherId\": \"christian-kohler.path-intellisense\",\n      \"publisherDisplayName\": \"christian-kohler\"\n    },\n    \"name\": \"path-intellisense\",\n    \"publisher\": \"christian-kohler\",\n    \"version\": \"1.4.2\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"96fa4707-6983-4489-b7c5-d5ffdfdcce90\",\n      \"publisherId\": \"esbenp.prettier-vscode\",\n      \"publisherDisplayName\": \"esbenp\"\n    },\n    \"name\": \"prettier-vscode\",\n    \"publisher\": \"esbenp\",\n    \"version\": \"1.9.0\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"f1f59ae4-9318-4f3c-a9b5-81b2eaa5f8a5\",\n      \"publisherId\": \"ms-python.python\",\n      \"publisherDisplayName\": \"ms-python\"\n    },\n    \"name\": \"python\",\n    \"publisher\": \"ms-python\",\n    \"version\": \"2019.8.30787\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"797a79de-a0fd-4349-9034-bec47be9a941\",\n      \"publisherId\": \"2gua.rainbow-brackets\",\n      \"publisherDisplayName\": \"2gua\"\n    },\n    \"name\": \"rainbow-brackets\",\n    \"publisher\": \"2gua\",\n    \"version\": \"0.0.6\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"ee108066-df8b-43ae-9a83-e6c11400a759\",\n      \"publisherId\": \"jasonnutter.search-node-modules\",\n      \"publisherDisplayName\": \"jasonnutter\"\n    },\n    \"name\": \"search-node-modules\",\n    \"publisher\": \"jasonnutter\",\n    \"version\": \"1.3.0\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"431aa1a8-74f4-43d5-a83b-f4960510da5f\",\n      \"publisherId\": \"ahmadawais.shades-of-purple\",\n      \"publisherDisplayName\": \"ahmadawais\"\n    },\n    \"name\": \"shades-of-purple\",\n    \"publisher\": \"ahmadawais\",\n    \"version\": \"5.14.0\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"513cf511-3894-4ee2-8c34-13ab83ddfd37\",\n      \"publisherId\": \"eg2.tslint\",\n      \"publisherDisplayName\": \"eg2\"\n    },\n    \"name\": \"tslint\",\n    \"publisher\": \"eg2\",\n    \"version\": \"1.0.44\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"2f5dd8cb-d251-4d70-abfe-ddebcb077483\",\n      \"publisherId\": \"octref.vetur\",\n      \"publisherDisplayName\": \"octref\"\n    },\n    \"name\": \"vetur\",\n    \"publisher\": \"octref\",\n    \"version\": \"0.22.2\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"0479fc1c-3d67-49f9-b087-fb9069afe48f\",\n      \"publisherId\": \"ms-azuretools.vscode-docker\",\n      \"publisherDisplayName\": \"ms-azuretools\"\n    },\n    \"name\": \"vscode-docker\",\n    \"publisher\": \"ms-azuretools\",\n    \"version\": \"0.7.0\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"583b2b34-2c1e-4634-8c0b-0b82e283ea3a\",\n      \"publisherId\": \"dbaeumer.vscode-eslint\",\n      \"publisherDisplayName\": \"dbaeumer\"\n    },\n    \"name\": \"vscode-eslint\",\n    \"publisher\": \"dbaeumer\",\n    \"version\": \"1.9.1\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"9ccc1dd7-7ec4-4a46-bd4f-7d7b8b9d322a\",\n      \"publisherId\": \"vscode-icons-team.vscode-icons\",\n      \"publisherDisplayName\": \"vscode-icons-team\"\n    },\n    \"name\": \"vscode-icons\",\n    \"publisher\": \"vscode-icons-team\",\n    \"version\": \"9.2.0\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"bf2ad3a8-0475-49ea-8851-4e9e8074a4f2\",\n      \"publisherId\": \"MS-CEINTL.vscode-language-pack-de\",\n      \"publisherDisplayName\": \"MS-CEINTL\"\n    },\n    \"name\": \"vscode-language-pack-de\",\n    \"publisher\": \"MS-CEINTL\",\n    \"version\": \"1.37.5\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"ae9e3eb0-3357-4cc0-90ee-598d2d384757\",\n      \"publisherId\": \"eg2.vscode-npm-script\",\n      \"publisherDisplayName\": \"eg2\"\n    },\n    \"name\": \"vscode-npm-script\",\n    \"publisher\": \"eg2\",\n    \"version\": \"0.3.8\"\n  },\n  {\n    \"metadata\": {\n      \"id\": \"876e8f93-74d0-4f4f-91b7-34a09f19f444\",\n      \"publisherId\": \"VisualStudioExptTeam.vscodeintellicode\",\n      \"publisherDisplayName\": \"VisualStudioExptTeam\"\n    },\n    \"name\": \"vscodeintellicode\",\n    \"publisher\": \"VisualStudioExptTeam\",\n    \"version\": \"1.1.9\"\n  }\n]"
        },
        "keybindings.json": {
            "content": "// Place your key bindings in this file to override the defaultsauto[]\n[\n  {\n    \"key\": \"f1\",\n    \"command\": \"projectManager.listProjects\"\n  },\n  {\n    \"key\": \"shift+alt+p\",\n    \"command\": \"-projectManager.listProjects\"\n  },\n  {\n    \"key\": \"alt+f1\",\n    \"command\": \"projectManager.listProjectsNewWindow\"\n  },\n  {\n    \"key\": \"f1\",\n    \"command\": \"-workbench.action.showCommands\"\n  },\n  {\n    \"key\": \"ctrl+oem_comma\",\n    \"command\": \"-workbench.action.openSettings\"\n  },\n  {\n    \"key\": \"ctrl+k ctrl+s\",\n    \"command\": \"-workbench.action.openGlobalKeybindings\"\n  },\n  {\n    \"key\": \"f2\",\n    \"command\": \"workbench.action.openSnippets\"\n  },\n  {\n    \"key\": \"f4\",\n    \"command\": \"-search.action.focusNextSearchResult\",\n    \"when\": \"hasSearchResult\"\n  },\n  {\n    \"key\": \"f4\",\n    \"command\": \"-goToNextReference\",\n    \"when\": \"referenceSearchVisible\"\n  },\n  {\n    \"key\": \"f4\",\n    \"command\": \"-goToNextReferenceFromEmbeddedEditor\",\n    \"when\": \"inReferenceSearchEditor\"\n  },\n  {\n    \"key\": \"f4\",\n    \"command\": \"-references-view.next\",\n    \"when\": \"reference-list.hasResult\"\n  },\n  {\n    \"key\": \"ctrl+d\",\n    \"command\": \"-editor.action.addSelectionToNextFindMatch\",\n    \"when\": \"editorFocus\"\n  },\n  {\n    \"key\": \"shift+alt+down\",\n    \"command\": \"-editor.action.copyLinesDownAction\",\n    \"when\": \"editorTextFocus && !editorReadonly\"\n  },\n  {\n    \"key\": \"ctrl+q\",\n    \"command\": \"-workbench.action.quickOpenView\"\n  },\n  {\n    \"key\": \"ctrl+q\",\n    \"command\": \"-workbench.action.quickOpenNavigateNextInViewPicker\",\n    \"when\": \"inQuickOpen && inViewsPicker\"\n  },\n  {\n    \"key\": \"ctrl+shift+d\",\n    \"command\": \"editor.action.deleteLines\",\n    \"when\": \"textInputFocus && !editorReadonly\"\n  },\n  {\n    \"key\": \"ctrl+shift+k\",\n    \"command\": \"-editor.action.deleteLines\",\n    \"when\": \"textInputFocus && !editorReadonly\"\n  },\n  {\n    \"key\": \"ctrl+q\",\n    \"command\": \"editor.action.commentLine\",\n    \"when\": \"editorTextFocus && !editorReadonly\"\n  },\n  {\n    \"key\": \"ctrl+oem_2\",\n    \"command\": \"-editor.action.commentLine\",\n    \"when\": \"editorTextFocus && !editorReadonly\"\n  },\n  {\n    \"key\": \"ctrl+shift+q\",\n    \"command\": \"editor.action.blockComment\",\n    \"when\": \"editorTextFocus && !editorReadonly\"\n  },\n  {\n    \"key\": \"shift+alt+a\",\n    \"command\": \"-editor.action.blockComment\",\n    \"when\": \"editorTextFocus && !editorReadonly\"\n  },\n  {\n    \"key\": \"f5\",\n    \"command\": \"-workbench.action.debug.start\",\n    \"when\": \"!inDebugMode\"\n  },\n  {\n    \"key\": \"f6\",\n    \"command\": \"-workbench.action.debug.pause\",\n    \"when\": \"debugState == 'running'\"\n  },\n  {\n    \"key\": \"f7\",\n    \"command\": \"-editor.action.diffReview.next\",\n    \"when\": \"isInDiffEditor\"\n  },\n  {\n    \"key\": \"f7\",\n    \"command\": \"-editor.action.wordHighlight.next\",\n    \"when\": \"editorTextFocus && hasWordHighlights\"\n  },\n  {\n    \"key\": \"f5\",\n    \"command\": \"-workbench.action.debug.continue\",\n    \"when\": \"inDebugMode\"\n  },\n  {\n    \"key\": \"f5\",\n    \"command\": \"workbench.action.toggleSidebarVisibility\"\n  },\n  {\n    \"key\": \"ctrl+b\",\n    \"command\": \"-workbench.action.toggleSidebarVisibility\"\n  },\n  {\n    \"key\": \"f6\",\n    \"command\": \"workbench.action.terminal.toggleTerminal\"\n  },\n  {\n    \"key\": \"ctrl+oem_3\",\n    \"command\": \"-workbench.action.terminal.toggleTerminal\"\n  },\n  {\n    \"key\": \"ctrl+down\",\n    \"command\": \"editor.action.moveLinesDownAction\",\n    \"when\": \"editorTextFocus && !editorReadonly\"\n  },\n  {\n    \"key\": \"alt+down\",\n    \"command\": \"-editor.action.moveLinesDownAction\",\n    \"when\": \"editorTextFocus && !editorReadonly\"\n  },\n  {\n    \"key\": \"ctrl+up\",\n    \"command\": \"editor.action.moveLinesUpAction\",\n    \"when\": \"editorTextFocus && !editorReadonly\"\n  },\n  {\n    \"key\": \"alt+up\",\n    \"command\": \"-editor.action.moveLinesUpAction\",\n    \"when\": \"editorTextFocus && !editorReadonly\"\n  },\n  {\n    \"key\": \"ctrl+shift+q\",\n    \"command\": \"-workbench.action.quickOpenNavigatePreviousInViewPicker\",\n    \"when\": \"inQuickOpen && inViewsPicker\"\n  },\n  {\n    \"key\": \"ctrl+shift+d\",\n    \"command\": \"-workbench.view.debug\"\n  },\n  {\n    \"key\": \"shift+alt+right\",\n    \"command\": \"-editor.action.smartSelect.expand\",\n    \"when\": \"editorTextFocus\"\n  },\n  {\n    \"key\": \"shift+alt+left\",\n    \"command\": \"-editor.action.smartSelect.shrink\",\n    \"when\": \"editorTextFocus\"\n  },\n  {\n    \"key\": \"ctrl+e\",\n    \"command\": \"editor.action.smartSelect.expand\"\n  },\n  {\n    \"key\": \"ctrl+h\",\n    \"command\": \"-editor.action.startFindReplaceAction\"\n  },\n  {\n    \"key\": \"ctrl+h\",\n    \"command\": \"editor.action.showHover\",\n    \"when\": \"editorTextFocus\"\n  },\n  {\n    \"key\": \"ctrl+k ctrl+i\",\n    \"command\": \"-editor.action.showHover\",\n    \"when\": \"editorTextFocus\"\n  },\n  {\n    \"key\": \"ctrl+tab\",\n    \"command\": \"-workbench.action.openNextRecentlyUsedEditorInGroup\"\n  },\n  {\n    \"key\": \"ctrl+shift+tab\",\n    \"command\": \"-workbench.action.openPreviousRecentlyUsedEditorInGroup\"\n  },\n  {\n    \"key\": \"ctrl+tab\",\n    \"command\": \"-workbench.action.quickOpenNavigateNextInEditorPicker\",\n    \"when\": \"inEditorsPicker && inQuickOpen\"\n  },\n  {\n    \"key\": \"ctrl+shift+tab\",\n    \"command\": \"-workbench.action.quickOpenNavigatePreviousInEditorPicker\",\n    \"when\": \"inEditorsPicker && inQuickOpen\"\n  },\n  {\n    \"key\": \"ctrl+tab\",\n    \"command\": \"workbench.action.nextEditor\"\n  },\n  {\n    \"key\": \"ctrl+pagedown\",\n    \"command\": \"-workbench.action.nextEditor\"\n  },\n  {\n    \"key\": \"ctrl+shift+tab\",\n    \"command\": \"workbench.action.previousEditor\"\n  },\n  {\n    \"key\": \"ctrl+pageup\",\n    \"command\": \"-workbench.action.previousEditor\"\n  },\n  {\n    \"key\": \"ctrl+shift+e\",\n    \"command\": \"-workbench.view.explorer\"\n  },\n  {\n    \"key\": \"ctrl+shift+e\",\n    \"command\": \"-workbench.action.quickOpenNavigatePreviousInFilePicker\",\n    \"when\": \"inFilesPicker && inQuickOpen\"\n  },\n  {\n    \"key\": \"f9\",\n    \"command\": \"-editor.debug.action.toggleBreakpoint\",\n    \"when\": \"editorTextFocus\"\n  },\n  {\n    \"key\": \"f9\",\n    \"command\": \"-sortLines.sortLines\",\n    \"when\": \"editorTextFocus\"\n  },\n  {\n    \"key\": \"alt+c\",\n    \"command\": \"-workbench.action.terminal.toggleFindCaseSensitive\",\n    \"when\": \"terminalFindWidgetFocused\"\n  },\n  {\n    \"key\": \"alt+c\",\n    \"command\": \"-workbench.action.terminal.toggleFindCaseSensitiveTerminalFocus\",\n    \"when\": \"terminalFocus\"\n  },\n  {\n    \"key\": \"alt+f1\",\n    \"command\": \"-editor.action.showAccessibilityHelp\",\n    \"when\": \"editorFocus\"\n  },\n  {\n    \"key\": \"ctrl+t\",\n    \"command\": \"-workbench.action.showAllSymbols\"\n  },\n  {\n    \"key\": \"ctrl+t\",\n    \"command\": \"extension.transpose\"\n  },\n  {\n    \"key\": \"ctrl+shift+c\",\n    \"command\": \"extension.colorHelper.pick\",\n    \"when\": \"editorTextFocus\"\n  },\n  {\n    \"key\": \"alt+c p\",\n    \"command\": \"-extension.colorHelper.pick\",\n    \"when\": \"editorTextFocus\"\n  },\n  {\n    \"key\": \"ctrl+shift+c\",\n    \"command\": \"-workbench.action.terminal.openNativeConsole\",\n    \"when\": \"!terminalFocus\"\n  },\n  {\n    \"key\": \"ctrl+shift+l\",\n    \"command\": \"workbench.action.editor.changeLanguageMode\"\n  },\n  {\n    \"key\": \"ctrl+k m\",\n    \"command\": \"-workbench.action.editor.changeLanguageMode\"\n  }\n  ,{\n    \"key\": \"shift+space\",\n    \"command\": \"cursorRight\",\n    \"when\": \"editorTextFocus\"\n  },\n  {\n    \"key\": \"f9\",\n    \"command\": \"git.sync\"\n  },\n  {\n    \"key\": \"ctrl+shift+l\",\n    \"command\": \"-editor.action.selectHighlights\",\n    \"when\": \"editorFocus\"\n  },\n  {\n    \"key\": \"ctrl+shift+e\",\n    \"command\": \"editor.action.addSelectionToNextFindMatch\"\n  },\n  {\n    \"key\": \"f10\",\n    \"command\": \"-extension.node-debug.startWithStopOnEntry\",\n    \"when\": \"!inDebugMode && debugConfigurationType == 'node'\"\n  },\n  {\n    \"key\": \"f10\",\n    \"command\": \"-workbench.action.debug.stepOver\",\n    \"when\": \"debugState == 'stopped'\"\n  },\n  {\n    \"key\": \"f10\",\n    \"command\": \"workbench.action.terminal.runActiveFile\"\n  },\n  {\n    \"key\": \"ctrl+shift+w\",\n    \"command\": \"-workbench.action.closeWindow\"\n  },\n  {\n    \"key\": \"ctrl+shift+w\",\n    \"command\": \"extension.htmlTagWrap\",\n    \"when\": \"editorTextFocus\"\n  },\n  {\n    \"key\": \"alt+w\",\n    \"command\": \"-extension.htmlTagWrap\",\n    \"when\": \"editorTextFocus\"\n  }\n]"
        },
        "keybindingsMac.json": {
            "filename": "keybindingsMac.json",
            "type": "application/json",
            "language": "JSON",
            "raw_url": "https://gist.githubusercontent.com/shanalikhan/802c710112af78040c78ab11bbbd4854/raw/23ca3db4bfe4526aa725f78f1a3acebd63d0f787/keybindingsMac.json",
            "size": 8,
            "truncated": false,
            "content": "// Empty"
        },
        "launch.json": {
            "content": "// Empty"
        },
        "locale.json": {
            "content": "{\n  \"locale\": \"en\"\n}"
        },
        "settings.json": {
            "content": "{\n    \"window.zoomLevel\": -1,\n    \"git.enableSmartCommit\": true,\n    \"editor.suggestSelection\": \"first\",\n    \"vsintellicode.modify.editor.suggestSelection\": \"automaticallyOverrodeDefaultValue\"\n}"
        },
        "syncLocalSettings1.json": {
            "content": "{\n    \"ignoreUploadFiles\": [\n        \"state.vscdb\",\n        \"state.vscdb.backup\",\n        \"syncLocalSettings.json\",\n        \".DS_Store\",\n        \"sync.lock\",\n        \"projects.json\",\n        \"projects_cache_vscode.json\",\n        \"projects_cache_git.json\",\n        \"projects_cache_svn.json\",\n        \"gpm_projects.json\",\n        \"gpm-recentItems.json\",\n        \"state.*\"\n    ],\n    \"ignoreUploadFolders\": [\n        \"workspaceStorage\"\n    ],\n    \"ignoreExtensions\": [],\n    \"gistDescription\": \"Visual Studio Code Settings Sync Gist\",\n    \"version\": 331,\n    \"token\": \"998a2ee5389f61d63d729ed62a261b1afaad8279\",\n    \"downloadPublicGist\": false,\n    \"supportedFileExtensions\": [\n        \"json\",\n        \"code-snippets\",\n        \"json2\"\n    ],\n    \"openTokenLink\": true,\n    \"disableUpdateMessage\": false,\n    \"lastUpload\": \"2019-06-24T16:18:55.696Z\",\n    \"lastDownload\": \"2019-06-24T16:19:50.647Z\",\n    \"githubEnterpriseUrl\": null,\n    \"askGistName\": false,\n    \"customFiles\": {},\n    \"hostName\": null,\n    \"universalKeybindings\": false,\n    \"autoUploadDelay\": 20\n}"
        },
        "snippets/a-md.code-snippets": {
            "content": "{\n\t\"Markdown link\": {\n\t\t\"scope\": \"markdown\",\n\t\t\"prefix\": \"a\",\n\t\t\"body\": [\n\t\t\t\"[$1]($0)\"\n\t\t],\n\t\t\"description\": \"\"\n\t}\n}"
        },
        "snippets/blade.json": {
            "content": "{\n/*\n\t // Place your snippets for Laravel Blade here. Each snippet is defined under a snippet name and has a prefix, body and \n\t // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\n\t // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \n\t // same ids are connected.\n\t // Example:\n\t \"Print to console\": {\n\t\t\"prefix\": \"log\",\n\t\t\"body\": [\n\t\t\t\"console.log('$1');\",\n\t\t\t\"$2\"\n\t\t],\n\t\t\"description\": \"Log output to console\"\n\t}\n*/\n  \"box\" : {\n    \"prefix\" : \"bu-box\",\n    \"body\" : \"<div class=\\\"box\\\">\\n  <article class=\\\"media\\\">\\n    <div class=\\\"media-left\\\">\\n      <figure class=\\\"image is-64x64\\\">\\n        <img src=\\\"http://bulma.io/images/placeholders/128x128.png\\\" alt=\\\"Image\\\">\\n      </figure>\\n    </div>\\n    <div lass=\\\"media-content\\\">\\n      <div class=\\\"content\\\">\\n        <p>\\n          <strong>$1</strong> <small>$2</small> small>31m</small>\\n          <br>\\n          {$2:Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean efficitur sit amet massa fringilla egestas. Nullam condimentum luctus turpis.}\\n        </p>\\n      </div>\\n      <nav class=\\\"level\\\">\\n        <div class=\\\"level-left\\\">\\n          <a class=\\\"level-item\\\">\\n            <span class=\\\"icon is-small\\\"><i class=\\\"fa fa-reply\\\"></i></span>\\n          </a>\\n          <a class=\\\"level-item\\\">\\n            <span class=\\\"icon is-small\\\"><i class=\\\"fa fa-retweet\\\"></i></span>\\n          </a>\\n          <a class=\\\"level-item\\\">\\n            <span class=\\\"icon is-small\\\"><i class=\\\"fa fa-heart\\\"></i></span>\\n          </a>\\n        </div>\\n      </nav>\\n    </div>\\n  </article></div>\",\n    \"description\" : \"Bulma Box\"\n  }\n}"
        },
        "snippets/c.json": {
            "content": "{ \n\t   \n/*\n\t // Place your snippets for C here. Each snippet is defined under a snippet name and has a prefix, body and \n\t // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\n\t // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \n\t // same ids are connected.\n\t // Example:\n\t \"Print to console\": {\n\t\t\"prefix\": \"log\",\n\t\t\"body\": [\n\t\t\t\"console.log('$1');\",\n\t\t\t\"$2\"\n\t\t],\n\t\t\"description\": \"Log output to console\"\n\t}\n*/\n}"
        },
        "snippets/clojure.json": {
            "content": "{\n\t// Place your snippets for clojure here. Each snippet is defined under a snippet name and has a prefix, body and \n\t// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\n\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \n\t// same ids are connected.\n\t// Example:\n\t// \"Print to console\": {\n\t// \t\"prefix\": \"log\",\n\t// \t\"body\": [\n\t// \t\t\"console.log('$1');\",\n\t// \t\t\"$2\"\n\t// \t],\n\t// \t\"description\": \"Log output to console\"\n\t// }\n}"
        },
        "snippets/csharp.json": {
            "content": "{\n/*\n\t // Place your snippets for C# here. Each snippet is defined under a snippet name and has a prefix, body and \n\t // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\n\t // $1, $2 for tab stops, ${id} and ${id:label} and ${1:label} for variables. Variables with the same id are connected.\n\t // Example:\n\t \"Print to console\": {\n\t\t\"prefix\": \"log\",\n\t\t\"body\": [\n\t\t\t\"console.log('$1');\",\n\t\t\t\"$2\"\n\t\t],\n\t\t\"description\": \"Log output to console\"\n\t}\n*/\n}"
        },
        "snippets/currentdate.code-snippets": {
            "content": "{\n\t// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and \n\t// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope \n\t// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is \n\t// used to trigger the snippet and the body will be expanded and inserted. Possible variables are: \n\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. \n\t// Placeholders with the same ids are connected.\n\t// Example:\n\t// \"Print to console\": {\n\t// \t\"scope\": \"javascript,typescript\",\n\t// \t\"prefix\": \"log\",\n\t// \t\"body\": [\n\t// \t\t\"console.log('$1');\",\n\t// \t\t\"$2\"\n\t// \t],\n\t// \t\"description\": \"Log output to console\"\n\t// }\n\t\"Current Date\": {\n\t\t\"prefix\": \"bearDate\",\n\t\t\"body\": [\n\t\t\t\"$CURRENT_DATE-$CURRENT_MONTH_NAME_SHORT-$CURRENT_YEAR\"\n\t\t],\n\t\t\"description\": \"Insert current date in dd-MM-YYYY format\"\n\t},\n\t\"Current Time\": {\n\t\t\"prefix\": \"bearTime\",\n\t\t\"body\": [\n\t\t\t\"$CURRENT_HOUR-$CURRENT_MINUTE-$CURRENT_SECOND\"\n\t\t],\n\t\t\"description\": \"Insert current time in hh-mm-ss format\"\n\t},\n\t\"Current DateTime\":{\n\t\t\"prefix\": \"bearDateTime\",\n\t\t\"body\": [\n\t\t\t\"$CURRENT_DATE-$CURRENT_MONTH_NAME_SHORT-$CURRENT_YEAR $CURRENT_HOUR-$CURRENT_MINUTE-$CURRENT_SECOND\"\n\t\t],\n\t\t\"description\": \"Insert Today's full datetime in dd-MM-YYYY hh-mm-ss format\"\n\t}\n}"
        },
        "snippets/global.code-snippets": {
            "content": "{\n\t// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and \n\t// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope \n\t// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is \n\t// used to trigger the snippet and the body will be expanded and inserted. Possible variables are: \n\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. \n\t// Placeholders with the same ids are connected.\n\t// Example:\n\t\"Print to console\": {\n\t\t\"scope\": \"javascript,typescript\",\n\t\t\"prefix\": \"log\",\n\t\t\"body\": [\n\t\t\t\"console.log($1);\"\n\t\t],\n\t\t\"description\": \"Log output to console\"\n\t}\n}"
        },
        "snippets/go.json": {
            "content": "{\n\t//test\n}"
        },
        "snippets/html.code-snippets": {
            "content": "{\n\t\"html\": {\n\t\t\"scope\": \"\",\n\t\t\"prefix\": \"html\",\n\t\t\"body\": [\n\t\t\t\"<!doctype html>\",\n\t\t\t\"<html lang=\\\"fr\\\">\",\n\t\t\t\"<head>\",\n\t\t\t\"  <meta charset=\\\"utf-8\\\">\",\n\t\t\t\"  <meta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1, shrink-to-fit=no\\\">\",\n\t\t\t\"  <title></title>\",\n\t\t\t\"</head>\",\n\t\t\t\"<body>\",\n\t\t\t\"  $0\",\n\t\t\t\"</body>\",\n\t\t\t\"</html>\"\n\t\t],\n\t\t\"description\": \"\"\n\t}\n}"
        },
        "snippets/html.json": {
            "content": "{\n\t/*\n\t // Place your snippets for HTML here. Each snippet is defined under a snippet name and has a prefix, body and \n\t // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\n\t // $1, $2 for tab stops, ${id} and ${id:label} and ${1:label} for variables. Variables with the same id are connected.\n\t // Example:\n\t \"Print to console\": {\n\t\t\"prefix\": \"log\",\n\t\t\"body\": [\n\t\t\t\"console.log('$1');\",\n\t\t\t\"$2\"\n\t\t],\n\t\t\"description\": \"Log output to console\"\n\t}\n*/\n}"
        },
        "snippets/icon.code-snippets": {
            "content": "{\n\t\"icon\": {\n\t\t\"scope\": \"\",\n\t\t\"prefix\": \"i\",\n\t\t\"body\": [\n\t\t\t\"<i class=\\\"material-icons\\\">${0:launch}</i>\",\n\t\t],\n\t\t\"description\": \"\"\n\t}\n}"
        },
        "snippets/java.json": {
            "content": "{\n/*\n\t// Place your snippets for Java here. Each snippet is defined under a snippet name and has a prefix, body and \n\t// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\n\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \n\t// same ids are connected.\n\t// Example:\n\t\"Print to console\": {\n\t\t\"prefix\": \"log\",\n\t\t\"body\": [\n\t\t\t\"console.log('$1');\",\n\t\t\t\"$2\"\n\t\t],\n\t\t\"description\": \"Log output to console\"\n\t}\n*/\n}"
        },
        "snippets/javascript.json": {
            "content": "{\n  \"Get/Set Properties\": {\n    \"prefix\": \"prop\",\n    \"body\": [\n      \"set ${propertyName}(value) {\",\n      \"\\tthis._${propertyName} = value;\",\n      \"}\",\n      \"get ${propertyName} () {\",\n      \"\\treturn this._${propertyName} ;\",\n      \"}\",\n      \"$1\"\n    ],\n    \"description\": \"Get/Set Properties\"\n  }\n}"
        },
        "snippets/javascriptreact.json": {
            "content": "// https: //code.visualstudio.com/docs/editor/userdefinedsnippetss\n{\n  \"Import Module\": {\n    \"prefix\": \"imp\",\n    \"body\": [\n      \"import {$2} from '$1'\"\n    ],\n    \"description\": \"Import Module\"\n  },\n  \"Import PropTypes\": {\n    \"prefix\": \"impt\",\n    \"body\": [\n      \"import PropTypes from 'prop-types'\"\n    ],\n    \"description\": \"Import PropTypes\"\n  },\n  \"Class Component\": {\n    \"prefix\": \"cc\",\n    \"body\": [\n      \"import React from 'react'\",\n      \"import styled from 'styled-components'\",\n      \"\",\n      \"const Style = styled.div`\",\n      \"\\t${3|${props => }, ,background: gold;|}\",\n      \"`\",\n      \"\",\n      \"class ${TM_DIRECTORY/^.+\\\\\\\\(.*)$/$1/} extends React.Component {\",\n      \"\",\n      \"\\trender() { \",\n      \"\\t\\treturn (\",\n      \"\\t\\t\\t<Style {...this.props}>\",\n      \"\\t\\t\\t\\t${TM_DIRECTORY/^.+\\\\\\\\(.*)$/$1/}$5\",\n      \"\\t\\t\\t</Style>\",\n      \"\\t\\t)\",\n      \"\\t}\",\n      \"}\",\n      \" \",\n      \"export default ${TM_DIRECTORY/^.+\\\\\\\\(.*)$/$1/}\"\n    ],\n    \"description\": \"Class Component With State\"\n  },\n  \"Stateless Function Component\": {\n    \"prefix\": \"sfc\",\n    \"body\": [\n      \"${1|import React from 'react', |}\",\n      \"export const $2 = ($3) =>\",\n      \"\\t<React.Fragment>\",\n      \"\\t\\t$4\",\n      \"\\t</React.Fragment>\",\n    ],\n    \"description\": \"Stateless Function Component\"\n  },\n  \"componentDidMount\": {\n    \"prefix\": \"cdm\",\n    \"body\": [\n      \"componentDidMount() {\",\n      \"\\t$0\",\n      \"}\"\n    ],\n    \"description\": \"componentDidMount\"\n  },\n  \"componentWillMount\": {\n    \"prefix\": \"cwm\",\n    \"body\": [\n      \"componentWillMount() {\",\n      \"\\t$0\",\n      \"}\"\n    ],\n    \"description\": \"componentWillMount\"\n  },\n  \"componentWillReceiveProps\": {\n    \"prefix\": \"cwrp\",\n    \"body\": [\n      \"componentWillReceiveProps(nextProps) {\",\n      \"\\t$0\",\n      \"}\"\n    ],\n    \"description\": \"componentWillReceiveProps\"\n  },\n  \"shouldComponentUpdate\": {\n    \"prefix\": \"scu\",\n    \"body\": [\n      \"shouldComponentUpdate(nextProps, nextState) {\",\n      \"\\t$0\",\n      \"}\"\n    ],\n    \"description\": \"shouldComponentUpdate\"\n  },\n  \"componentWillUpdate\": {\n    \"prefix\": \"cwu\",\n    \"body\": [\n      \"componentWillUpdate(nextProps, nextState) {\",\n      \"\\t$0\",\n      \"}\"\n    ],\n    \"description\": \"componentWillUpdate\"\n  },\n  \"componentDidUpdate\": {\n    \"prefix\": \"cdu\",\n    \"body\": [\n      \"componentDidUpdate(prevProps, prevState) {\",\n      \"\\t$0\",\n      \"}\"\n    ],\n    \"description\": \"componentDidUpdate\"\n  },\n  \"componentWillUnmount\": {\n    \"prefix\": \"cwun\",\n    \"body\": [\n      \"componentWillUnmount() {\",\n      \"\\t$0\",\n      \"}\"\n    ],\n    \"description\": \"componentWillUnmount\"\n  },\n  \"componentDidCatch\": {\n    \"prefix\": \"cdc\",\n    \"body\": [\n      \"componentDidCatch(error, info) {\",\n      \"\\t$0\",\n      \"}\"\n    ],\n    \"description\": \"componentDidCatch\"\n  },\n  \"setState\": {\n    \"prefix\": \"ss\",\n    \"body\": [\n      \"this.setState({ $1: $2 })\"\n    ],\n    \"description\": \"setState\"\n  },\n  \"render\": {\n    \"prefix\": \"ren\",\n    \"body\": [\n      \"render() {\",\n      \"\\treturn (\",\n      \"\\t\\t $0\",\n      \"\\t)\",\n      \"}\"\n    ],\n    \"description\": \"render\"\n  },\n  \"Higher Order Component\": {\n    \"prefix\": \"hoc\",\n    \"body\": [\n      \"function $1($2) {\",\n      \"\\treturn class extends React.Component {\",\n      \"\\t\\tconstructor(props) {\",\n      \"\\t\\t\\tsuper(props)\",\n      \"\\t\\t}\",\n      \" \",\n      \"\\t\\trender() {\",\n      \"\\t\\t\\treturn <$2 {...this.props} $0/>\",\n      \"\\t\\t}\",\n      \"\\t}\",\n      \"}\"\n    ],\n    \"description\": \"Higher Order Component\"\n  }\n}"
        },
        "snippets/json.json": {
            "content": "{\n\t/*\n\t\t// Place your snippets for JSON here. Each snippet is defined under a snippet name and has a prefix, body and \n\t\t// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\n\t\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \n\t\t// same ids are connected.\n\t\t// Example:\n\t\t\"Print to console\": {\n\t\t\t\"prefix\": \"log\",\n\t\t\t\"body\": [\n\t\t\t\t\"console.log('$1');\",\n\t\t\t\t\"$2\"\n\t\t\t],\n\t\t\t\"description\": \"Log output to console\"\n\t\t}\n\t*/\n\n\t\"java.tasks.json\": {\n\t\t\"prefix\": \"java.tasks.json\",\n\t\t\"body\": [\n\t\t\t\"{\",\n\t\t\t\"\\t// See https://go.microsoft.com/fwlink/?LinkId=733558\",\n\t\t\t\"\\t// for the documentation about the tasks.json format\",\n\t\t\t\"\\t\\\"version\\\": \\\"2.0.0\\\",\",\n\t\t\t\"\\t\\\"tasks\\\": [\",\n\t\t\t\"\\t\\t{\",\n\t\t\t\"\\t\\t\\t\\\"label\\\": \\\"javac\\\",\",\n\t\t\t\"\\t\\t\\t\\\"type\\\": \\\"shell\\\",\",\n\t\t\t\"\\t\\t\\t\\\"command\\\": \\\"mkdir -Force output ; javac -d \\\\${workspaceFolder\\\\}\\\\\\\\\\\\\\\\output\\\\\\\\\\\\\\\\ \\\\${file\\\\}\\\",\",\n\t\t\t\"\\t\\t\\t\\\"problemMatcher\\\": [],\",\n\t\t\t\"\\t\\t\\t\\\"group\\\": {\",\n\t\t\t\"\\t\\t\\t\\t\\\"kind\\\": \\\"build\\\",\",\n\t\t\t\"\\t\\t\\t\\t\\\"isDefault\\\": true\",\n\t\t\t\"\\t\\t\\t}\",\n\t\t\t\"\\t\\t},\",\n\t\t\t\"\",\n\t\t\t\"\\t\\t{\",\n\t\t\t\"\\t\\t\\t\\\"label\\\": \\\"java\\\",\",\n\t\t\t\"\\t\\t\\t\\\"type\\\": \\\"shell\\\",\",\n\t\t\t\"\\t\\t\\t\\\"command\\\": \\\"java -cp \\\\${workspaceFolder\\\\}\\\\\\\\\\\\\\\\output\\\\\\\\\\\\\\\\ \\\\${fileBasenameNoExtension\\\\}\\\",\",\n\t\t\t\"\\t\\t\\t\\\"problemMatcher\\\": [],\",\n\t\t\t\"\\t\\t\\t\\\"group\\\": {\",\n\t\t\t\"\\t\\t\\t\\t\\\"kind\\\": \\\"test\\\",\",\n\t\t\t\"\\t\\t\\t\\t\\\"isDefault\\\": true\",\n\t\t\t\"\\t\\t\\t}\",\n\t\t\t\"\\t\\t}\",\n\t\t\t\"\\t]\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"Generate Java tasks.json\"\n\t}\n}"
        },
        "snippets/jsonc.json": {
            "content": "{\n\t/*\n\t\t// Place your snippets for JSON here. Each snippet is defined under a snippet name and has a prefix, body and \n\t\t// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\n\t\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \n\t\t// same ids are connected.\n\t\t// Example:\n\t\t\"Print to console\": {\n\t\t\t\"prefix\": \"log\",\n\t\t\t\"body\": [\n\t\t\t\t\"console.log('$1');\",\n\t\t\t\t\"$2\"\n\t\t\t],\n\t\t\t\"description\": \"Log output to console\"\n\t\t}\n\t*/\n\n\t\"java.tasks.json\": {\n\t\t\"prefix\": \"java.tasks.json\",\n\t\t\"body\": [\n\t\t\t\"{\",\n\t\t\t\"\\t// See https://go.microsoft.com/fwlink/?LinkId=733558\",\n\t\t\t\"\\t// for the documentation about the tasks.json format\",\n\t\t\t\"\\t\\\"version\\\": \\\"2.0.0\\\",\",\n\t\t\t\"\\t\\\"tasks\\\": [\",\n\t\t\t\"\\t\\t{\",\n\t\t\t\"\\t\\t\\t\\\"label\\\": \\\"javac\\\",\",\n\t\t\t\"\\t\\t\\t\\\"type\\\": \\\"shell\\\",\",\n\t\t\t\"\\t\\t\\t\\\"command\\\": \\\"mkdir -Force output ; javac -d \\\\${workspaceFolder\\\\}\\\\\\\\\\\\\\\\output\\\\\\\\\\\\\\\\ \\\\${file\\\\}\\\",\",\n\t\t\t\"\\t\\t\\t\\\"problemMatcher\\\": [],\",\n\t\t\t\"\\t\\t\\t\\\"group\\\": {\",\n\t\t\t\"\\t\\t\\t\\t\\\"kind\\\": \\\"build\\\",\",\n\t\t\t\"\\t\\t\\t\\t\\\"isDefault\\\": true\",\n\t\t\t\"\\t\\t\\t}\",\n\t\t\t\"\\t\\t},\",\n\t\t\t\"\",\n\t\t\t\"\\t\\t{\",\n\t\t\t\"\\t\\t\\t\\\"label\\\": \\\"java\\\",\",\n\t\t\t\"\\t\\t\\t\\\"type\\\": \\\"shell\\\",\",\n\t\t\t\"\\t\\t\\t\\\"command\\\": \\\"java -cp \\\\${workspaceFolder\\\\}\\\\\\\\\\\\\\\\output\\\\\\\\\\\\\\\\ \\\\${fileBasenameNoExtension\\\\}\\\",\",\n\t\t\t\"\\t\\t\\t\\\"problemMatcher\\\": [],\",\n\t\t\t\"\\t\\t\\t\\\"group\\\": {\",\n\t\t\t\"\\t\\t\\t\\t\\\"kind\\\": \\\"test\\\",\",\n\t\t\t\"\\t\\t\\t\\t\\\"isDefault\\\": true\",\n\t\t\t\"\\t\\t\\t}\",\n\t\t\t\"\\t\\t}\",\n\t\t\t\"\\t]\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"Generate Java tasks.json\"\n\t},\n\n\t\"processing.tasks.json\": {\n\t\t\"prefix\": \"processing.tasks.json\",\n\t\t\"body\": [\n\t\t\t\"{\",\n\t\t\t\"\\t// See https://go.microsoft.com/fwlink/?LinkId=733558\",\n\t\t\t\"\\t// for the documentation about the tasks.json format\",\n\t\t\t\"\\t\\\"version\\\": \\\"2.0.0\\\",\",\n\t\t\t\"\\t\\\"command\\\": \\\"processing-java\\\",\",\n\t\t\t\"\\t\\\"args\\\": [\",\n\t\t\t\"\\t\\t\\\"--force\\\",\",\n\t\t\t\"\\t\\t\\\"--sketch=\\\\${workspaceRoot\\\\}\\\",\",\n\t\t\t\"\\t\\t\\\"--output=\\\\${workspaceRoot\\\\}\\\\\\\\\\\\out\\\",\",\n\t\t\t\"\\t\\t\\\"--run\\\",\",\n\t\t\t\"\\t],\",\n\t\t\t\"\\t\\\"group\\\": {\",\n\t\t\t\"\\t\\t\\\"kind\\\": \\\"test\\\",\",\n\t\t\t\"\\t\\t\\\"isDefault\\\": true\",\n\t\t\t\"\\t\\t}\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"Generate Processing tasks.json\"\n\t},\n\n\t\"c.tasks.json\": {\n\t\t\"prefix\": \"c.tasks.json\",\n\t\t\"body\": [\n\t\t\t\n\t\t],\n\t\t\"description\": \"Generate Processing tasks.json\"\n\t},\n\n}"
        },
        "snippets/lorem.code-snippets": {
            "content": "{\n\t\"lorem\": {\n\t\t\"scope\": \"\",\n\t\t\"prefix\": \"lorem\",\n\t\t\"body\": [\n\t\t\t\"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor.\",\n\t\t],\n\t\t\"description\": \"\"\n\t}\n}"
        },
        "snippets/pde.json": {
            "content": "{\n\t// Place your snippets for pde here. Each snippet is defined under a snippet name and has a prefix, body and \n\t// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\n\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \n\t// same ids are connected.\n\t// Example:\n\t// \"Print to console\": {\n\t// \t\"prefix\": \"log\",\n\t// \t\"body\": [\n\t// \t\t\"console.log('$1');\",\n\t// \t\t\"$2\"\n\t// \t],\n\t// \t\"description\": \"Log output to console\"\n\t// }\n\t\"Setup and Draw\": {\n\t\t\"prefix\": \"init\",\n\t\t\"body\": [\n\t\t\t\"void setup(){\",\n\t\t\t\"$1\",\n\t\t\t\"}\",\n\t\t\t\"void draw(){\",\n\t\t\t\"\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"Initial Code for Processing Program\"\n\t}\n}"
        },
        "snippets/php.json": {
            "content": "{\n/*\n\t // Place your snippets for PHP here. Each snippet is defined under a snippet name and has a prefix, body and \n\t // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\n\t // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \n\t // same ids are connected.\n\t // Example:\n\t \"Print to console\": {\n\t\t\"prefix\": \"log\",\n\t\t\"body\": [\n\t\t\t\"console.log('$1');\",\n\t\t\t\"$2\"\n\t\t],\n\t\t\"description\": \"Log output to console\"\n\t}\n*/\n\n\"Echo shortcut\": {\n\t\"prefix\": \"echo\",\n\t\"body\": [\n\t\t\"<?= $1 ?>\"\n\t],\n\t\"description\": \"Echo shortcuts\"\n}\n\n}"
        },
        "snippets/python.json": {
            "content": "{\n/*\n\t// Place your snippets for Python here. Each snippet is defined under a snippet name and has a prefix, body and \n\t// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\n\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \n\t// same ids are connected.\n\t// Example:\n\t\"Print to console\": {\n\t\t\"prefix\": \"log\",\n\t\t\"body\": [\n\t\t\t\"console.log('$1');\",\n\t\t\t\"$2\"\n\t\t],\n\t\t\"description\": \"Log output to console\"\n\t}\n*/\n}"
        },
        "snippets/sass.json": {
            "content": "{\n/*\n\t // Place your snippets for Sass here. Each snippet is defined under a snippet name and has a prefix, body and \n\t // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\n\t // $1, $2 for tab stops, ${id} and ${id:label} and ${1:label} for variables. Variables with the same id are connected.\n\t // Example:\n\t \"Print to console\": {\n\t\t\"prefix\": \"log\",\n\t\t\"body\": [\n\t\t\t\"console.log('$1');\",\n\t\t\t\"$2\"\n\t\t],\n\t\t\"description\": \"Log output to console\"\n\t}\n*/\n}"
        },
        "snippets/tab.code-snippets": {
            "content": "{\n\t\"6 E\": {\n\t\t\"scope\": \"markdown\",\n\t\t\"prefix\": \"tab\",\n\t\t\"body\": [\n      \"E |-----------------------\",\n      \"B |-----------------------\",\n      \"G |-----------------------\",\n      \"D |-----------------------\",\n      \"A |-----------------------\",\n      \"E |-----------------------\",\n      \"\",\n\t\t],\n\t\t\"description\": \"\"\n   },\n   \n   \"7 drop Ab\": {\n\t\t\"scope\": \"markdown\",\n\t\t\"prefix\": \"tab\",\n\t\t\"body\": [\n      \"Eb|-----------------------\",\n      \"Bb|-----------------------\",\n      \"Gb|-----------------------\",\n      \"Db|-----------------------\",\n      \"Ab|-----------------------\",\n      \"Eb|-----------------------\",\n      \"Ab|-----------------------\",\n      \"\",\n\t\t],\n\t\t\"description\": \"\"\n\t}\n}\n"
        },
        "snippets/test.code-snippets": {
            "content": "{\n\t// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and \n\t// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope \n\t// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is \n\t// used to trigger the snippet and the body will be expanded and inserted. Possible variables are: \n\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. \n\t// Placeholders with the same ids are connected.\n\t// Example:\n\t// \"Print to console\": {\n\t// \t\"scope\": \"javascript,typescript\",\n\t// \t\"prefix\": \"log\",\n\t// \t\"body\": [\n\t// \t\t\"console.log('$1');\",\n\t// \t\t\"$2\"\n\t// \t],\n\t// \t\"description\": \"Log output to console\"\n\t// }\n}"
        },
        "snippets/zeroToApp.code-snippets": {
            "content": "{\n\t// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and \n\t// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope \n\t// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is \n\t// used to trigger the snippet and the body will be expanded and inserted. Possible variables are: \n\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. \n\t// Placeholders with the same ids are connected.\n\t// Example:\n\t\"Sign in with google\": {\n\t\t\"scope\": \"typescript\",\n\t\t\"prefix\": \"z.signIn\",\n\t\t\"body\": [\n\t\t\t\"signIn() {\",\n\t\t\t\"  this.afAuth.auth.signInWithPopup(new auth.GoogleAuthProvider())\",\n\t\t\t\"    .then(() => {\",\n\t\t\t\"      this.zone.run(() => this.router.navigateByUrl('/hometown'));\",\n\t\t\t\"    }, err => console.error('Error signing in', err));\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"sign into google auth\"\n\t},\n\t\"Sign in markup\": {\n\t\t\"scope\": \"html\",\n\t\t\"prefix\": \"z.markup.login\",\n\t\t\"body\": [\n\t\t\t\"<p>\",\n      \"  <span *ngIf=\\\"userService.afAuth.user | async as user; else showLogin\\\">{{ user.displayName }} • <a href (click)=\\\"userService.logout()\\\">Log out</a> • </span>\",\n      \"  <ng-template #showLogin><a href routerLink=\\\"/login\\\" routerLinkActive=\\\"active\\\">Login to add your hometown</a> • </ng-template>\",\n      \"  <a href routerLink=\\\"/hometown\\\" routerLinkActive=\\\"active\\\">My hometown</a>\",\n    \t\"</p>\"\n\t\t],\n\t\t\"description\": \"sign in markup\"\n\t},\n\t\"Is logged in\": {\n\t\t\"scope\": \"typescript\",\n\t\t\"prefix\": \"z.isloggedin\",\n\t\t\"body\": [\n\t\t\t\"isLoggedIn(withRedirect?: boolean): Observable<boolean> {\",\n\t\t\t\"  return this.afAuth.authState.pipe(\",\n\t\t\t\"    first(),\",\n\t\t\t\"    map(user => {\",\n\t\t\t\"      this.currentUser = user;\",\n\t\t\t\"      return !!user;\",\n\t\t\t\"    }),\",\n\t\t\t\"    tap(isLoggedIn => {\",\n\t\t\t\"      if (!isLoggedIn && withRedirect) {\",\n\t\t\t\"        this.router.navigateByUrl('/login');\",\n\t\t\t\"      }\",\n\t\t\t\"    })\",\n\t\t\t\"  );\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"is logged in function\"\n\t},\n\t\"Map click\": {\n\t\t\"scope\": \"typescript\",\n\t\t\"prefix\": \"z.mapClick\",\n\t\t\"body\": [\n\t\t\t\"setHometown(event: MouseEvent) {\",\n\t\t\t\"  this.userService.isLoggedIn().subscribe(isLoggedIn => {\",\n\t\t\t\"    if (isLoggedIn) {\",\n\t\t\t\"      const marker: MapMarker = {\",\n\t\t\t\"        lat: event.coords.lat,\",\n\t\t\t\"        lng: event.coords.lng,\",\n\t\t\t\"        label: this.userService.currentUser.displayName,\",\n\t\t\t\"        photoUrl: this.userService.currentUser.photoURL\",\n\t\t\t\"      };\",\n\t\t\t\"      this.afs.doc(`hometowns/${this.userService.currentUser.uid}`).set(marker);\",\n\t\t\t\"    }\",\n\t\t\t\"  });\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"guts of map click function\"\n\t},\n\t\"Hometown markup\": {\n\t\t\"scope\": \"html\",\n\t\t\"prefix\": \"z.markup.hometown\",\n\t\t\"body\": [\n\t\t\t\"<h4>My hometown coordinates</h4>\",\n\t\t\t\"<p *ngIf=\\\"userMarker$ | async as marker; else showChoose\\\">lat: {{ marker.lat }}<br>lng: {{ marker.lng }}</p>\",\n\t\t\t\"<ng-template #showChoose>\",\n\t\t\t\"  <p>Click your hometown on the map!</p>\",\n\t\t\t\"</ng-template>\",\n\t\t],\n\t\t\"description\": \"Markup for hometown component\"\n\t},\n\t\"Marker Interface\": {\n\t\t\"scope\": \"typescript\",\n\t\t\"prefix\": \"z.marker.interface\",\n\t\t\"body\": [\n\t\t\t\"export interface MapMarker {\",\n\t\t\t\"  lat: number;\",\n\t\t\t\"  lng: number;\",\n\t\t\t\"  label: string;\",\n\t\t\t\"  photoUrl: string;\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"agm map markers\"\n\t},\n\t\"Map Markers\": {\n\t\t\"scope\": \"html\",\n\t\t\"prefix\": \"z.markup.marker\",\n\t\t\"body\": [\n\t\t\t\"<agm-marker *ngFor=\\\"let marker of markers$ | async\\\" [latitude]=\\\"marker.lat\\\" [longitude]=\\\"marker.lng\\\">\",\n\t\t\t\"  <agm-info-window><img src=\\\"{{ marker.photoUrl }}\\\">{{ marker.label }}</agm-info-window>\",\n\t\t\t\"</agm-marker>\"\n\t\t],\n\t\t\"description\": \"agm map markers\"\n\t},\n\t\"Map styles\": {\n\t\t\"scope\": \"css, scss\",\n\t\t\"prefix\": \"z.styles.map\",\n\t\t\"body\": [\n\t\t\t\".agm-info-window-content {\",\n\t\t\t\"  text-align: center;\",\n\t\t\t\"  img {\",\n\t\t\t\"    display: block;\",\n\t\t\t\"    margin: auto;\",\n\t\t\t\"    width: 60px;\",\n\t\t\t\"    border-radius: 50%;\",\n\t\t\t\"  }\",\n\t\t\t\"}\",\t\t\t\n\t\t\t\".sidebar {\",\n\t\t\t\"  position: absolute;\",\n\t\t\t\"  z-index: 1;\",\n\t\t\t\"  top: 0;\",\n\t\t\t\"  left: 0;\",\n\t\t\t\"  .floating-box {\",\n\t\t\t\"    margin: 20px;\",\n\t\t\t\"    padding: 15px;\",\n\t\t\t\"    width: 400px;\",\n\t\t\t\"    background: ivory;\",\n\t\t\t\"    box-shadow: -6px 6px rgba(0,0,0,.2);\",\n\t\t\t\"    text-align: center;\",\t\t\t\n\t\t\t\"    button {\",\n\t\t\t\"      font-size: 1.2em;\",\n\t\t\t\"    }\",\n\t\t\t\"  }\",\n\t\t\t\"}\",\n\t\t\t\"@media (max-width: 576px) {\",\n\t\t\t\"  .sidebar {\",\n\t\t\t\"    width: 100%;\",\n\t\t\t\"    .floating-box {\",\n\t\t\t\"      padding: 10px;\",\n\t\t\t\"      margin: 0 0 6px 0;\",\n\t\t\t\"      width: 100%;\",\n\t\t\t\"      box-shadow: 0 6px rgba(0,0,0,.2);\",\n\t\t\t\"      box-sizing: border-box;\",\n\t\t\t\"    }\",\n\t\t\t\"  }\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"map styles\"\n\t},\n\t\"Map component imports\": {\n\t\t\"scope\": \"typescript\",\n\t\t\"prefix\": \"z.i.map\",\n\t\t\"body\": [\n\t\t\t\"import { MouseEvent } from '@agm/core';\",\n\t\t\t\"import { AngularFirestore } from 'angularfire2/firestore';\",\n\t\t\t\"import { Observable } from 'rxjs';\"\n\t\t],\n\t\t\"description\": \"Map component non-local imports\"\n\t},\n\t\"User service imports\": {\n\t\t\"scope\": \"typescript\",\n\t\t\"prefix\": \"z.i.user\",\n\t\t\"body\": [\n\t\t\t\"import { AngularFireAuth } from 'angularfire2/auth';\",\n\t\t\t\"import { auth } from 'firebase/app';\",\t\t\t\n\t\t\t\"import { first, map, tap } from 'rxjs/operators';\",\n\t\t\t\"import { Router } from '@angular/router';\",\n\t\t\t\"import { Observable } from 'rxjs';\"\n\t\t],\n\t\t\"description\": \"User service non-local imports\"\n\t},\n\t\"Hometown component imports\": {\n\t\t\"scope\": \"typescript\",\n\t\t\"prefix\": \"z.i.hometown\",\n\t\t\"body\": [\n\t\t\t\"import { AngularFirestore } from 'angularfire2/firestore';\",\n\t\t\t\"import { Observable } from 'rxjs';\"\n\t\t],\n\t\t\"description\": \"Hometown component non-local imports\"\n\t}\n}"
        }
    },
    "public": false,
    "created_at": "2019-08-23T10:54:57Z",
    "updated_at": "2019-08-23T10:54:57Z",
    "description": "Visual Studio Code Settings Sync Gist",
    "comments": 0,
    "user": null,
    "comments_url": "https://api.github.com/gists/802c710112af78040c78ab11bbbd4854/comments",
    "owner": {
        "login": "shanalikhan",
        "id": 8774556,
        "node_id": "MDQ6VXNlcjg3NzQ1NTY=",
        "avatar_url": "https://avatars0.githubusercontent.com/u/8774556?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/shanalikhan",
        "html_url": "https://github.com/shanalikhan",
        "followers_url": "https://api.github.com/users/shanalikhan/followers",
        "following_url": "https://api.github.com/users/shanalikhan/following{/other_user}",
        "gists_url": "https://api.github.com/users/shanalikhan/gists{/gist_id}",
        "starred_url": "https://api.github.com/users/shanalikhan/starred{/owner}{/repo}",
        "subscriptions_url": "https://api.github.com/users/shanalikhan/subscriptions",
        "organizations_url": "https://api.github.com/users/shanalikhan/orgs",
        "repos_url": "https://api.github.com/users/shanalikhan/repos",
        "events_url": "https://api.github.com/users/shanalikhan/events{/privacy}",
        "received_events_url": "https://api.github.com/users/shanalikhan/received_events",
        "type": "User",
        "site_admin": false
    },
    "forks": [],
    "history": [{
        "user": {
            "login": "shanalikhan",
            "id": 8774556,
            "node_id": "MDQ6VXNlcjg3NzQ1NTY=",
            "avatar_url": "https://avatars0.githubusercontent.com/u/8774556?v=4",
            "gravatar_id": "",
            "url": "https://api.github.com/users/shanalikhan",
            "html_url": "https://github.com/shanalikhan",
            "followers_url": "https://api.github.com/users/shanalikhan/followers",
            "following_url": "https://api.github.com/users/shanalikhan/following{/other_user}",
            "gists_url": "https://api.github.com/users/shanalikhan/gists{/gist_id}",
            "starred_url": "https://api.github.com/users/shanalikhan/starred{/owner}{/repo}",
            "subscriptions_url": "https://api.github.com/users/shanalikhan/subscriptions",
            "organizations_url": "https://api.github.com/users/shanalikhan/orgs",
            "repos_url": "https://api.github.com/users/shanalikhan/repos",
            "events_url": "https://api.github.com/users/shanalikhan/events{/privacy}",
            "received_events_url": "https://api.github.com/users/shanalikhan/received_events",
            "type": "User",
            "site_admin": false
        },
        "version": "0eeb1c36edab036e5b45a6e83d89a3f782192b9e",
        "committed_at": "2019-08-23T10:54:56Z",
        "change_status": {
            "total": 7,
            "additions": 7,
            "deletions": 0
        },
        "url": "https://api.github.com/gists/802c710112af78040c78ab11bbbd4854/0eeb1c36edab036e5b45a6e83d89a3f782192b9e"
    }],
    "truncated": false,
    "gist_id": "802c710112af78040c78ab11bbbd4854",
    "headers": {}
}

Code:

    const promise = this.github.gists.update(gistObject);

    const res = await promise.catch(err => {
      if (String(err).includes("HttpError: Not Found")) {
        return Commons.LogException(err, "Sync: Invalid Gist ID", true);
      }
      Commons.LogException(err, state.commons.ERROR_MESSAGE, true);
    });

err object exception:

image

issue-label-bot[bot] commented 5 years ago

Issue-Label Bot is automatically applying the label bug to this issue, with a confidence of 0.90. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

gr2m commented 5 years ago

Can you try to pass in only the files property, as documented at https://developer.github.com/v3/gists/#edit-a-gist

shanalikhan commented 5 years ago

Tried to pass only files and description but still getting this error. Are you sure its due to invalid parameters, i can provide you files object too.

{"name":"HttpError","status":422,"headers":{"access-control-allow-origin":"*","access-control-expose-headers":"ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type","connection":"close","content-length":"168","content-security-policy":"default-src 'none'","content-type":"application/json; charset=utf-8","date":"Tue, 27 Aug 2019 09:49:13 GMT","referrer-policy":"origin-when-cross-origin, strict-origin-when-cross-origin","server":"GitHub.com","status":"422 Unprocessable Entity","strict-transport-security":"max-age=31536000; includeSubdomains; preload","x-accepted-oauth-scopes":"","x-content-type-options":"nosniff","x-frame-options":"deny","x-github-media-type":"github.v3; format=json","x-github-request-id":"EBDE:0A81:C33444:12DE8B9:5D64FC98","x-oauth-client-id":"cfd96460d8b110e2351b","x-oauth-scopes":"gist, read:user","x-ratelimit-limit":"5000","x-ratelimit-remaining":"4997","x-ratelimit-reset":"1566902933","x-xss-protection":"1; mode=block"},"request":{"method":"PATCH","url":"https://api.github.com/gists/802c710112af78040c78ab11bbbd4854","headers":{"accept":"application/vnd.github.v3+json","user-agent":"octokit.js/16.28.7 Node.js/10.11.0 (Linux 4.15; x64)","authorization":"token [REDACTED]","content-type":"application/json; charset=utf-8"},"body":"{\"description\":\"Visual Studio Code Settings Sync Gist\",\"files\":{\"cloudSettings\":{\"content\":\"{\\\"lastUpload\\\":\\\"2019-08-27T09:48:51.072Z\\\",\\\"extensionVersion\\\":\\\"v3.4.2\\\"}\"},\"extensions.json\":{\"content\":\"[\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"697255a9-3f36-44c8-b084-d3b91edfb23a\\\",\\n      \\\"publisherId\\\": \\\"HookyQR.beautify\\\",\\n      \\\"publisherDisplayName\\\": \\\"HookyQR\\\"\\n    },\\n    \\\"name\\\": \\\"beautify\\\",\\n    \\\"publisher\\\": \\\"HookyQR\\\",\\n    \\\"version\\\": \\\"1.5.0\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"publisherId\\\": \\\"Shan.code-settings-sync\\\",\\n      \\\"publisherDisplayName\\\": \\\"Shan\\\"\\n    },\\n    \\\"name\\\": \\\"code-settings-sync\\\",\\n    \\\"publisher\\\": \\\"Shan\\\",\\n    \\\"version\\\": \\\"3.4.2\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"f0ac94f2-4473-4eb7-a44b-208edf9a96e9\\\",\\n      \\\"publisherId\\\": \\\"alexdima.git-branch\\\",\\n      \\\"publisherDisplayName\\\": \\\"alexdima\\\"\\n    },\\n    \\\"name\\\": \\\"git-branch\\\",\\n    \\\"publisher\\\": \\\"alexdima\\\",\\n    \\\"version\\\": \\\"1.4.0\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"4de763bd-505d-4978-9575-2b7696ecf94e\\\",\\n      \\\"publisherId\\\": \\\"eamodio.gitlens\\\",\\n      \\\"publisherDisplayName\\\": \\\"eamodio\\\"\\n    },\\n    \\\"name\\\": \\\"gitlens\\\",\\n    \\\"publisher\\\": \\\"eamodio\\\",\\n    \\\"version\\\": \\\"9.9.3\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"a2cec723-5349-460d-9de9-0fd1f8d3456f\\\",\\n      \\\"publisherId\\\": \\\"xabikos.JavaScriptSnippets\\\",\\n      \\\"publisherDisplayName\\\": \\\"xabikos\\\"\\n    },\\n    \\\"name\\\": \\\"JavaScriptSnippets\\\",\\n    \\\"publisher\\\": \\\"xabikos\\\",\\n    \\\"version\\\": \\\"1.7.2\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"82dfe17d-bb64-404e-bcc5-f9803f7ab5d5\\\",\\n      \\\"publisherId\\\": \\\"dbaeumer.jshint\\\",\\n      \\\"publisherDisplayName\\\": \\\"dbaeumer\\\"\\n    },\\n    \\\"name\\\": \\\"jshint\\\",\\n    \\\"publisher\\\": \\\"dbaeumer\\\",\\n    \\\"version\\\": \\\"0.10.21\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"b63c44fd-0457-4696-99e9-dbfdf70d77de\\\",\\n      \\\"publisherId\\\": \\\"ritwickdey.LiveServer\\\",\\n      \\\"publisherDisplayName\\\": \\\"ritwickdey\\\"\\n    },\\n    \\\"name\\\": \\\"LiveServer\\\",\\n    \\\"publisher\\\": \\\"ritwickdey\\\",\\n    \\\"version\\\": \\\"5.6.1\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"26a529c9-2654-4b95-a63f-02f6a52429e6\\\",\\n      \\\"publisherId\\\": \\\"zhuangtongfa.Material-theme\\\",\\n      \\\"publisherDisplayName\\\": \\\"zhuangtongfa\\\"\\n    },\\n    \\\"name\\\": \\\"Material-theme\\\",\\n    \\\"publisher\\\": \\\"zhuangtongfa\\\",\\n    \\\"version\\\": \\\"2.27.1\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"dff6b801-247e-40e9-82e8-8c9b1d19d1b8\\\",\\n      \\\"publisherId\\\": \\\"christian-kohler.npm-intellisense\\\",\\n      \\\"publisherDisplayName\\\": \\\"christian-kohler\\\"\\n    },\\n    \\\"name\\\": \\\"npm-intellisense\\\",\\n    \\\"publisher\\\": \\\"christian-kohler\\\",\\n    \\\"version\\\": \\\"1.3.0\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"a41c1549-4053-44d4-bf30-60fc809b4a86\\\",\\n      \\\"publisherId\\\": \\\"christian-kohler.path-intellisense\\\",\\n      \\\"publisherDisplayName\\\": \\\"christian-kohler\\\"\\n    },\\n    \\\"name\\\": \\\"path-intellisense\\\",\\n    \\\"publisher\\\": \\\"christian-kohler\\\",\\n    \\\"version\\\": \\\"1.4.2\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"96fa4707-6983-4489-b7c5-d5ffdfdcce90\\\",\\n      \\\"publisherId\\\": \\\"esbenp.prettier-vscode\\\",\\n      \\\"publisherDisplayName\\\": \\\"esbenp\\\"\\n    },\\n    \\\"name\\\": \\\"prettier-vscode\\\",\\n    \\\"publisher\\\": \\\"esbenp\\\",\\n    \\\"version\\\": \\\"2.2.2\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"f1f59ae4-9318-4f3c-a9b5-81b2eaa5f8a5\\\",\\n      \\\"publisherId\\\": \\\"ms-python.python\\\",\\n      \\\"publisherDisplayName\\\": \\\"ms-python\\\"\\n    },\\n    \\\"name\\\": \\\"python\\\",\\n    \\\"publisher\\\": \\\"ms-python\\\",\\n    \\\"version\\\": \\\"2019.8.30787\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"797a79de-a0fd-4349-9034-bec47be9a941\\\",\\n      \\\"publisherId\\\": \\\"2gua.rainbow-brackets\\\",\\n      \\\"publisherDisplayName\\\": \\\"2gua\\\"\\n    },\\n    \\\"name\\\": \\\"rainbow-brackets\\\",\\n    \\\"publisher\\\": \\\"2gua\\\",\\n    \\\"version\\\": \\\"0.0.6\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"ee108066-df8b-43ae-9a83-e6c11400a759\\\",\\n      \\\"publisherId\\\": \\\"jasonnutter.search-node-modules\\\",\\n      \\\"publisherDisplayName\\\": \\\"jasonnutter\\\"\\n    },\\n    \\\"name\\\": \\\"search-node-modules\\\",\\n    \\\"publisher\\\": \\\"jasonnutter\\\",\\n    \\\"version\\\": \\\"1.3.0\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"431aa1a8-74f4-43d5-a83b-f4960510da5f\\\",\\n      \\\"publisherId\\\": \\\"ahmadawais.shades-of-purple\\\",\\n      \\\"publisherDisplayName\\\": \\\"ahmadawais\\\"\\n    },\\n    \\\"name\\\": \\\"shades-of-purple\\\",\\n    \\\"publisher\\\": \\\"ahmadawais\\\",\\n    \\\"version\\\": \\\"5.14.0\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"513cf511-3894-4ee2-8c34-13ab83ddfd37\\\",\\n      \\\"publisherId\\\": \\\"eg2.tslint\\\",\\n      \\\"publisherDisplayName\\\": \\\"eg2\\\"\\n    },\\n    \\\"name\\\": \\\"tslint\\\",\\n    \\\"publisher\\\": \\\"eg2\\\",\\n    \\\"version\\\": \\\"1.0.44\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"2f5dd8cb-d251-4d70-abfe-ddebcb077483\\\",\\n      \\\"publisherId\\\": \\\"octref.vetur\\\",\\n      \\\"publisherDisplayName\\\": \\\"octref\\\"\\n    },\\n    \\\"name\\\": \\\"vetur\\\",\\n    \\\"publisher\\\": \\\"octref\\\",\\n    \\\"version\\\": \\\"0.22.2\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"0479fc1c-3d67-49f9-b087-fb9069afe48f\\\",\\n      \\\"publisherId\\\": \\\"ms-azuretools.vscode-docker\\\",\\n      \\\"publisherDisplayName\\\": \\\"ms-azuretools\\\"\\n    },\\n    \\\"name\\\": \\\"vscode-docker\\\",\\n    \\\"publisher\\\": \\\"ms-azuretools\\\",\\n    \\\"version\\\": \\\"0.7.0\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"583b2b34-2c1e-4634-8c0b-0b82e283ea3a\\\",\\n      \\\"publisherId\\\": \\\"dbaeumer.vscode-eslint\\\",\\n      \\\"publisherDisplayName\\\": \\\"dbaeumer\\\"\\n    },\\n    \\\"name\\\": \\\"vscode-eslint\\\",\\n    \\\"publisher\\\": \\\"dbaeumer\\\",\\n    \\\"version\\\": \\\"1.9.1\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"9ccc1dd7-7ec4-4a46-bd4f-7d7b8b9d322a\\\",\\n      \\\"publisherId\\\": \\\"vscode-icons-team.vscode-icons\\\",\\n      \\\"publisherDisplayName\\\": \\\"vscode-icons-team\\\"\\n    },\\n    \\\"name\\\": \\\"vscode-icons\\\",\\n    \\\"publisher\\\": \\\"vscode-icons-team\\\",\\n    \\\"version\\\": \\\"9.3.0\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"bf2ad3a8-0475-49ea-8851-4e9e8074a4f2\\\",\\n      \\\"publisherId\\\": \\\"MS-CEINTL.vscode-language-pack-de\\\",\\n      \\\"publisherDisplayName\\\": \\\"MS-CEINTL\\\"\\n    },\\n    \\\"name\\\": \\\"vscode-language-pack-de\\\",\\n    \\\"publisher\\\": \\\"MS-CEINTL\\\",\\n    \\\"version\\\": \\\"1.37.5\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"ae9e3eb0-3357-4cc0-90ee-598d2d384757\\\",\\n      \\\"publisherId\\\": \\\"eg2.vscode-npm-script\\\",\\n      \\\"publisherDisplayName\\\": \\\"eg2\\\"\\n    },\\n    \\\"name\\\": \\\"vscode-npm-script\\\",\\n    \\\"publisher\\\": \\\"eg2\\\",\\n    \\\"version\\\": \\\"0.3.8\\\"\\n  },\\n  {\\n    \\\"metadata\\\": {\\n      \\\"id\\\": \\\"876e8f93-74d0-4f4f-91b7-34a09f19f444\\\",\\n      \\\"publisherId\\\": \\\"VisualStudioExptTeam.vscodeintellicode\\\",\\n      \\\"publisherDisplayName\\\": \\\"VisualStudioExptTeam\\\"\\n    },\\n    \\\"name\\\": \\\"vscodeintellicode\\\",\\n    \\\"publisher\\\": \\\"VisualStudioExptTeam\\\",\\n    \\\"version\\\": \\\"1.1.9\\\"\\n  }\\n]\"},\"keybindings.json\":{\"content\":\"// Place your key bindings in this file to override the defaultsauto[]\\n[\\n  {\\n    \\\"key\\\": \\\"f1\\\",\\n    \\\"command\\\": \\\"projectManager.listProjects\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"shift+alt+p\\\",\\n    \\\"command\\\": \\\"-projectManager.listProjects\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"alt+f1\\\",\\n    \\\"command\\\": \\\"projectManager.listProjectsNewWindow\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f1\\\",\\n    \\\"command\\\": \\\"-workbench.action.showCommands\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+oem_comma\\\",\\n    \\\"command\\\": \\\"-workbench.action.openSettings\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+k ctrl+s\\\",\\n    \\\"command\\\": \\\"-workbench.action.openGlobalKeybindings\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f2\\\",\\n    \\\"command\\\": \\\"workbench.action.openSnippets\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f4\\\",\\n    \\\"command\\\": \\\"-search.action.focusNextSearchResult\\\",\\n    \\\"when\\\": \\\"hasSearchResult\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f4\\\",\\n    \\\"command\\\": \\\"-goToNextReference\\\",\\n    \\\"when\\\": \\\"referenceSearchVisible\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f4\\\",\\n    \\\"command\\\": \\\"-goToNextReferenceFromEmbeddedEditor\\\",\\n    \\\"when\\\": \\\"inReferenceSearchEditor\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f4\\\",\\n    \\\"command\\\": \\\"-references-view.next\\\",\\n    \\\"when\\\": \\\"reference-list.hasResult\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+d\\\",\\n    \\\"command\\\": \\\"-editor.action.addSelectionToNextFindMatch\\\",\\n    \\\"when\\\": \\\"editorFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"shift+alt+down\\\",\\n    \\\"command\\\": \\\"-editor.action.copyLinesDownAction\\\",\\n    \\\"when\\\": \\\"editorTextFocus && !editorReadonly\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+q\\\",\\n    \\\"command\\\": \\\"-workbench.action.quickOpenView\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+q\\\",\\n    \\\"command\\\": \\\"-workbench.action.quickOpenNavigateNextInViewPicker\\\",\\n    \\\"when\\\": \\\"inQuickOpen && inViewsPicker\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+d\\\",\\n    \\\"command\\\": \\\"editor.action.deleteLines\\\",\\n    \\\"when\\\": \\\"textInputFocus && !editorReadonly\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+k\\\",\\n    \\\"command\\\": \\\"-editor.action.deleteLines\\\",\\n    \\\"when\\\": \\\"textInputFocus && !editorReadonly\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+q\\\",\\n    \\\"command\\\": \\\"editor.action.commentLine\\\",\\n    \\\"when\\\": \\\"editorTextFocus && !editorReadonly\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+oem_2\\\",\\n    \\\"command\\\": \\\"-editor.action.commentLine\\\",\\n    \\\"when\\\": \\\"editorTextFocus && !editorReadonly\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+q\\\",\\n    \\\"command\\\": \\\"editor.action.blockComment\\\",\\n    \\\"when\\\": \\\"editorTextFocus && !editorReadonly\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"shift+alt+a\\\",\\n    \\\"command\\\": \\\"-editor.action.blockComment\\\",\\n    \\\"when\\\": \\\"editorTextFocus && !editorReadonly\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f5\\\",\\n    \\\"command\\\": \\\"-workbench.action.debug.start\\\",\\n    \\\"when\\\": \\\"!inDebugMode\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f6\\\",\\n    \\\"command\\\": \\\"-workbench.action.debug.pause\\\",\\n    \\\"when\\\": \\\"debugState == 'running'\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f7\\\",\\n    \\\"command\\\": \\\"-editor.action.diffReview.next\\\",\\n    \\\"when\\\": \\\"isInDiffEditor\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f7\\\",\\n    \\\"command\\\": \\\"-editor.action.wordHighlight.next\\\",\\n    \\\"when\\\": \\\"editorTextFocus && hasWordHighlights\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f5\\\",\\n    \\\"command\\\": \\\"-workbench.action.debug.continue\\\",\\n    \\\"when\\\": \\\"inDebugMode\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f5\\\",\\n    \\\"command\\\": \\\"workbench.action.toggleSidebarVisibility\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+b\\\",\\n    \\\"command\\\": \\\"-workbench.action.toggleSidebarVisibility\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f6\\\",\\n    \\\"command\\\": \\\"workbench.action.terminal.toggleTerminal\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+oem_3\\\",\\n    \\\"command\\\": \\\"-workbench.action.terminal.toggleTerminal\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+down\\\",\\n    \\\"command\\\": \\\"editor.action.moveLinesDownAction\\\",\\n    \\\"when\\\": \\\"editorTextFocus && !editorReadonly\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"alt+down\\\",\\n    \\\"command\\\": \\\"-editor.action.moveLinesDownAction\\\",\\n    \\\"when\\\": \\\"editorTextFocus && !editorReadonly\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+up\\\",\\n    \\\"command\\\": \\\"editor.action.moveLinesUpAction\\\",\\n    \\\"when\\\": \\\"editorTextFocus && !editorReadonly\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"alt+up\\\",\\n    \\\"command\\\": \\\"-editor.action.moveLinesUpAction\\\",\\n    \\\"when\\\": \\\"editorTextFocus && !editorReadonly\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+q\\\",\\n    \\\"command\\\": \\\"-workbench.action.quickOpenNavigatePreviousInViewPicker\\\",\\n    \\\"when\\\": \\\"inQuickOpen && inViewsPicker\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+d\\\",\\n    \\\"command\\\": \\\"-workbench.view.debug\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"shift+alt+right\\\",\\n    \\\"command\\\": \\\"-editor.action.smartSelect.expand\\\",\\n    \\\"when\\\": \\\"editorTextFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"shift+alt+left\\\",\\n    \\\"command\\\": \\\"-editor.action.smartSelect.shrink\\\",\\n    \\\"when\\\": \\\"editorTextFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+e\\\",\\n    \\\"command\\\": \\\"editor.action.smartSelect.expand\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+h\\\",\\n    \\\"command\\\": \\\"-editor.action.startFindReplaceAction\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+h\\\",\\n    \\\"command\\\": \\\"editor.action.showHover\\\",\\n    \\\"when\\\": \\\"editorTextFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+k ctrl+i\\\",\\n    \\\"command\\\": \\\"-editor.action.showHover\\\",\\n    \\\"when\\\": \\\"editorTextFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+tab\\\",\\n    \\\"command\\\": \\\"-workbench.action.openNextRecentlyUsedEditorInGroup\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+tab\\\",\\n    \\\"command\\\": \\\"-workbench.action.openPreviousRecentlyUsedEditorInGroup\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+tab\\\",\\n    \\\"command\\\": \\\"-workbench.action.quickOpenNavigateNextInEditorPicker\\\",\\n    \\\"when\\\": \\\"inEditorsPicker && inQuickOpen\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+tab\\\",\\n    \\\"command\\\": \\\"-workbench.action.quickOpenNavigatePreviousInEditorPicker\\\",\\n    \\\"when\\\": \\\"inEditorsPicker && inQuickOpen\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+tab\\\",\\n    \\\"command\\\": \\\"workbench.action.nextEditor\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+pagedown\\\",\\n    \\\"command\\\": \\\"-workbench.action.nextEditor\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+tab\\\",\\n    \\\"command\\\": \\\"workbench.action.previousEditor\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+pageup\\\",\\n    \\\"command\\\": \\\"-workbench.action.previousEditor\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+e\\\",\\n    \\\"command\\\": \\\"-workbench.view.explorer\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+e\\\",\\n    \\\"command\\\": \\\"-workbench.action.quickOpenNavigatePreviousInFilePicker\\\",\\n    \\\"when\\\": \\\"inFilesPicker && inQuickOpen\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f9\\\",\\n    \\\"command\\\": \\\"-editor.debug.action.toggleBreakpoint\\\",\\n    \\\"when\\\": \\\"editorTextFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f9\\\",\\n    \\\"command\\\": \\\"-sortLines.sortLines\\\",\\n    \\\"when\\\": \\\"editorTextFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"alt+c\\\",\\n    \\\"command\\\": \\\"-workbench.action.terminal.toggleFindCaseSensitive\\\",\\n    \\\"when\\\": \\\"terminalFindWidgetFocused\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"alt+c\\\",\\n    \\\"command\\\": \\\"-workbench.action.terminal.toggleFindCaseSensitiveTerminalFocus\\\",\\n    \\\"when\\\": \\\"terminalFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"alt+f1\\\",\\n    \\\"command\\\": \\\"-editor.action.showAccessibilityHelp\\\",\\n    \\\"when\\\": \\\"editorFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+t\\\",\\n    \\\"command\\\": \\\"-workbench.action.showAllSymbols\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+t\\\",\\n    \\\"command\\\": \\\"extension.transpose\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+c\\\",\\n    \\\"command\\\": \\\"extension.colorHelper.pick\\\",\\n    \\\"when\\\": \\\"editorTextFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"alt+c p\\\",\\n    \\\"command\\\": \\\"-extension.colorHelper.pick\\\",\\n    \\\"when\\\": \\\"editorTextFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+c\\\",\\n    \\\"command\\\": \\\"-workbench.action.terminal.openNativeConsole\\\",\\n    \\\"when\\\": \\\"!terminalFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+l\\\",\\n    \\\"command\\\": \\\"workbench.action.editor.changeLanguageMode\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+k m\\\",\\n    \\\"command\\\": \\\"-workbench.action.editor.changeLanguageMode\\\"\\n  }\\n  ,{\\n    \\\"key\\\": \\\"shift+space\\\",\\n    \\\"command\\\": \\\"cursorRight\\\",\\n    \\\"when\\\": \\\"editorTextFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f9\\\",\\n    \\\"command\\\": \\\"git.sync\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+l\\\",\\n    \\\"command\\\": \\\"-editor.action.selectHighlights\\\",\\n    \\\"when\\\": \\\"editorFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+e\\\",\\n    \\\"command\\\": \\\"editor.action.addSelectionToNextFindMatch\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f10\\\",\\n    \\\"command\\\": \\\"-extension.node-debug.startWithStopOnEntry\\\",\\n    \\\"when\\\": \\\"!inDebugMode && debugConfigurationType == 'node'\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f10\\\",\\n    \\\"command\\\": \\\"-workbench.action.debug.stepOver\\\",\\n    \\\"when\\\": \\\"debugState == 'stopped'\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"f10\\\",\\n    \\\"command\\\": \\\"workbench.action.terminal.runActiveFile\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+w\\\",\\n    \\\"command\\\": \\\"-workbench.action.closeWindow\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+w\\\",\\n    \\\"command\\\": \\\"extension.htmlTagWrap\\\",\\n    \\\"when\\\": \\\"editorTextFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"alt+w\\\",\\n    \\\"command\\\": \\\"-extension.htmlTagWrap\\\",\\n    \\\"when\\\": \\\"editorTextFocus\\\"\\n  }\\n]\"},\"keybindingsMac.json\":{\"filename\":\"keybindingsMac.json\",\"type\":\"application/json\",\"language\":\"JSON\",\"raw_url\":\"https://gist.githubusercontent.com/shanalikhan/802c710112af78040c78ab11bbbd4854/raw/23ca3db4bfe4526aa725f78f1a3acebd63d0f787/keybindingsMac.json\",\"size\":8,\"truncated\":false,\"content\":\"// Empty\"},\"launch.json\":{\"content\":\"// Empty\"},\"locale.json\":{\"content\":\"{\\n  \\\"locale\\\": \\\"en\\\"\\n}\"},\"settings.json\":{\"content\":\"{\\n    \\\"window.zoomLevel\\\": -1,\\n    \\\"git.enableSmartCommit\\\": true,\\n    \\\"editor.suggestSelection\\\": \\\"first\\\",\\n    \\\"vsintellicode.modify.editor.suggestSelection\\\": \\\"automaticallyOverrodeDefaultValue\\\",\\n    \\\"sync.gist\\\": \\\"802c710112af78040c78ab11bbbd4854\\\"\\n}\"},\"syncLocalSettings1.json\":{\"content\":\"{\\n    \\\"ignoreUploadFiles\\\": [\\n        \\\"state.vscdb\\\",\\n        \\\"state.vscdb.backup\\\",\\n        \\\"syncLocalSettings.json\\\",\\n        \\\".DS_Store\\\",\\n        \\\"sync.lock\\\",\\n        \\\"projects.json\\\",\\n        \\\"projects_cache_vscode.json\\\",\\n        \\\"projects_cache_git.json\\\",\\n        \\\"projects_cache_svn.json\\\",\\n        \\\"gpm_projects.json\\\",\\n        \\\"gpm-recentItems.json\\\",\\n        \\\"state.*\\\"\\n    ],\\n    \\\"ignoreUploadFolders\\\": [\\n        \\\"workspaceStorage\\\"\\n    ],\\n    \\\"ignoreExtensions\\\": [],\\n    \\\"gistDescription\\\": \\\"Visual Studio Code Settings Sync Gist\\\",\\n    \\\"version\\\": 331,\\n    \\\"token\\\": \\\"998a2ee5389f61d63d729ed62a261b1afaad8279\\\",\\n    \\\"downloadPublicGist\\\": false,\\n    \\\"supportedFileExtensions\\\": [\\n        \\\"json\\\",\\n        \\\"code-snippets\\\",\\n        \\\"json2\\\"\\n    ],\\n    \\\"openTokenLink\\\": true,\\n    \\\"disableUpdateMessage\\\": false,\\n    \\\"lastUpload\\\": \\\"2019-06-24T16:18:55.696Z\\\",\\n    \\\"lastDownload\\\": \\\"2019-06-24T16:19:50.647Z\\\",\\n    \\\"githubEnterpriseUrl\\\": null,\\n    \\\"askGistName\\\": false,\\n    \\\"customFiles\\\": {},\\n    \\\"hostName\\\": null,\\n    \\\"universalKeybindings\\\": false,\\n    \\\"autoUploadDelay\\\": 20\\n}\"},\"snippets/a-md.code-snippets\":{\"content\":\"{\\n\\t\\\"Markdown link\\\": {\\n\\t\\t\\\"scope\\\": \\\"markdown\\\",\\n\\t\\t\\\"prefix\\\": \\\"a\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"[$1]($0)\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"\\\"\\n\\t}\\n}\"},\"snippets/blade.json\":{\"content\":\"{\\n/*\\n\\t // Place your snippets for Laravel Blade here. Each snippet is defined under a snippet name and has a prefix, body and \\n\\t // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\\n\\t // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \\n\\t // same ids are connected.\\n\\t // Example:\\n\\t \\\"Print to console\\\": {\\n\\t\\t\\\"prefix\\\": \\\"log\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"console.log('$1');\\\",\\n\\t\\t\\t\\\"$2\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Log output to console\\\"\\n\\t}\\n*/\\n  \\\"box\\\" : {\\n    \\\"prefix\\\" : \\\"bu-box\\\",\\n    \\\"body\\\" : \\\"<div class=\\\\\\\"box\\\\\\\">\\\\n  <article class=\\\\\\\"media\\\\\\\">\\\\n    <div class=\\\\\\\"media-left\\\\\\\">\\\\n      <figure class=\\\\\\\"image is-64x64\\\\\\\">\\\\n        <img src=\\\\\\\"http://bulma.io/images/placeholders/128x128.png\\\\\\\" alt=\\\\\\\"Image\\\\\\\">\\\\n      </figure>\\\\n    </div>\\\\n    <div lass=\\\\\\\"media-content\\\\\\\">\\\\n      <div class=\\\\\\\"content\\\\\\\">\\\\n        <p>\\\\n          <strong>$1</strong> <small>$2</small> small>31m</small>\\\\n          <br>\\\\n          {$2:Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean efficitur sit amet massa fringilla egestas. Nullam condimentum luctus turpis.}\\\\n        </p>\\\\n      </div>\\\\n      <nav class=\\\\\\\"level\\\\\\\">\\\\n        <div class=\\\\\\\"level-left\\\\\\\">\\\\n          <a class=\\\\\\\"level-item\\\\\\\">\\\\n            <span class=\\\\\\\"icon is-small\\\\\\\"><i class=\\\\\\\"fa fa-reply\\\\\\\"></i></span>\\\\n          </a>\\\\n          <a class=\\\\\\\"level-item\\\\\\\">\\\\n            <span class=\\\\\\\"icon is-small\\\\\\\"><i class=\\\\\\\"fa fa-retweet\\\\\\\"></i></span>\\\\n          </a>\\\\n          <a class=\\\\\\\"level-item\\\\\\\">\\\\n            <span class=\\\\\\\"icon is-small\\\\\\\"><i class=\\\\\\\"fa fa-heart\\\\\\\"></i></span>\\\\n          </a>\\\\n        </div>\\\\n      </nav>\\\\n    </div>\\\\n  </article></div>\\\",\\n    \\\"description\\\" : \\\"Bulma Box\\\"\\n  }\\n}\"},\"snippets/c.json\":{\"content\":\"{ \\n\\t   \\n/*\\n\\t // Place your snippets for C here. Each snippet is defined under a snippet name and has a prefix, body and \\n\\t // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\\n\\t // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \\n\\t // same ids are connected.\\n\\t // Example:\\n\\t \\\"Print to console\\\": {\\n\\t\\t\\\"prefix\\\": \\\"log\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"console.log('$1');\\\",\\n\\t\\t\\t\\\"$2\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Log output to console\\\"\\n\\t}\\n*/\\n}\"},\"snippets/clojure.json\":{\"content\":\"{\\n\\t// Place your snippets for clojure here. Each snippet is defined under a snippet name and has a prefix, body and \\n\\t// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\\n\\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \\n\\t// same ids are connected.\\n\\t// Example:\\n\\t// \\\"Print to console\\\": {\\n\\t// \\t\\\"prefix\\\": \\\"log\\\",\\n\\t// \\t\\\"body\\\": [\\n\\t// \\t\\t\\\"console.log('$1');\\\",\\n\\t// \\t\\t\\\"$2\\\"\\n\\t// \\t],\\n\\t// \\t\\\"description\\\": \\\"Log output to console\\\"\\n\\t// }\\n}\"},\"snippets/csharp.json\":{\"content\":\"{\\n/*\\n\\t // Place your snippets for C# here. Each snippet is defined under a snippet name and has a prefix, body and \\n\\t // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\\n\\t // $1, $2 for tab stops, ${id} and ${id:label} and ${1:label} for variables. Variables with the same id are connected.\\n\\t // Example:\\n\\t \\\"Print to console\\\": {\\n\\t\\t\\\"prefix\\\": \\\"log\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"console.log('$1');\\\",\\n\\t\\t\\t\\\"$2\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Log output to console\\\"\\n\\t}\\n*/\\n}\"},\"snippets/currentdate.code-snippets\":{\"content\":\"{\\n\\t// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and \\n\\t// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope \\n\\t// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is \\n\\t// used to trigger the snippet and the body will be expanded and inserted. Possible variables are: \\n\\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. \\n\\t// Placeholders with the same ids are connected.\\n\\t// Example:\\n\\t// \\\"Print to console\\\": {\\n\\t// \\t\\\"scope\\\": \\\"javascript,typescript\\\",\\n\\t// \\t\\\"prefix\\\": \\\"log\\\",\\n\\t// \\t\\\"body\\\": [\\n\\t// \\t\\t\\\"console.log('$1');\\\",\\n\\t// \\t\\t\\\"$2\\\"\\n\\t// \\t],\\n\\t// \\t\\\"description\\\": \\\"Log output to console\\\"\\n\\t// }\\n\\t\\\"Current Date\\\": {\\n\\t\\t\\\"prefix\\\": \\\"bearDate\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"$CURRENT_DATE-$CURRENT_MONTH_NAME_SHORT-$CURRENT_YEAR\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Insert current date in dd-MM-YYYY format\\\"\\n\\t},\\n\\t\\\"Current Time\\\": {\\n\\t\\t\\\"prefix\\\": \\\"bearTime\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"$CURRENT_HOUR-$CURRENT_MINUTE-$CURRENT_SECOND\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Insert current time in hh-mm-ss format\\\"\\n\\t},\\n\\t\\\"Current DateTime\\\":{\\n\\t\\t\\\"prefix\\\": \\\"bearDateTime\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"$CURRENT_DATE-$CURRENT_MONTH_NAME_SHORT-$CURRENT_YEAR $CURRENT_HOUR-$CURRENT_MINUTE-$CURRENT_SECOND\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Insert Today's full datetime in dd-MM-YYYY hh-mm-ss format\\\"\\n\\t}\\n}\"},\"snippets/global.code-snippets\":{\"content\":\"{\\n\\t// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and \\n\\t// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope \\n\\t// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is \\n\\t// used to trigger the snippet and the body will be expanded and inserted. Possible variables are: \\n\\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. \\n\\t// Placeholders with the same ids are connected.\\n\\t// Example:\\n\\t\\\"Print to console\\\": {\\n\\t\\t\\\"scope\\\": \\\"javascript,typescript\\\",\\n\\t\\t\\\"prefix\\\": \\\"log\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"console.log($1);\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Log output to console\\\"\\n\\t}\\n}\"},\"snippets/go.json\":{\"content\":\"{\\n\\t//test\\n}\"},\"snippets/html.code-snippets\":{\"content\":\"{\\n\\t\\\"html\\\": {\\n\\t\\t\\\"scope\\\": \\\"\\\",\\n\\t\\t\\\"prefix\\\": \\\"html\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"<!doctype html>\\\",\\n\\t\\t\\t\\\"<html lang=\\\\\\\"fr\\\\\\\">\\\",\\n\\t\\t\\t\\\"<head>\\\",\\n\\t\\t\\t\\\"  <meta charset=\\\\\\\"utf-8\\\\\\\">\\\",\\n\\t\\t\\t\\\"  <meta name=\\\\\\\"viewport\\\\\\\" content=\\\\\\\"width=device-width, initial-scale=1, shrink-to-fit=no\\\\\\\">\\\",\\n\\t\\t\\t\\\"  <title></title>\\\",\\n\\t\\t\\t\\\"</head>\\\",\\n\\t\\t\\t\\\"<body>\\\",\\n\\t\\t\\t\\\"  $0\\\",\\n\\t\\t\\t\\\"</body>\\\",\\n\\t\\t\\t\\\"</html>\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"\\\"\\n\\t}\\n}\"},\"snippets/html.json\":{\"content\":\"{\\n\\t/*\\n\\t // Place your snippets for HTML here. Each snippet is defined under a snippet name and has a prefix, body and \\n\\t // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\\n\\t // $1, $2 for tab stops, ${id} and ${id:label} and ${1:label} for variables. Variables with the same id are connected.\\n\\t // Example:\\n\\t \\\"Print to console\\\": {\\n\\t\\t\\\"prefix\\\": \\\"log\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"console.log('$1');\\\",\\n\\t\\t\\t\\\"$2\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Log output to console\\\"\\n\\t}\\n*/\\n}\"},\"snippets/icon.code-snippets\":{\"content\":\"{\\n\\t\\\"icon\\\": {\\n\\t\\t\\\"scope\\\": \\\"\\\",\\n\\t\\t\\\"prefix\\\": \\\"i\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"<i class=\\\\\\\"material-icons\\\\\\\">${0:launch}</i>\\\",\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"\\\"\\n\\t}\\n}\"},\"snippets/java.json\":{\"content\":\"{\\n/*\\n\\t// Place your snippets for Java here. Each snippet is defined under a snippet name and has a prefix, body and \\n\\t// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\\n\\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \\n\\t// same ids are connected.\\n\\t// Example:\\n\\t\\\"Print to console\\\": {\\n\\t\\t\\\"prefix\\\": \\\"log\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"console.log('$1');\\\",\\n\\t\\t\\t\\\"$2\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Log output to console\\\"\\n\\t}\\n*/\\n}\"},\"snippets/javascript.json\":{\"content\":\"{\\n  \\\"Get/Set Properties\\\": {\\n    \\\"prefix\\\": \\\"prop\\\",\\n    \\\"body\\\": [\\n      \\\"set ${propertyName}(value) {\\\",\\n      \\\"\\\\tthis._${propertyName} = value;\\\",\\n      \\\"}\\\",\\n      \\\"get ${propertyName} () {\\\",\\n      \\\"\\\\treturn this._${propertyName} ;\\\",\\n      \\\"}\\\",\\n      \\\"$1\\\"\\n    ],\\n    \\\"description\\\": \\\"Get/Set Properties\\\"\\n  }\\n}\"},\"snippets/javascriptreact.json\":{\"content\":\"// https: //code.visualstudio.com/docs/editor/userdefinedsnippetss\\n{\\n  \\\"Import Module\\\": {\\n    \\\"prefix\\\": \\\"imp\\\",\\n    \\\"body\\\": [\\n      \\\"import {$2} from '$1'\\\"\\n    ],\\n    \\\"description\\\": \\\"Import Module\\\"\\n  },\\n  \\\"Import PropTypes\\\": {\\n    \\\"prefix\\\": \\\"impt\\\",\\n    \\\"body\\\": [\\n      \\\"import PropTypes from 'prop-types'\\\"\\n    ],\\n    \\\"description\\\": \\\"Import PropTypes\\\"\\n  },\\n  \\\"Class Component\\\": {\\n    \\\"prefix\\\": \\\"cc\\\",\\n    \\\"body\\\": [\\n      \\\"import React from 'react'\\\",\\n      \\\"import styled from 'styled-components'\\\",\\n      \\\"\\\",\\n      \\\"const Style = styled.div`\\\",\\n      \\\"\\\\t${3|${props => }, ,background: gold;|}\\\",\\n      \\\"`\\\",\\n      \\\"\\\",\\n      \\\"class ${TM_DIRECTORY/^.+\\\\\\\\\\\\\\\\(.*)$/$1/} extends React.Component {\\\",\\n      \\\"\\\",\\n      \\\"\\\\trender() { \\\",\\n      \\\"\\\\t\\\\treturn (\\\",\\n      \\\"\\\\t\\\\t\\\\t<Style {...this.props}>\\\",\\n      \\\"\\\\t\\\\t\\\\t\\\\t${TM_DIRECTORY/^.+\\\\\\\\\\\\\\\\(.*)$/$1/}$5\\\",\\n      \\\"\\\\t\\\\t\\\\t</Style>\\\",\\n      \\\"\\\\t\\\\t)\\\",\\n      \\\"\\\\t}\\\",\\n      \\\"}\\\",\\n      \\\" \\\",\\n      \\\"export default ${TM_DIRECTORY/^.+\\\\\\\\\\\\\\\\(.*)$/$1/}\\\"\\n    ],\\n    \\\"description\\\": \\\"Class Component With State\\\"\\n  },\\n  \\\"Stateless Function Component\\\": {\\n    \\\"prefix\\\": \\\"sfc\\\",\\n    \\\"body\\\": [\\n      \\\"${1|import React from 'react', |}\\\",\\n      \\\"export const $2 = ($3) =>\\\",\\n      \\\"\\\\t<React.Fragment>\\\",\\n      \\\"\\\\t\\\\t$4\\\",\\n      \\\"\\\\t</React.Fragment>\\\",\\n    ],\\n    \\\"description\\\": \\\"Stateless Function Component\\\"\\n  },\\n  \\\"componentDidMount\\\": {\\n    \\\"prefix\\\": \\\"cdm\\\",\\n    \\\"body\\\": [\\n      \\\"componentDidMount() {\\\",\\n      \\\"\\\\t$0\\\",\\n      \\\"}\\\"\\n    ],\\n    \\\"description\\\": \\\"componentDidMount\\\"\\n  },\\n  \\\"componentWillMount\\\": {\\n    \\\"prefix\\\": \\\"cwm\\\",\\n    \\\"body\\\": [\\n      \\\"componentWillMount() {\\\",\\n      \\\"\\\\t$0\\\",\\n      \\\"}\\\"\\n    ],\\n    \\\"description\\\": \\\"componentWillMount\\\"\\n  },\\n  \\\"componentWillReceiveProps\\\": {\\n    \\\"prefix\\\": \\\"cwrp\\\",\\n    \\\"body\\\": [\\n      \\\"componentWillReceiveProps(nextProps) {\\\",\\n      \\\"\\\\t$0\\\",\\n      \\\"}\\\"\\n    ],\\n    \\\"description\\\": \\\"componentWillReceiveProps\\\"\\n  },\\n  \\\"shouldComponentUpdate\\\": {\\n    \\\"prefix\\\": \\\"scu\\\",\\n    \\\"body\\\": [\\n      \\\"shouldComponentUpdate(nextProps, nextState) {\\\",\\n      \\\"\\\\t$0\\\",\\n      \\\"}\\\"\\n    ],\\n    \\\"description\\\": \\\"shouldComponentUpdate\\\"\\n  },\\n  \\\"componentWillUpdate\\\": {\\n    \\\"prefix\\\": \\\"cwu\\\",\\n    \\\"body\\\": [\\n      \\\"componentWillUpdate(nextProps, nextState) {\\\",\\n      \\\"\\\\t$0\\\",\\n      \\\"}\\\"\\n    ],\\n    \\\"description\\\": \\\"componentWillUpdate\\\"\\n  },\\n  \\\"componentDidUpdate\\\": {\\n    \\\"prefix\\\": \\\"cdu\\\",\\n    \\\"body\\\": [\\n      \\\"componentDidUpdate(prevProps, prevState) {\\\",\\n      \\\"\\\\t$0\\\",\\n      \\\"}\\\"\\n    ],\\n    \\\"description\\\": \\\"componentDidUpdate\\\"\\n  },\\n  \\\"componentWillUnmount\\\": {\\n    \\\"prefix\\\": \\\"cwun\\\",\\n    \\\"body\\\": [\\n      \\\"componentWillUnmount() {\\\",\\n      \\\"\\\\t$0\\\",\\n      \\\"}\\\"\\n    ],\\n    \\\"description\\\": \\\"componentWillUnmount\\\"\\n  },\\n  \\\"componentDidCatch\\\": {\\n    \\\"prefix\\\": \\\"cdc\\\",\\n    \\\"body\\\": [\\n      \\\"componentDidCatch(error, info) {\\\",\\n      \\\"\\\\t$0\\\",\\n      \\\"}\\\"\\n    ],\\n    \\\"description\\\": \\\"componentDidCatch\\\"\\n  },\\n  \\\"setState\\\": {\\n    \\\"prefix\\\": \\\"ss\\\",\\n    \\\"body\\\": [\\n      \\\"this.setState({ $1: $2 })\\\"\\n    ],\\n    \\\"description\\\": \\\"setState\\\"\\n  },\\n  \\\"render\\\": {\\n    \\\"prefix\\\": \\\"ren\\\",\\n    \\\"body\\\": [\\n      \\\"render() {\\\",\\n      \\\"\\\\treturn (\\\",\\n      \\\"\\\\t\\\\t $0\\\",\\n      \\\"\\\\t)\\\",\\n      \\\"}\\\"\\n    ],\\n    \\\"description\\\": \\\"render\\\"\\n  },\\n  \\\"Higher Order Component\\\": {\\n    \\\"prefix\\\": \\\"hoc\\\",\\n    \\\"body\\\": [\\n      \\\"function $1($2) {\\\",\\n      \\\"\\\\treturn class extends React.Component {\\\",\\n      \\\"\\\\t\\\\tconstructor(props) {\\\",\\n      \\\"\\\\t\\\\t\\\\tsuper(props)\\\",\\n      \\\"\\\\t\\\\t}\\\",\\n      \\\" \\\",\\n      \\\"\\\\t\\\\trender() {\\\",\\n      \\\"\\\\t\\\\t\\\\treturn <$2 {...this.props} $0/>\\\",\\n      \\\"\\\\t\\\\t}\\\",\\n      \\\"\\\\t}\\\",\\n      \\\"}\\\"\\n    ],\\n    \\\"description\\\": \\\"Higher Order Component\\\"\\n  }\\n}\"},\"snippets/json.json\":{\"content\":\"{\\n\\t/*\\n\\t\\t// Place your snippets for JSON here. Each snippet is defined under a snippet name and has a prefix, body and \\n\\t\\t// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\\n\\t\\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \\n\\t\\t// same ids are connected.\\n\\t\\t// Example:\\n\\t\\t\\\"Print to console\\\": {\\n\\t\\t\\t\\\"prefix\\\": \\\"log\\\",\\n\\t\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\t\\\"console.log('$1');\\\",\\n\\t\\t\\t\\t\\\"$2\\\"\\n\\t\\t\\t],\\n\\t\\t\\t\\\"description\\\": \\\"Log output to console\\\"\\n\\t\\t}\\n\\t*/\\n\\n\\t\\\"java.tasks.json\\\": {\\n\\t\\t\\\"prefix\\\": \\\"java.tasks.json\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"{\\\",\\n\\t\\t\\t\\\"\\\\t// See https://go.microsoft.com/fwlink/?LinkId=733558\\\",\\n\\t\\t\\t\\\"\\\\t// for the documentation about the tasks.json format\\\",\\n\\t\\t\\t\\\"\\\\t\\\\\\\"version\\\\\\\": \\\\\\\"2.0.0\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\\\\"tasks\\\\\\\": [\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t{\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"label\\\\\\\": \\\\\\\"javac\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"type\\\\\\\": \\\\\\\"shell\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"command\\\\\\\": \\\\\\\"mkdir -Force output ; javac -d \\\\\\\\${workspaceFolder\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\output\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\${file\\\\\\\\}\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"problemMatcher\\\\\\\": [],\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"group\\\\\\\": {\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\t\\\\\\\"kind\\\\\\\": \\\\\\\"build\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\t\\\\\\\"isDefault\\\\\\\": true\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t}\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t},\\\",\\n\\t\\t\\t\\\"\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t{\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"label\\\\\\\": \\\\\\\"java\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"type\\\\\\\": \\\\\\\"shell\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"command\\\\\\\": \\\\\\\"java -cp \\\\\\\\${workspaceFolder\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\output\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\${fileBasenameNoExtension\\\\\\\\}\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"problemMatcher\\\\\\\": [],\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"group\\\\\\\": {\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\t\\\\\\\"kind\\\\\\\": \\\\\\\"test\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\t\\\\\\\"isDefault\\\\\\\": true\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t}\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t}\\\",\\n\\t\\t\\t\\\"\\\\t]\\\",\\n\\t\\t\\t\\\"}\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Generate Java tasks.json\\\"\\n\\t}\\n}\"},\"snippets/jsonc.json\":{\"content\":\"{\\n\\t/*\\n\\t\\t// Place your snippets for JSON here. Each snippet is defined under a snippet name and has a prefix, body and \\n\\t\\t// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\\n\\t\\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \\n\\t\\t// same ids are connected.\\n\\t\\t// Example:\\n\\t\\t\\\"Print to console\\\": {\\n\\t\\t\\t\\\"prefix\\\": \\\"log\\\",\\n\\t\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\t\\\"console.log('$1');\\\",\\n\\t\\t\\t\\t\\\"$2\\\"\\n\\t\\t\\t],\\n\\t\\t\\t\\\"description\\\": \\\"Log output to console\\\"\\n\\t\\t}\\n\\t*/\\n\\n\\t\\\"java.tasks.json\\\": {\\n\\t\\t\\\"prefix\\\": \\\"java.tasks.json\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"{\\\",\\n\\t\\t\\t\\\"\\\\t// See https://go.microsoft.com/fwlink/?LinkId=733558\\\",\\n\\t\\t\\t\\\"\\\\t// for the documentation about the tasks.json format\\\",\\n\\t\\t\\t\\\"\\\\t\\\\\\\"version\\\\\\\": \\\\\\\"2.0.0\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\\\\"tasks\\\\\\\": [\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t{\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"label\\\\\\\": \\\\\\\"javac\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"type\\\\\\\": \\\\\\\"shell\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"command\\\\\\\": \\\\\\\"mkdir -Force output ; javac -d \\\\\\\\${workspaceFolder\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\output\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\${file\\\\\\\\}\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"problemMatcher\\\\\\\": [],\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"group\\\\\\\": {\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\t\\\\\\\"kind\\\\\\\": \\\\\\\"build\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\t\\\\\\\"isDefault\\\\\\\": true\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t}\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t},\\\",\\n\\t\\t\\t\\\"\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t{\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"label\\\\\\\": \\\\\\\"java\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"type\\\\\\\": \\\\\\\"shell\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"command\\\\\\\": \\\\\\\"java -cp \\\\\\\\${workspaceFolder\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\output\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\${fileBasenameNoExtension\\\\\\\\}\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"problemMatcher\\\\\\\": [],\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\\\\"group\\\\\\\": {\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\t\\\\\\\"kind\\\\\\\": \\\\\\\"test\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t\\\\t\\\\\\\"isDefault\\\\\\\": true\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\t}\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t}\\\",\\n\\t\\t\\t\\\"\\\\t]\\\",\\n\\t\\t\\t\\\"}\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Generate Java tasks.json\\\"\\n\\t},\\n\\n\\t\\\"processing.tasks.json\\\": {\\n\\t\\t\\\"prefix\\\": \\\"processing.tasks.json\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"{\\\",\\n\\t\\t\\t\\\"\\\\t// See https://go.microsoft.com/fwlink/?LinkId=733558\\\",\\n\\t\\t\\t\\\"\\\\t// for the documentation about the tasks.json format\\\",\\n\\t\\t\\t\\\"\\\\t\\\\\\\"version\\\\\\\": \\\\\\\"2.0.0\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\\\\"command\\\\\\\": \\\\\\\"processing-java\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\\\\"args\\\\\\\": [\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\\\\"--force\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\\\\"--sketch=\\\\\\\\${workspaceRoot\\\\\\\\}\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\\\\"--output=\\\\\\\\${workspaceRoot\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\out\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\\\\"--run\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t],\\\",\\n\\t\\t\\t\\\"\\\\t\\\\\\\"group\\\\\\\": {\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\\\\"kind\\\\\\\": \\\\\\\"test\\\\\\\",\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t\\\\\\\"isDefault\\\\\\\": true\\\",\\n\\t\\t\\t\\\"\\\\t\\\\t}\\\",\\n\\t\\t\\t\\\"}\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Generate Processing tasks.json\\\"\\n\\t},\\n\\n\\t\\\"c.tasks.json\\\": {\\n\\t\\t\\\"prefix\\\": \\\"c.tasks.json\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Generate Processing tasks.json\\\"\\n\\t},\\n\\n}\"},\"snippets/lorem.code-snippets\":{\"content\":\"{\\n\\t\\\"lorem\\\": {\\n\\t\\t\\\"scope\\\": \\\"\\\",\\n\\t\\t\\\"prefix\\\": \\\"lorem\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor.\\\",\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"\\\"\\n\\t}\\n}\"},\"snippets/pde.json\":{\"content\":\"{\\n\\t// Place your snippets for pde here. Each snippet is defined under a snippet name and has a prefix, body and \\n\\t// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\\n\\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \\n\\t// same ids are connected.\\n\\t// Example:\\n\\t// \\\"Print to console\\\": {\\n\\t// \\t\\\"prefix\\\": \\\"log\\\",\\n\\t// \\t\\\"body\\\": [\\n\\t// \\t\\t\\\"console.log('$1');\\\",\\n\\t// \\t\\t\\\"$2\\\"\\n\\t// \\t],\\n\\t// \\t\\\"description\\\": \\\"Log output to console\\\"\\n\\t// }\\n\\t\\\"Setup and Draw\\\": {\\n\\t\\t\\\"prefix\\\": \\\"init\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"void setup(){\\\",\\n\\t\\t\\t\\\"$1\\\",\\n\\t\\t\\t\\\"}\\\",\\n\\t\\t\\t\\\"void draw(){\\\",\\n\\t\\t\\t\\\"\\\",\\n\\t\\t\\t\\\"}\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Initial Code for Processing Program\\\"\\n\\t}\\n}\"},\"snippets/php.json\":{\"content\":\"{\\n/*\\n\\t // Place your snippets for PHP here. Each snippet is defined under a snippet name and has a prefix, body and \\n\\t // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\\n\\t // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \\n\\t // same ids are connected.\\n\\t // Example:\\n\\t \\\"Print to console\\\": {\\n\\t\\t\\\"prefix\\\": \\\"log\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"console.log('$1');\\\",\\n\\t\\t\\t\\\"$2\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Log output to console\\\"\\n\\t}\\n*/\\n\\n\\\"Echo shortcut\\\": {\\n\\t\\\"prefix\\\": \\\"echo\\\",\\n\\t\\\"body\\\": [\\n\\t\\t\\\"<?= $1 ?>\\\"\\n\\t],\\n\\t\\\"description\\\": \\\"Echo shortcuts\\\"\\n}\\n\\n}\"},\"snippets/python.json\":{\"content\":\"{\\n/*\\n\\t// Place your snippets for Python here. Each snippet is defined under a snippet name and has a prefix, body and \\n\\t// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\\n\\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the \\n\\t// same ids are connected.\\n\\t// Example:\\n\\t\\\"Print to console\\\": {\\n\\t\\t\\\"prefix\\\": \\\"log\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"console.log('$1');\\\",\\n\\t\\t\\t\\\"$2\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Log output to console\\\"\\n\\t}\\n*/\\n}\"},\"snippets/sass.json\":{\"content\":\"{\\n/*\\n\\t // Place your snippets for Sass here. Each snippet is defined under a snippet name and has a prefix, body and \\n\\t // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:\\n\\t // $1, $2 for tab stops, ${id} and ${id:label} and ${1:label} for variables. Variables with the same id are connected.\\n\\t // Example:\\n\\t \\\"Print to console\\\": {\\n\\t\\t\\\"prefix\\\": \\\"log\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"console.log('$1');\\\",\\n\\t\\t\\t\\\"$2\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Log output to console\\\"\\n\\t}\\n*/\\n}\"},\"snippets/tab.code-snippets\":{\"content\":\"{\\n\\t\\\"6 E\\\": {\\n\\t\\t\\\"scope\\\": \\\"markdown\\\",\\n\\t\\t\\\"prefix\\\": \\\"tab\\\",\\n\\t\\t\\\"body\\\": [\\n      \\\"E |-----------------------\\\",\\n      \\\"B |-----------------------\\\",\\n      \\\"G |-----------------------\\\",\\n      \\\"D |-----------------------\\\",\\n      \\\"A |-----------------------\\\",\\n      \\\"E |-----------------------\\\",\\n      \\\"\\\",\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"\\\"\\n   },\\n   \\n   \\\"7 drop Ab\\\": {\\n\\t\\t\\\"scope\\\": \\\"markdown\\\",\\n\\t\\t\\\"prefix\\\": \\\"tab\\\",\\n\\t\\t\\\"body\\\": [\\n      \\\"Eb|-----------------------\\\",\\n      \\\"Bb|-----------------------\\\",\\n      \\\"Gb|-----------------------\\\",\\n      \\\"Db|-----------------------\\\",\\n      \\\"Ab|-----------------------\\\",\\n      \\\"Eb|-----------------------\\\",\\n      \\\"Ab|-----------------------\\\",\\n      \\\"\\\",\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"\\\"\\n\\t}\\n}\\n\"},\"snippets/test.code-snippets\":{\"content\":\"{\\n\\t// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and \\n\\t// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope \\n\\t// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is \\n\\t// used to trigger the snippet and the body will be expanded and inserted. Possible variables are: \\n\\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. \\n\\t// Placeholders with the same ids are connected.\\n\\t// Example:\\n\\t// \\\"Print to console\\\": {\\n\\t// \\t\\\"scope\\\": \\\"javascript,typescript\\\",\\n\\t// \\t\\\"prefix\\\": \\\"log\\\",\\n\\t// \\t\\\"body\\\": [\\n\\t// \\t\\t\\\"console.log('$1');\\\",\\n\\t// \\t\\t\\\"$2\\\"\\n\\t// \\t],\\n\\t// \\t\\\"description\\\": \\\"Log output to console\\\"\\n\\t// }\\n}\"},\"snippets/zeroToApp.code-snippets\":{\"content\":\"{\\n\\t// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and \\n\\t// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope \\n\\t// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is \\n\\t// used to trigger the snippet and the body will be expanded and inserted. Possible variables are: \\n\\t// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. \\n\\t// Placeholders with the same ids are connected.\\n\\t// Example:\\n\\t\\\"Sign in with google\\\": {\\n\\t\\t\\\"scope\\\": \\\"typescript\\\",\\n\\t\\t\\\"prefix\\\": \\\"z.signIn\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"signIn() {\\\",\\n\\t\\t\\t\\\"  this.afAuth.auth.signInWithPopup(new auth.GoogleAuthProvider())\\\",\\n\\t\\t\\t\\\"    .then(() => {\\\",\\n\\t\\t\\t\\\"      this.zone.run(() => this.router.navigateByUrl('/hometown'));\\\",\\n\\t\\t\\t\\\"    }, err => console.error('Error signing in', err));\\\",\\n\\t\\t\\t\\\"}\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"sign into google auth\\\"\\n\\t},\\n\\t\\\"Sign in markup\\\": {\\n\\t\\t\\\"scope\\\": \\\"html\\\",\\n\\t\\t\\\"prefix\\\": \\\"z.markup.login\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"<p>\\\",\\n      \\\"  <span *ngIf=\\\\\\\"userService.afAuth.user | async as user; else showLogin\\\\\\\">{{ user.displayName }} • <a href (click)=\\\\\\\"userService.logout()\\\\\\\">Log out</a> • </span>\\\",\\n      \\\"  <ng-template #showLogin><a href routerLink=\\\\\\\"/login\\\\\\\" routerLinkActive=\\\\\\\"active\\\\\\\">Login to add your hometown</a> • </ng-template>\\\",\\n      \\\"  <a href routerLink=\\\\\\\"/hometown\\\\\\\" routerLinkActive=\\\\\\\"active\\\\\\\">My hometown</a>\\\",\\n    \\t\\\"</p>\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"sign in markup\\\"\\n\\t},\\n\\t\\\"Is logged in\\\": {\\n\\t\\t\\\"scope\\\": \\\"typescript\\\",\\n\\t\\t\\\"prefix\\\": \\\"z.isloggedin\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"isLoggedIn(withRedirect?: boolean): Observable<boolean> {\\\",\\n\\t\\t\\t\\\"  return this.afAuth.authState.pipe(\\\",\\n\\t\\t\\t\\\"    first(),\\\",\\n\\t\\t\\t\\\"    map(user => {\\\",\\n\\t\\t\\t\\\"      this.currentUser = user;\\\",\\n\\t\\t\\t\\\"      return !!user;\\\",\\n\\t\\t\\t\\\"    }),\\\",\\n\\t\\t\\t\\\"    tap(isLoggedIn => {\\\",\\n\\t\\t\\t\\\"      if (!isLoggedIn && withRedirect) {\\\",\\n\\t\\t\\t\\\"        this.router.navigateByUrl('/login');\\\",\\n\\t\\t\\t\\\"      }\\\",\\n\\t\\t\\t\\\"    })\\\",\\n\\t\\t\\t\\\"  );\\\",\\n\\t\\t\\t\\\"}\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"is logged in function\\\"\\n\\t},\\n\\t\\\"Map click\\\": {\\n\\t\\t\\\"scope\\\": \\\"typescript\\\",\\n\\t\\t\\\"prefix\\\": \\\"z.mapClick\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"setHometown(event: MouseEvent) {\\\",\\n\\t\\t\\t\\\"  this.userService.isLoggedIn().subscribe(isLoggedIn => {\\\",\\n\\t\\t\\t\\\"    if (isLoggedIn) {\\\",\\n\\t\\t\\t\\\"      const marker: MapMarker = {\\\",\\n\\t\\t\\t\\\"        lat: event.coords.lat,\\\",\\n\\t\\t\\t\\\"        lng: event.coords.lng,\\\",\\n\\t\\t\\t\\\"        label: this.userService.currentUser.displayName,\\\",\\n\\t\\t\\t\\\"        photoUrl: this.userService.currentUser.photoURL\\\",\\n\\t\\t\\t\\\"      };\\\",\\n\\t\\t\\t\\\"      this.afs.doc(`hometowns/${this.userService.currentUser.uid}`).set(marker);\\\",\\n\\t\\t\\t\\\"    }\\\",\\n\\t\\t\\t\\\"  });\\\",\\n\\t\\t\\t\\\"}\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"guts of map click function\\\"\\n\\t},\\n\\t\\\"Hometown markup\\\": {\\n\\t\\t\\\"scope\\\": \\\"html\\\",\\n\\t\\t\\\"prefix\\\": \\\"z.markup.hometown\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"<h4>My hometown coordinates</h4>\\\",\\n\\t\\t\\t\\\"<p *ngIf=\\\\\\\"userMarker$ | async as marker; else showChoose\\\\\\\">lat: {{ marker.lat }}<br>lng: {{ marker.lng }}</p>\\\",\\n\\t\\t\\t\\\"<ng-template #showChoose>\\\",\\n\\t\\t\\t\\\"  <p>Click your hometown on the map!</p>\\\",\\n\\t\\t\\t\\\"</ng-template>\\\",\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Markup for hometown component\\\"\\n\\t},\\n\\t\\\"Marker Interface\\\": {\\n\\t\\t\\\"scope\\\": \\\"typescript\\\",\\n\\t\\t\\\"prefix\\\": \\\"z.marker.interface\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"export interface MapMarker {\\\",\\n\\t\\t\\t\\\"  lat: number;\\\",\\n\\t\\t\\t\\\"  lng: number;\\\",\\n\\t\\t\\t\\\"  label: string;\\\",\\n\\t\\t\\t\\\"  photoUrl: string;\\\",\\n\\t\\t\\t\\\"}\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"agm map markers\\\"\\n\\t},\\n\\t\\\"Map Markers\\\": {\\n\\t\\t\\\"scope\\\": \\\"html\\\",\\n\\t\\t\\\"prefix\\\": \\\"z.markup.marker\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"<agm-marker *ngFor=\\\\\\\"let marker of markers$ | async\\\\\\\" [latitude]=\\\\\\\"marker.lat\\\\\\\" [longitude]=\\\\\\\"marker.lng\\\\\\\">\\\",\\n\\t\\t\\t\\\"  <agm-info-window><img src=\\\\\\\"{{ marker.photoUrl }}\\\\\\\">{{ marker.label }}</agm-info-window>\\\",\\n\\t\\t\\t\\\"</agm-marker>\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"agm map markers\\\"\\n\\t},\\n\\t\\\"Map styles\\\": {\\n\\t\\t\\\"scope\\\": \\\"css, scss\\\",\\n\\t\\t\\\"prefix\\\": \\\"z.styles.map\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\".agm-info-window-content {\\\",\\n\\t\\t\\t\\\"  text-align: center;\\\",\\n\\t\\t\\t\\\"  img {\\\",\\n\\t\\t\\t\\\"    display: block;\\\",\\n\\t\\t\\t\\\"    margin: auto;\\\",\\n\\t\\t\\t\\\"    width: 60px;\\\",\\n\\t\\t\\t\\\"    border-radius: 50%;\\\",\\n\\t\\t\\t\\\"  }\\\",\\n\\t\\t\\t\\\"}\\\",\\t\\t\\t\\n\\t\\t\\t\\\".sidebar {\\\",\\n\\t\\t\\t\\\"  position: absolute;\\\",\\n\\t\\t\\t\\\"  z-index: 1;\\\",\\n\\t\\t\\t\\\"  top: 0;\\\",\\n\\t\\t\\t\\\"  left: 0;\\\",\\n\\t\\t\\t\\\"  .floating-box {\\\",\\n\\t\\t\\t\\\"    margin: 20px;\\\",\\n\\t\\t\\t\\\"    padding: 15px;\\\",\\n\\t\\t\\t\\\"    width: 400px;\\\",\\n\\t\\t\\t\\\"    background: ivory;\\\",\\n\\t\\t\\t\\\"    box-shadow: -6px 6px rgba(0,0,0,.2);\\\",\\n\\t\\t\\t\\\"    text-align: center;\\\",\\t\\t\\t\\n\\t\\t\\t\\\"    button {\\\",\\n\\t\\t\\t\\\"      font-size: 1.2em;\\\",\\n\\t\\t\\t\\\"    }\\\",\\n\\t\\t\\t\\\"  }\\\",\\n\\t\\t\\t\\\"}\\\",\\n\\t\\t\\t\\\"@media (max-width: 576px) {\\\",\\n\\t\\t\\t\\\"  .sidebar {\\\",\\n\\t\\t\\t\\\"    width: 100%;\\\",\\n\\t\\t\\t\\\"    .floating-box {\\\",\\n\\t\\t\\t\\\"      padding: 10px;\\\",\\n\\t\\t\\t\\\"      margin: 0 0 6px 0;\\\",\\n\\t\\t\\t\\\"      width: 100%;\\\",\\n\\t\\t\\t\\\"      box-shadow: 0 6px rgba(0,0,0,.2);\\\",\\n\\t\\t\\t\\\"      box-sizing: border-box;\\\",\\n\\t\\t\\t\\\"    }\\\",\\n\\t\\t\\t\\\"  }\\\",\\n\\t\\t\\t\\\"}\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"map styles\\\"\\n\\t},\\n\\t\\\"Map component imports\\\": {\\n\\t\\t\\\"scope\\\": \\\"typescript\\\",\\n\\t\\t\\\"prefix\\\": \\\"z.i.map\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"import { MouseEvent } from '@agm/core';\\\",\\n\\t\\t\\t\\\"import { AngularFirestore } from 'angularfire2/firestore';\\\",\\n\\t\\t\\t\\\"import { Observable } from 'rxjs';\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Map component non-local imports\\\"\\n\\t},\\n\\t\\\"User service imports\\\": {\\n\\t\\t\\\"scope\\\": \\\"typescript\\\",\\n\\t\\t\\\"prefix\\\": \\\"z.i.user\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"import { AngularFireAuth } from 'angularfire2/auth';\\\",\\n\\t\\t\\t\\\"import { auth } from 'firebase/app';\\\",\\t\\t\\t\\n\\t\\t\\t\\\"import { first, map, tap } from 'rxjs/operators';\\\",\\n\\t\\t\\t\\\"import { Router } from '@angular/router';\\\",\\n\\t\\t\\t\\\"import { Observable } from 'rxjs';\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"User service non-local imports\\\"\\n\\t},\\n\\t\\\"Hometown component imports\\\": {\\n\\t\\t\\\"scope\\\": \\\"typescript\\\",\\n\\t\\t\\\"prefix\\\": \\\"z.i.hometown\\\",\\n\\t\\t\\\"body\\\": [\\n\\t\\t\\t\\\"import { AngularFirestore } from 'angularfire2/firestore';\\\",\\n\\t\\t\\t\\\"import { Observable } from 'rxjs';\\\"\\n\\t\\t],\\n\\t\\t\\\"description\\\": \\\"Hometown component non-local imports\\\"\\n\\t}\\n}\"}}}","request":{"validate":{"description":{"type":"string"},"files":{"type":"object"},"files.content":{"type":"string"},"files.filename":{"type":"string"},"gist_id":{"required":true,"type":"string"}}}},"errors":[{"resource":"Gist","code":"invalid","field":"files"}],"documentation_url":"https://developer.github.com/v3/gists/#edit-a-gist"}

Code :

    const gistDetail: any = {
      gist_id: gistObject.id,
      description: gistObject.description,
      files: gistObject.files
    };
    const promise = this.github.gists.update(gistDetail);
gr2m commented 5 years ago

Can you try to use this.github.request('PATCH /gists/:gist_id', gistDetail) instead? I think we have have incorrect parameter validations for the Gist Update route:

https://github.com/octokit/rest.js/blob/6b4a5d77d8f960fa727c65f2e91a01f38b3aa3fc/plugins/rest-api-endpoints/routes.json#L1774-L1795

shanalikhan commented 5 years ago

Yes request works.

So this is a bug. When you think it will be fixed.

gr2m commented 5 years ago

I don't know, it is not a priority right now, I will update the issue as soon as we get it resolved.