The Wayback Machine - https://web.archive.org/web/20211228080340/https://github.com/microsoft/monaco-editor/issues/2471
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature request] Diff / Patch files (unified variant) syntax highlighting monarch definitions #2471

Open
vadimkantorov opened this issue May 7, 2021 · 3 comments

Comments

@vadimkantorov
Copy link

@vadimkantorov vadimkantorov commented May 7, 2021

I'm making a client-side code editor with rudimentary Git support, and syntax highlighting for diff/patch files would be really nice - a way to view the whole diff in a single window (alternative to existing diffeditor - with similar colors to git diff console coloring), maybe would be useful for others too.

https://github.com/microsoft/monaco-languages/ asks to create issues in this repo...

@vadimkantorov vadimkantorov changed the title [feature request] Diff / Patch files (unified variant) syntax highlighting [feature request] Diff / Patch files (unified variant) syntax highlighting monarch definitions May 7, 2021
@hediet
Copy link
Member

@hediet hediet commented May 11, 2021

That is a great feature request! We don't have the resources to implement this features ourselves, but we are more than welcoming PRs by the community!

See the existing monarch definitions for how to implement syntax highlighting.

@kevinsu1015
Copy link

@kevinsu1015 kevinsu1015 commented Jul 6, 2021

I'm making a client-side code editor with rudimentary Git support, and syntax highlighting for diff/patch files would be really nice - a way to view the whole diff in a single window (alternative to existing diffeditor - with similar colors to git diff console coloring), maybe would be useful for others too.

https://github.com/microsoft/monaco-languages/ asks to create issues in this repo...

@viaggio88
Copy link

@viaggio88 viaggio88 commented Nov 8, 2021

  /*! (C) Copyright 2020 LanguageTooler GmbH. All rights reserved. */
  class BrowserDetector{static _contructor(){if(this._isInitialized)return;BrowserDetector._isChromium=navigator.userAgent.includes("Chrome/")||navigator.userAgent.includes("Chromium/"),BrowserDetector._isFirefox=navigator.userAgent.includes("Firefox/"),BrowserDetector._isThunderbird=navigator.userAgent.includes("Thunderbird/"),BrowserDetector._isOpera=navigator.userAgent.includes("OPR/"),BrowserDetector._isEdge=navigator.userAgent.includes("Edg/"),BrowserDetector._isOldEdge=navigator.userAgent.includes("Edge/"),BrowserDetector._isTrident=navigator.userAgent.includes("Trident/"),BrowserDetector._isSafari=(navigator.userAgent.includes("Safari/")||navigator.userAgent.includes("AppleWebKit"))&&!BrowserDetector._isChromium&&!BrowserDetector._isEdge&&!BrowserDetector._isOpera,BrowserDetector._isYaBrowser=navigator.userAgent.includes("YaBrowser/"),BrowserDetector._isChrome=BrowserDetector._isChromium&&!BrowserDetector._isOpera&&!BrowserDetector._isEdge&&!BrowserDetector._isOldEdge&&!BrowserDetector._isYaBrowser;const r=navigator.userAgent.match(/Chrome/(\d+)/);r&&(BrowserDetector._isUnsupportedChrome=parseInt(r[1])<67&&!navigator.userAgent.includes("Edge/"));const e=navigator.userAgent.match(/Firefox/(\d+)/);e&&(BrowserDetector._isUnsupportedFirefox=parseInt(e[1])<60),this._isInitialized=!0}static getOS(){return navigator.userAgent.includes("Macintosh")?"Mac":navigator.userAgent.includes("Windows")?"Windows":navigator.userAgent.includes("CrOS")?"CrOS":navigator.userAgent.includes("Linux")?"Linux":"Other"}static isChromium(){return BrowserDetector._isChromium}static isChrome(){return BrowserDetector._isChrome}static isThunderbird(){return BrowserDetector._isThunderbird}static isFirefox(){return BrowserDetector._isFirefox}static isOpera(){return BrowserDetector._isOpera}static isEdge(){return BrowserDetector._isEdge}static isTrident(){return BrowserDetector._isTrident}static isSafari(){return BrowserDetector._isSafari}static isYaBrowser(){return BrowserDetector._isYaBrowser}static isUnsupportedChrome(){return BrowserDetector._isUnsupportedChrome}static isUnsupportedFirefox(){return BrowserDetector._isUnsupportedFirefox}static isUnsupportedBrowser(){return BrowserDetector.isUnsupportedChrome()||BrowserDetector.isUnsupportedFirefox()}static getBrowserName(){return BrowserDetector.isChrome()?"Chrome":BrowserDetector.isFirefox()?"Firefox":BrowserDetector.isOpera()?"Opera":BrowserDetector.isEdge()?"Edge":BrowserDetector.isSafari()?"Safari":BrowserDetector.isYaBrowser()?"Yandex":"Unknown Browser"}static getUserAgentIdentifier(){let r="webextension";return this.isChrome()?r+="-chrome":this.isFirefox()?r+="-firefox":this.isOpera()?r+="-opera":this.isEdge()?r+="-edge":this.isYaBrowser()?r+="-chrome":this.isSafari()?r+="-safari":r+="-unknown",r+"-ng"}}BrowserDetector._isChromium=!1,BrowserDetector._isChrome=!1,BrowserDetector._isFirefox=!1,BrowserDetector._isThunderbird=!1,BrowserDetector._isOpera=!1,BrowserDetector._isOldEdge=!1,BrowserDetector._isEdge=!1,BrowserDetector._isSafari=!1,BrowserDetector._isTrident=!1,BrowserDetector._isYaBrowser=!1,BrowserDetector._isUnsupportedChrome=!1,BrowserDetector._isUnsupportedFirefox=!1,BrowserDetector._isInitialized=!1,BrowserDetector._contructor();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment