UNPKG

kui-shell

Version:

This is the monorepo for Kui, the hybrid command-line/GUI electron-based Kubernetes tool

61 lines 2.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const path = require("path"); const core_1 = require("@kui-shell/core"); const language_scan_1 = require("../language-scan"); const defaults_1 = require("./defaults"); let amdRequire; let initDone; function uriFromPath(_path) { let pathName = path.resolve(_path).replace(/\\/g, '/'); if (pathName.length > 0 && pathName.charAt(0) !== '/') { pathName = '/' + pathName; } return encodeURI('file://' + pathName); } exports.default = (editorWrapper, options) => { const nodeRequire = global['require']; let editor; const ready = () => new Promise(resolve => { const iter = () => { if (typeof AMDLoader === 'undefined') { setTimeout(iter, 20); } else { if (!amdRequire) { amdRequire = global['require']; global['require'] = nodeRequire; if (!core_1.Capabilities.inBrowser()) { const monacoRoot = path.dirname(require.resolve('monaco-editor/package.json')); amdRequire.config({ baseUrl: uriFromPath(path.join(monacoRoot, 'min')) }); } self['module'] = undefined; } if (editor) { return resolve(editor); } const initEditor = () => { if (!initDone) { global['monaco'].languages.typescript.javascriptDefaults.setCompilerOptions({ noLib: true, allowNonTsExtensions: true }); language_scan_1.default(global['monaco']).forEach(({ language, provider }) => { global['monaco'].languages.registerCompletionItemProvider(language, provider); }); global['define'] = undefined; initDone = true; } editor = global['monaco'].editor.create(editorWrapper, Object.assign(defaults_1.default(options), options)); resolve(editor); }; amdRequire(['vs/editor/editor.main'], initEditor); } }; iter(); }); return ready(); }; //# sourceMappingURL=amd.js.map