Open
Conversation
This should work with a variety of older and newer versions of Jupyter. It tries to avoid clobbering any existing highlighting modes for SQL, but that's probably overkill. Restarting and rerunning the import will end up with multiple identical regexes in the list, but that doesn't seem to be a problem. Fixing this would be difficult because, in JS, /a/ !== /a/. This is not working in JupyterLab, which seems to have a whole different way to deal with syntax highlighting.
The null coalescing operator doesn't work for undefined names (only undefined properties), so we'll look for the global in the window namespace. If neither exists, as in JupyterLab, give up.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I went to see about adding this and saw that there was already some code to do this. It was commented out, and a comment suggests that this was related to an API change within Jupyter itself (1a75466). I've tried to write it in a way that works with both the old and newer APIs, but I've only tested on notebook 6.4.11.
This does not work with JupyterLab, which seems to make this more difficult, likely requiring an extension.