├── .github └── workflows │ └── release.yml ├── .gitignore ├── .vscode └── settings.json ├── CHANGELOG.md ├── README.md ├── icon.png ├── package-lock.json └── package.json /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | release: 5 | types: 6 | - created 7 | 8 | jobs: 9 | Release: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v2 14 | - name: Install Node.js 15 | uses: actions/setup-node@v1 16 | with: 17 | node-version: 14.x 18 | - run: npm install 19 | - name: Publish to VS Marketplace 20 | run: npx vsce publish 21 | env: 22 | VSCE_PAT: ${{ secrets.VSCE_PAT }} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.vsix -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "gitdoc.enabled": false 3 | } -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.0.11 (08/22/2021) 2 | 3 | - Adding [WikiLens](https://aka.ms/wikilens) as a new dependency 4 | 5 | ## v0.0.10 (07/23/2021) 6 | 7 | - Reintroducing Drawio as a child dependency 8 | 9 | ## v0.0.9 (07/06/2021) 10 | 11 | - Removed GitDoc and Drawio as child dependencies 12 | 13 | ## v0.0.8 (07/06/2021) 14 | 15 | - Correctly set the extension kind 16 | 17 | ## v0.0.7 (04/07/2021) 18 | 19 | - Added the [Draw.io](https://marketplace.visualstudio.com/items?itemName=hediet.vscode-drawio) extension to the pack 📊 20 | 21 | ## v0.0.6 (03/21/2021) 22 | 23 | - Added Twitter links for the "inception" of each project within the pack 24 | 25 | ## v0.0.5 (03/21/2021) 26 | 27 | - Improved the premise definition 28 | 29 | ## v0.0.4 (03/20/2021) 30 | 31 | - Add more gif examples 32 | 33 | ## v0.0.3 (03/20/2021) 34 | 35 | - Added link for office hours calendar 36 | 37 | ## v0.0.2 (03/20/2021) 38 | 39 | - Improve `README` description for included extensions 40 | 41 | ## v0.0.1 (03/20/2021) 42 | 43 | 🚀 Initial release! 44 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 🧠 Thinking in Code 2 | 3 | _Thinking in Code_ is a curated set of VS Code extensions, which collectively seek to provide a [learning environment](http://worrydream.com/#!/LearnableProgramming) that can improve the comprehension & [interactivity](https://blog.ncase.me/curse-of-the-chocolate-covered-broccoli-or-emotion-in-learning/) of code, support the management of code-centric [knowledge bases](https://thesweetsetup.com/pkm-intro-for-creatives/) / [digital gardens](https://maggieappleton.com/garden-history/), and help developers ["think better"](https://alistapart.com/article/writing-is-thinking/) as part of their daily routine. Maybe, just maybe, it can help make your development experience more fun 🎢 4 | 5 | | Included extension | How can it help? | 6 | |-|-| 7 | | 🗺️ [CodeTour](https://aka.ms/codetour) - Record and playback guided tutorials for codebases (aka "tours").

|
  1. Like a table-of-contents for your codebases
  2. Enables easier onboarding/knowledge sharing
  3. Documentation is provided where developers actually work: their editor.
  4. Tours are interactive, and can automate commands, inject code snippets, run shell commands and more!
  5. GUI recorder makes it easy to author and maintain tours (let's make writing fun!)
| 8 | | 💃 [CodeSwing](https://aka.ms/codeswing) - An interactive coding environment for building web applications playgrounds (aka "swings").

|
  1. Provides an interactive, CodePen-like playground, with a super rich live preview
  2. Supports all popular [web languages](https://marketplace.visualstudio.com/items?itemName=codespaces-Contrib.codeswing#language-support) (e.g. TypeScript, Scss) and [component libraries](https://marketplace.visualstudio.com/items?itemName=codespaces-Contrib.codeswing#components) (e.g. React, Svelte, Vue)
  3. Works offline, and your code can be stored anywhere
  4. Swings can be saved and shared using GitHub Gists (see below)
  5. Create and edit playgrounds, without sacrificing your personalized editor setup (e.g. theme, keybinding,
| 9 | | 📘 [GistPad](https://aka.ms/gistpad) - Manage and access developer notes and code snippets, stored as GitHub Gists and repos.
|
  1. Allows you to capture todos, journals and [daily notes](https://marketplace.visualstudio.com/items?itemName=vsls-contrib.gistfs#scratch-notes), so you can stay organized from your editor
  2. Easily store and access code snippets, to surpercharge your workflow
  3. Review and commment on gists and repos via [editor-integrated commenting](https://marketplace.visualstudio.com/items?itemName=vsls-contrib.gistfs#gist-commenting)
  4. You own your data, and you can make use of VS Code's amazing ecosystem of extensions
| 10 | | 🔎 [WikiLens](https://aka.ms/wikilens) - Provides a rich markdown-based notetaking experience for GitHub repos.
|
  1. Supports Roam/Obsidian-like wikis, including `[[references]]` and `#tags`
  2. Allows viewing and navigation backlinks via a `Wiki` file tree and inline comment view.
  3. Can embed pages into files, in order to compose your documents however you'd like.
  4. You own your data, and you can make use of VS Code's amazing ecosystem of extensions
| 11 | | 📊 [Draw.io](https://marketplace.visualstudio.com/items?itemName=hediet.vscode-drawio) - View and edit rich diagrams directly within the editor.

|
  1. Create diagrams, using a fully offline canvas, that's themed to match your editor preferences
  2. Allows you to create SVGs or PNGs, so that your diagrams can be embedded into other documents
  3. You can link nodes/edges on the diagram to spans of code
  4. Provides a fully real-time collaboration experience (see below)
| 12 | 14 | 15 | ## 🧑‍🤝‍🧑 [Think Different](https://en.m.wikipedia.org/wiki/Think_different), [But Together](http://aka.ms/vsls-why) 16 | 17 | While thinking requires focus, learning can benefit from collaboration with others. As a result, every extension in this collection is collaborative by default, and provides rich integration with [Live Share](https://aka.ms/vsls) (real-time co-editing and debugging for VS Code). This makes it easy to incorporate these writing/thinking experiences into your existing [collaborative workflows](https://aka.ms/vsls-usecases). 18 | 19 | | Extension | Collaborative experience | 20 | |-|-| 21 | | 🗺️ [CodeTour](https://aka.ms/codetour) | When you start or navigate a tour, all participants will automatically follow along with you. This makes it easier to use code tours for onboarding/mentoring others on the team. | 22 | | 💃 [CodeSwing](https://aka.ms/codeswing) | When you open a swing, all participants will automatically open the same one. This allows you to share and co-edit a swing as a real-time collaborative playground. 23 | | 📘 [GistPad](https://aka.ms/gistpad) | Whe you open a gist-backed file, Live Share allows you to collaborate on it with other developers, as long as you have the `Live Share: Share External Files` setting enabled. | 24 | | 🔎 [WikiLens](https://aka.ms/wikilens) | If the guest had WikiLens installed, they'd be able to see and navigate the `Wiki` view along with the host. | 25 | | 📊 [Draw.io](https://marketplace.visualstudio.com/items?itemName=hediet.vscode-drawio) | Participants can open a `*.drawio` file, and see their cursors and edits in real-time. This enables a rich, whiteboard-like experience, that can enrich your pair programming sessions. | 26 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lostintangent/thinking-in-code/3da69d2b6903932c3b0df0938597978890221231/icon.png -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "thinking-in-code", 3 | "version": "0.0.10", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "ansi-styles": { 8 | "version": "3.2.1", 9 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 10 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 11 | "dev": true, 12 | "requires": { 13 | "color-convert": "^1.9.0" 14 | } 15 | }, 16 | "argparse": { 17 | "version": "1.0.10", 18 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 19 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 20 | "dev": true, 21 | "requires": { 22 | "sprintf-js": "~1.0.2" 23 | } 24 | }, 25 | "azure-devops-node-api": { 26 | "version": "10.2.2", 27 | "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-10.2.2.tgz", 28 | "integrity": "sha512-4TVv2X7oNStT0vLaEfExmy3J4/CzfuXolEcQl/BRUmvGySqKStTG2O55/hUQ0kM7UJlZBLgniM0SBq4d/WkKow==", 29 | "dev": true, 30 | "requires": { 31 | "tunnel": "0.0.6", 32 | "typed-rest-client": "^1.8.4" 33 | } 34 | }, 35 | "balanced-match": { 36 | "version": "1.0.2", 37 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 38 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 39 | "dev": true 40 | }, 41 | "boolbase": { 42 | "version": "1.0.0", 43 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 44 | "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", 45 | "dev": true 46 | }, 47 | "brace-expansion": { 48 | "version": "1.1.11", 49 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 50 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 51 | "dev": true, 52 | "requires": { 53 | "balanced-match": "^1.0.0", 54 | "concat-map": "0.0.1" 55 | } 56 | }, 57 | "buffer-crc32": { 58 | "version": "0.2.13", 59 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 60 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", 61 | "dev": true 62 | }, 63 | "call-bind": { 64 | "version": "1.0.2", 65 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 66 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 67 | "dev": true, 68 | "requires": { 69 | "function-bind": "^1.1.1", 70 | "get-intrinsic": "^1.0.2" 71 | } 72 | }, 73 | "chalk": { 74 | "version": "2.4.2", 75 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 76 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 77 | "dev": true, 78 | "requires": { 79 | "ansi-styles": "^3.2.1", 80 | "escape-string-regexp": "^1.0.5", 81 | "supports-color": "^5.3.0" 82 | } 83 | }, 84 | "cheerio": { 85 | "version": "1.0.0-rc.10", 86 | "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", 87 | "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", 88 | "dev": true, 89 | "requires": { 90 | "cheerio-select": "^1.5.0", 91 | "dom-serializer": "^1.3.2", 92 | "domhandler": "^4.2.0", 93 | "htmlparser2": "^6.1.0", 94 | "parse5": "^6.0.1", 95 | "parse5-htmlparser2-tree-adapter": "^6.0.1", 96 | "tslib": "^2.2.0" 97 | } 98 | }, 99 | "cheerio-select": { 100 | "version": "1.5.0", 101 | "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz", 102 | "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==", 103 | "dev": true, 104 | "requires": { 105 | "css-select": "^4.1.3", 106 | "css-what": "^5.0.1", 107 | "domelementtype": "^2.2.0", 108 | "domhandler": "^4.2.0", 109 | "domutils": "^2.7.0" 110 | } 111 | }, 112 | "color-convert": { 113 | "version": "1.9.3", 114 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 115 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 116 | "dev": true, 117 | "requires": { 118 | "color-name": "1.1.3" 119 | } 120 | }, 121 | "color-name": { 122 | "version": "1.1.3", 123 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 124 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 125 | "dev": true 126 | }, 127 | "commander": { 128 | "version": "6.2.1", 129 | "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", 130 | "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", 131 | "dev": true 132 | }, 133 | "concat-map": { 134 | "version": "0.0.1", 135 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 136 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 137 | "dev": true 138 | }, 139 | "css-select": { 140 | "version": "4.1.3", 141 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", 142 | "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", 143 | "dev": true, 144 | "requires": { 145 | "boolbase": "^1.0.0", 146 | "css-what": "^5.0.0", 147 | "domhandler": "^4.2.0", 148 | "domutils": "^2.6.0", 149 | "nth-check": "^2.0.0" 150 | } 151 | }, 152 | "css-what": { 153 | "version": "5.0.1", 154 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", 155 | "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", 156 | "dev": true 157 | }, 158 | "denodeify": { 159 | "version": "1.2.1", 160 | "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", 161 | "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=", 162 | "dev": true 163 | }, 164 | "dom-serializer": { 165 | "version": "1.3.2", 166 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", 167 | "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", 168 | "dev": true, 169 | "requires": { 170 | "domelementtype": "^2.0.1", 171 | "domhandler": "^4.2.0", 172 | "entities": "^2.0.0" 173 | } 174 | }, 175 | "domelementtype": { 176 | "version": "2.2.0", 177 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", 178 | "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", 179 | "dev": true 180 | }, 181 | "domhandler": { 182 | "version": "4.2.0", 183 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", 184 | "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", 185 | "dev": true, 186 | "requires": { 187 | "domelementtype": "^2.2.0" 188 | } 189 | }, 190 | "domutils": { 191 | "version": "2.7.0", 192 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", 193 | "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", 194 | "dev": true, 195 | "requires": { 196 | "dom-serializer": "^1.0.1", 197 | "domelementtype": "^2.2.0", 198 | "domhandler": "^4.2.0" 199 | } 200 | }, 201 | "entities": { 202 | "version": "2.2.0", 203 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 204 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", 205 | "dev": true 206 | }, 207 | "escape-string-regexp": { 208 | "version": "1.0.5", 209 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 210 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 211 | "dev": true 212 | }, 213 | "fd-slicer": { 214 | "version": "1.1.0", 215 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 216 | "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", 217 | "dev": true, 218 | "requires": { 219 | "pend": "~1.2.0" 220 | } 221 | }, 222 | "fs.realpath": { 223 | "version": "1.0.0", 224 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 225 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 226 | "dev": true 227 | }, 228 | "function-bind": { 229 | "version": "1.1.1", 230 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 231 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 232 | "dev": true 233 | }, 234 | "get-intrinsic": { 235 | "version": "1.1.1", 236 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", 237 | "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", 238 | "dev": true, 239 | "requires": { 240 | "function-bind": "^1.1.1", 241 | "has": "^1.0.3", 242 | "has-symbols": "^1.0.1" 243 | } 244 | }, 245 | "glob": { 246 | "version": "7.1.7", 247 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", 248 | "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", 249 | "dev": true, 250 | "requires": { 251 | "fs.realpath": "^1.0.0", 252 | "inflight": "^1.0.4", 253 | "inherits": "2", 254 | "minimatch": "^3.0.4", 255 | "once": "^1.3.0", 256 | "path-is-absolute": "^1.0.0" 257 | } 258 | }, 259 | "has": { 260 | "version": "1.0.3", 261 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 262 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 263 | "dev": true, 264 | "requires": { 265 | "function-bind": "^1.1.1" 266 | } 267 | }, 268 | "has-flag": { 269 | "version": "3.0.0", 270 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 271 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 272 | "dev": true 273 | }, 274 | "has-symbols": { 275 | "version": "1.0.2", 276 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", 277 | "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", 278 | "dev": true 279 | }, 280 | "htmlparser2": { 281 | "version": "6.1.0", 282 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", 283 | "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", 284 | "dev": true, 285 | "requires": { 286 | "domelementtype": "^2.0.1", 287 | "domhandler": "^4.0.0", 288 | "domutils": "^2.5.2", 289 | "entities": "^2.0.0" 290 | } 291 | }, 292 | "inflight": { 293 | "version": "1.0.6", 294 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 295 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 296 | "dev": true, 297 | "requires": { 298 | "once": "^1.3.0", 299 | "wrappy": "1" 300 | } 301 | }, 302 | "inherits": { 303 | "version": "2.0.4", 304 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 305 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 306 | "dev": true 307 | }, 308 | "leven": { 309 | "version": "3.1.0", 310 | "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", 311 | "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", 312 | "dev": true 313 | }, 314 | "linkify-it": { 315 | "version": "2.2.0", 316 | "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", 317 | "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", 318 | "dev": true, 319 | "requires": { 320 | "uc.micro": "^1.0.1" 321 | } 322 | }, 323 | "lodash": { 324 | "version": "4.17.21", 325 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 326 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 327 | "dev": true 328 | }, 329 | "markdown-it": { 330 | "version": "10.0.0", 331 | "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", 332 | "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", 333 | "dev": true, 334 | "requires": { 335 | "argparse": "^1.0.7", 336 | "entities": "~2.0.0", 337 | "linkify-it": "^2.0.0", 338 | "mdurl": "^1.0.1", 339 | "uc.micro": "^1.0.5" 340 | }, 341 | "dependencies": { 342 | "entities": { 343 | "version": "2.0.3", 344 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", 345 | "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", 346 | "dev": true 347 | } 348 | } 349 | }, 350 | "mdurl": { 351 | "version": "1.0.1", 352 | "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", 353 | "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", 354 | "dev": true 355 | }, 356 | "mime": { 357 | "version": "1.6.0", 358 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 359 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 360 | "dev": true 361 | }, 362 | "minimatch": { 363 | "version": "3.0.4", 364 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 365 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 366 | "dev": true, 367 | "requires": { 368 | "brace-expansion": "^1.1.7" 369 | } 370 | }, 371 | "mute-stream": { 372 | "version": "0.0.8", 373 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", 374 | "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", 375 | "dev": true 376 | }, 377 | "nth-check": { 378 | "version": "2.0.0", 379 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", 380 | "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", 381 | "dev": true, 382 | "requires": { 383 | "boolbase": "^1.0.0" 384 | } 385 | }, 386 | "object-inspect": { 387 | "version": "1.10.3", 388 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", 389 | "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", 390 | "dev": true 391 | }, 392 | "once": { 393 | "version": "1.4.0", 394 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 395 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 396 | "dev": true, 397 | "requires": { 398 | "wrappy": "1" 399 | } 400 | }, 401 | "os-homedir": { 402 | "version": "1.0.2", 403 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 404 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 405 | "dev": true 406 | }, 407 | "os-tmpdir": { 408 | "version": "1.0.2", 409 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 410 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 411 | "dev": true 412 | }, 413 | "osenv": { 414 | "version": "0.1.5", 415 | "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", 416 | "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", 417 | "dev": true, 418 | "requires": { 419 | "os-homedir": "^1.0.0", 420 | "os-tmpdir": "^1.0.0" 421 | } 422 | }, 423 | "parse-semver": { 424 | "version": "1.1.1", 425 | "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", 426 | "integrity": "sha1-mkr9bfBj3Egm+T+6SpnPIj9mbLg=", 427 | "dev": true, 428 | "requires": { 429 | "semver": "^5.1.0" 430 | } 431 | }, 432 | "parse5": { 433 | "version": "6.0.1", 434 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", 435 | "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", 436 | "dev": true 437 | }, 438 | "parse5-htmlparser2-tree-adapter": { 439 | "version": "6.0.1", 440 | "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", 441 | "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", 442 | "dev": true, 443 | "requires": { 444 | "parse5": "^6.0.1" 445 | } 446 | }, 447 | "path-is-absolute": { 448 | "version": "1.0.1", 449 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 450 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 451 | "dev": true 452 | }, 453 | "pend": { 454 | "version": "1.2.0", 455 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 456 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", 457 | "dev": true 458 | }, 459 | "qs": { 460 | "version": "6.10.1", 461 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", 462 | "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", 463 | "dev": true, 464 | "requires": { 465 | "side-channel": "^1.0.4" 466 | } 467 | }, 468 | "read": { 469 | "version": "1.0.7", 470 | "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", 471 | "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", 472 | "dev": true, 473 | "requires": { 474 | "mute-stream": "~0.0.4" 475 | } 476 | }, 477 | "rimraf": { 478 | "version": "3.0.2", 479 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 480 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 481 | "dev": true, 482 | "requires": { 483 | "glob": "^7.1.3" 484 | } 485 | }, 486 | "semver": { 487 | "version": "5.7.1", 488 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 489 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 490 | "dev": true 491 | }, 492 | "side-channel": { 493 | "version": "1.0.4", 494 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 495 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 496 | "dev": true, 497 | "requires": { 498 | "call-bind": "^1.0.0", 499 | "get-intrinsic": "^1.0.2", 500 | "object-inspect": "^1.9.0" 501 | } 502 | }, 503 | "sprintf-js": { 504 | "version": "1.0.3", 505 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 506 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 507 | "dev": true 508 | }, 509 | "supports-color": { 510 | "version": "5.5.0", 511 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 512 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 513 | "dev": true, 514 | "requires": { 515 | "has-flag": "^3.0.0" 516 | } 517 | }, 518 | "tmp": { 519 | "version": "0.2.1", 520 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", 521 | "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", 522 | "dev": true, 523 | "requires": { 524 | "rimraf": "^3.0.0" 525 | } 526 | }, 527 | "tslib": { 528 | "version": "2.3.0", 529 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", 530 | "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", 531 | "dev": true 532 | }, 533 | "tunnel": { 534 | "version": "0.0.6", 535 | "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", 536 | "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", 537 | "dev": true 538 | }, 539 | "typed-rest-client": { 540 | "version": "1.8.4", 541 | "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.4.tgz", 542 | "integrity": "sha512-MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg==", 543 | "dev": true, 544 | "requires": { 545 | "qs": "^6.9.1", 546 | "tunnel": "0.0.6", 547 | "underscore": "^1.12.1" 548 | } 549 | }, 550 | "uc.micro": { 551 | "version": "1.0.6", 552 | "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", 553 | "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", 554 | "dev": true 555 | }, 556 | "underscore": { 557 | "version": "1.13.1", 558 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", 559 | "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==", 560 | "dev": true 561 | }, 562 | "url-join": { 563 | "version": "1.1.0", 564 | "resolved": "https://registry.npmjs.org/url-join/-/url-join-1.1.0.tgz", 565 | "integrity": "sha1-dBxsL0WWxIMNZxhGCSDQySIC3Hg=", 566 | "dev": true 567 | }, 568 | "vsce": { 569 | "version": "1.95.0", 570 | "resolved": "https://registry.npmjs.org/vsce/-/vsce-1.95.0.tgz", 571 | "integrity": "sha512-OiSrJRd9NT4t+MBVrTblHqo0pOGaoplHzEzSNOGnIsLxyRIqk4CYmoqUnjOrZf8DEalbALsFVTFbTJLeC1hAKA==", 572 | "dev": true, 573 | "requires": { 574 | "azure-devops-node-api": "^10.2.2", 575 | "chalk": "^2.4.2", 576 | "cheerio": "^1.0.0-rc.9", 577 | "commander": "^6.1.0", 578 | "denodeify": "^1.2.1", 579 | "glob": "^7.0.6", 580 | "leven": "^3.1.0", 581 | "lodash": "^4.17.15", 582 | "markdown-it": "^10.0.0", 583 | "mime": "^1.3.4", 584 | "minimatch": "^3.0.3", 585 | "osenv": "^0.1.3", 586 | "parse-semver": "^1.1.1", 587 | "read": "^1.0.7", 588 | "semver": "^5.1.0", 589 | "tmp": "^0.2.1", 590 | "typed-rest-client": "^1.8.4", 591 | "url-join": "^1.1.0", 592 | "yauzl": "^2.3.1", 593 | "yazl": "^2.2.2" 594 | } 595 | }, 596 | "wrappy": { 597 | "version": "1.0.2", 598 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 599 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 600 | "dev": true 601 | }, 602 | "yauzl": { 603 | "version": "2.10.0", 604 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 605 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", 606 | "dev": true, 607 | "requires": { 608 | "buffer-crc32": "~0.2.3", 609 | "fd-slicer": "~1.1.0" 610 | } 611 | }, 612 | "yazl": { 613 | "version": "2.5.1", 614 | "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", 615 | "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", 616 | "dev": true, 617 | "requires": { 618 | "buffer-crc32": "~0.2.3" 619 | } 620 | } 621 | } 622 | } 623 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "thinking-in-code", 3 | "displayName": "Thinking in Code", 4 | "publisher": "lostintangent", 5 | "description": "Collection of extensions to enable a richer environment for writing, thinking, and learning about code.", 6 | "icon": "icon.png", 7 | "version": "0.0.11", 8 | "repository": { 9 | "type": "git", 10 | "url": "https://github.com/lostintangent/thinking-in-code" 11 | }, 12 | "engines": { 13 | "vscode": "^1.51.0" 14 | }, 15 | "categories": [ 16 | "Extension Packs" 17 | ], 18 | "extensionKind": [ 19 | "ui", 20 | "workspace" 21 | ], 22 | "keywords": [ 23 | "learning", 24 | "gist", 25 | "playground", 26 | "notes" 27 | ], 28 | "extensionPack": [ 29 | "vsls-contrib.codetour", 30 | "vsls-contrib.gistfs", 31 | "codespaces-contrib.codeswing", 32 | "hediet.vscode-drawio", 33 | "lostintangent.wikilens" 34 | ], 35 | "devDependencies": { 36 | "vsce": "^1.95.0" 37 | }, 38 | "scripts": { 39 | "package": "vsce package" 40 | } 41 | } 42 | --------------------------------------------------------------------------------