diff --git a/browser/src/Services/Browser/index.tsx b/browser/src/Services/Browser/index.tsx index d164714dd8..0cf849ea18 100644 --- a/browser/src/Services/Browser/index.tsx +++ b/browser/src/Services/Browser/index.tsx @@ -4,7 +4,7 @@ * Entry point for browser integration plugin */ -import { ipcRenderer, shell, WebviewTag } from "electron" +import { shell, WebviewTag } from "electron" import * as React from "react" import * as Oni from "oni-api" @@ -290,10 +290,6 @@ export const activate = ( detail: "", enabled: isBrowserScrollCommandEnabled, }) - - ipcRenderer.on("open-oni-browser", (event: string, args: string) => { - openUrl(args) - }) } export const registerAchievements = (achievements: AchievementsManager) => { diff --git a/browser/src/Services/Configuration/DefaultConfiguration.ts b/browser/src/Services/Configuration/DefaultConfiguration.ts index 6e0b00b84c..b4ee21ce9d 100644 --- a/browser/src/Services/Configuration/DefaultConfiguration.ts +++ b/browser/src/Services/Configuration/DefaultConfiguration.ts @@ -81,6 +81,8 @@ const BaseConfiguration: IConfigurationValues = { "experimental.indentLines.bannedFiletypes": [], "experimental.markdownPreview.enabled": false, "experimental.markdownPreview.autoScroll": true, + "experimental.markdownPreview.syntaxHighlights": true, + "experimental.markdownPreview.syntaxTheme": "atom-one-dark", "experimental.neovim.transport": "stdio", // TODO: Enable pipe transport for Windows diff --git a/browser/src/Services/Configuration/IConfigurationValues.ts b/browser/src/Services/Configuration/IConfigurationValues.ts index ffaa97f878..e37f950fdd 100644 --- a/browser/src/Services/Configuration/IConfigurationValues.ts +++ b/browser/src/Services/Configuration/IConfigurationValues.ts @@ -65,6 +65,8 @@ export interface IConfigurationValues { // Whether the markdown preview pane should be shown "experimental.markdownPreview.enabled": boolean "experimental.markdownPreview.autoScroll": boolean + "experimental.markdownPreview.syntaxHighlights": boolean + "experimental.markdownPreview.syntaxTheme": string // The transport to use for Neovim // Valid values are "stdio" and "pipe" diff --git a/extensions/oni-plugin-markdown-preview/package.json b/extensions/oni-plugin-markdown-preview/package.json index a890d11ac3..acd23614c0 100644 --- a/extensions/oni-plugin-markdown-preview/package.json +++ b/extensions/oni-plugin-markdown-preview/package.json @@ -23,6 +23,7 @@ "tbd-dependencies": { "marked": "^0.4.0", "dompurify": "1.0.2", + "highlight.js": "^9.12.0", "oni-types": "^0.0.4", "oni-api": "^0.0.9" }, @@ -31,6 +32,7 @@ "rimraf": "^2.6.2" }, "tbd-devDependencies": { + "@types/highlight.js": "^9.12.2", "typescript": "2.5.3", "rimraf": "2.6.2" } diff --git a/extensions/oni-plugin-markdown-preview/src/index.tsx b/extensions/oni-plugin-markdown-preview/src/index.tsx index cf5479ecf3..d87cfdf003 100644 --- a/extensions/oni-plugin-markdown-preview/src/index.tsx +++ b/extensions/oni-plugin-markdown-preview/src/index.tsx @@ -1,6 +1,7 @@ import { EventCallback, IDisposable, IEvent } from "oni-types" import * as dompurify from "dompurify" +import * as hljs from "highlight.js" import * as marked from "marked" import * as Oni from "oni-api" import * as React from "react" @@ -84,6 +85,9 @@ class MarkdownPreview extends React.PureComponent +