@yuebai008/cli
Version:
Command line interface for rapid qg-minigame development
1 lines • 1.77 kB
JavaScript
import*as i18n from"../../core/i18n/i18n.js";import*as Bindings from"../../models/bindings/bindings.js";import*as Components from"../../ui/legacy/components/utils/utils.js";import*as UI from"../../ui/legacy/legacy.js";import{Plugin}from"./Plugin.js";const UIStrings={fromS:"(From {PH1})",sourceMappedFromS:"(Source mapped from {PH1})"},str_=i18n.i18n.registerUIStrings("panels/sources/ResourceOriginPlugin.ts",UIStrings),i18nString=i18n.i18n.getLocalizedString.bind(void 0,str_);export class ResourceOriginPlugin extends Plugin{static accepts(i){const r=i.contentType();return r.hasScripts()||r.isFromSourceMap()}rightToolbarItems(){const i=Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance();if(this.uiSourceCode.contentType().isFromSourceMap()){const r=[];for(const n of i.scriptsForUISourceCode(this.uiSourceCode)){const o=i.uiSourceCodeForScript(n);if(!o)continue;const e=o.url(),t=Bindings.ResourceUtils.displayNameForURL(e),s=i18nString(UIStrings.sourceMappedFromS,{PH1:t});r.push(Components.Linkifier.Linkifier.linkifyRevealable(o,t,e,s))}for(const i of Bindings.SASSSourceMapping.SASSSourceMapping.uiSourceOrigin(this.uiSourceCode))r.push(Components.Linkifier.Linkifier.linkifyURL(i));if(0===r.length)return[];const n=document.createElement("span");return r.forEach(((i,r)=>{r>0&&n.append(", "),n.append(i)})),[new UI.Toolbar.ToolbarItem(i18n.i18n.getFormatLocalizedString(str_,UIStrings.fromS,{PH1:n}))]}for(const r of i.scriptsForUISourceCode(this.uiSourceCode))if(r.originStackTrace){const i=linkifier.linkifyStackTraceTopFrame(r.debuggerModel.target(),r.originStackTrace);return[new UI.Toolbar.ToolbarItem(i18n.i18n.getFormatLocalizedString(str_,UIStrings.fromS,{PH1:i}))]}return[]}}export const linkifier=new Components.Linkifier.Linkifier;