Skip to content

update fork#3

Merged
cleidigh merged 149 commits intocleidigh:masterfrom
microsoft:master
Mar 17, 2017
Merged

update fork#3
cleidigh merged 149 commits intocleidigh:masterfrom
microsoft:master

Conversation

@cleidigh
Copy link
Owner

No description provided.

misoguy and others added 30 commits March 5, 2017 19:50
Fixes #22494

**Bug**
References without a definition can cause the markdown table of contents provider to break

**Fix**
Pass in an empty environment to markdown-it `parse` to prevent the null dereference on invalid links.
Add Command for navigating around visible editors/viewlets/repl
aeschli and others added 26 commits March 16, 2017 11:14
- Use List widget to render keybindings
- Open default keybindings while opening keybindings file like before
- Define keybinding action with keyboard shortcut
- Search keybindings action with keyboard shortcut
- Register keybinding for remove action
- Make other actions as just keybinding actions
- Down arrow to navigate from search to list
- Do not navigate by Enter from search box
#22421)

* Prototype Allowing Extensions to Extend the Builtin Markdown Extension

**Problem**
There have been requests for adding new functionality to the markdown extension preview, such as supporting rendering of math or other syntax in the preview. The only current solution to this is create an extension that provides its own markdown preview. This results in inconsitent behavior with our markdown preview and is not a very scalable approach. We would like to find a way to allow users to add these extensions to our markdown preview without bundling the extensions in the preview itself.

**Fix**
Prototypes a new contribution point that extensions can use to extend the vscode markdown extension. Three types of extensions are possible: adding stypes to the preview, adding scripts to the preview, and extending the markdown it renderer.

My current approach defines the contributed markdown extensions in the package.json using a structure like this:

```
  "contributesTo": {
    "vscode.markdown": {
      "plugins": [
        "./out/math"
      ],
      "scripts": [],
      "styles": [
        "./media/math.css"
      ]
    }
  }
```

We could change the structure here. This design uses a pull model where markdown extensions are looked up by the vscode.markdown extension itself.

The other approach for extension registration would be to use a push model. This would have the vscode.markdown extension export an api that each markdown extension would invoke to register new scripts/styles/plugins. I may switch over to this model but was interested in seeing what a more declarative approach would look like. Let me know if you have any thoughts one way or the other.

The downside of allowing extensions like this is that they can completely change how the markdown preview looks and works. There is no well defined API for restricting what extensions can do like we have with VScode.

* Use extensionDependencies

* Remove example extension

* Added gating and activation event
@cleidigh cleidigh merged commit 6460b7b into cleidigh:master Mar 17, 2017
cleidigh pushed a commit that referenced this pull request Aug 5, 2017
cleidigh pushed a commit that referenced this pull request Oct 4, 2018
cleidigh pushed a commit that referenced this pull request May 27, 2019
update master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.