Initial version
parent
7ac7ab93e8
commit
6dcc1c017d
@ -0,0 +1 @@
|
|||||||
|
/node_modules/
|
@ -0,0 +1,2 @@
|
|||||||
|
/.gitignore
|
||||||
|
/.vscode/
|
@ -0,0 +1,6 @@
|
|||||||
|
// Place your settings in this file to overwrite default and user settings.
|
||||||
|
{
|
||||||
|
"files.trimTrailingWhitespace": true,
|
||||||
|
"editor.tabSize": 4,
|
||||||
|
"editor.insertSpaces": false
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2016 Microsoft Corporation
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
@ -1,2 +1,27 @@
|
|||||||
# monaco-editor-samples
|
|
||||||
Samples for using the Monaco Editor
|
# Monaco Editor Samples
|
||||||
|
|
||||||
|
Standalone HTML samples showing how to integrate the Monaco Editor.
|
||||||
|
|
||||||
|
## Running
|
||||||
|
|
||||||
|
From npm:
|
||||||
|
```
|
||||||
|
npm install monaco-editor-samples
|
||||||
|
cd node_modules/monaco-editor-samples
|
||||||
|
npm run simpleserver
|
||||||
|
```
|
||||||
|
|
||||||
|
From source:
|
||||||
|
```
|
||||||
|
git clone https://github.com/Microsoft/monaco-editor-samples.git
|
||||||
|
cd monaco-editor-samples
|
||||||
|
npm install .
|
||||||
|
npm run simpleserver
|
||||||
|
```
|
||||||
|
|
||||||
|
Go to <a href="http://localhost:8888">localhost:8888</a> and explore the samples!
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
MIT
|
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"name": "monaco-editor-samples",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"description": "Samples for using the Monaco Editor",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"simpleserver": "node_modules/.bin/http-server -c-1 ./ -p 8888"
|
||||||
|
},
|
||||||
|
"author": "Microsoft Corporation",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"http-server": "^0.9.0",
|
||||||
|
"monaco-editor": "0.x.x"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h2>Monaco Diff Editor Sample</h2>
|
||||||
|
<div id="container" style="width:800px;height:600px;border:1px solid grey"></div>
|
||||||
|
|
||||||
|
<script src="../node_modules/monaco-editor/min/vs/loader.js"></script>
|
||||||
|
<script>
|
||||||
|
require.config({ paths: { 'vs': '../node_modules/monaco-editor/min/vs' }});
|
||||||
|
|
||||||
|
require(['vs/editor/editor.main'], function() {
|
||||||
|
var diffEditor = monaco.editor.createDiffEditor(document.getElementById('container'));
|
||||||
|
|
||||||
|
monaco.Promise.join([xhr('original.txt'), xhr('modified.txt')]).then(function(r) {
|
||||||
|
var originalTxt = r[0].responseText;
|
||||||
|
var modifiedTxt = r[1].responseText;
|
||||||
|
|
||||||
|
diffEditor.setModel({
|
||||||
|
original: monaco.editor.createModel(originalTxt, 'javascript'),
|
||||||
|
modified: monaco.editor.createModel(modifiedTxt, 'javascript'),
|
||||||
|
})
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
function xhr(url) {
|
||||||
|
var req = null;
|
||||||
|
return new monaco.Promise(function(c,e,p) {
|
||||||
|
req = new XMLHttpRequest();
|
||||||
|
req.onreadystatechange = function () {
|
||||||
|
if (req._canceled) { return; }
|
||||||
|
|
||||||
|
if (req.readyState === 4) {
|
||||||
|
if ((req.status >= 200 && req.status < 300) || req.status === 1223) {
|
||||||
|
c(req);
|
||||||
|
} else {
|
||||||
|
e(req);
|
||||||
|
}
|
||||||
|
req.onreadystatechange = function () { };
|
||||||
|
} else {
|
||||||
|
p(req);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
req.open("GET", url, true );
|
||||||
|
req.responseType = "";
|
||||||
|
|
||||||
|
req.send(null);
|
||||||
|
}, function () {
|
||||||
|
req._canceled = true;
|
||||||
|
req.abort();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,74 @@
|
|||||||
|
|
||||||
|
/// <reference path="../../references.js" />
|
||||||
|
(function () {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
var deltaDecorations = function (oldDecorations, newDecorations) {
|
||||||
|
/// <summary>
|
||||||
|
/// Update oldDecorations to match newDecorations.
|
||||||
|
/// It will remove old decorations which are not found in new decorations
|
||||||
|
/// and add only the really new decorations.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="oldDecorations" type="Array">
|
||||||
|
/// An array containing ids of existing decorations
|
||||||
|
/// </param>
|
||||||
|
/// <param name="newDecorations" type="Array">
|
||||||
|
/// An array containing literal objects describing new decorations. A
|
||||||
|
/// literal contains the following two fields:
|
||||||
|
/// range
|
||||||
|
/// options
|
||||||
|
/// </param>
|
||||||
|
/// <returns type="Array">
|
||||||
|
/// Returns an array of decorations ids
|
||||||
|
/// </returns>
|
||||||
|
var hashFunc = function (range, options) {
|
||||||
|
return range.startLineNumber + "," + range.startColumn + "-" + range.endLineNumber + "," + range.endColumn +
|
||||||
|
"-" + options.hoverMessage + "-" + options.className + "-" + options.isOverlay + "-" + options.showInOverviewRuler;
|
||||||
|
};
|
||||||
|
return this.changeDecorations(function (changeAccessor) {
|
||||||
|
var i, len, oldDecorationsMap = {}, hash;
|
||||||
|
|
||||||
|
// Record old decorations in a map
|
||||||
|
// Two decorations can have the same hash
|
||||||
|
for (i = 0, len = oldDecorations.length; i < len; i++) {
|
||||||
|
hash = hashFunc(this.getDecorationRange(oldDecorations[i]), this.getDecorationOptions(oldDecorations[i]));
|
||||||
|
oldDecorationsMap[hash] = oldDecorationsMap[hash] || [];
|
||||||
|
oldDecorationsMap[hash].push(oldDecorations[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add only new decorations & mark reused ones
|
||||||
|
var j, lenJ, result = [], usedOldDecorations = {}, oldDecorationsCandidates, reusedOldDecoration;
|
||||||
|
for (i = 0, len = newDecorations.length; i < len; i++) {
|
||||||
|
hash = hashFunc(newDecorations[i].range, newDecorations[i].options);
|
||||||
|
reusedOldDecoration = false;
|
||||||
|
if (oldDecorationsMap.hasOwnProperty(hash)) {
|
||||||
|
oldDecorationsCandidates = oldDecorationsMap[hash];
|
||||||
|
// We can try reusing an old decoration (if it hasn't been reused before)
|
||||||
|
for (j = 0, lenJ = oldDecorationsCandidates.length; j < lenJ; j++) {
|
||||||
|
if (!usedOldDecorations.hasOwnProperty(oldDecorationsCandidates[j])) {
|
||||||
|
// Found an old decoration which can be reused & it hasn't been reused before
|
||||||
|
reusedOldDecoration = true;
|
||||||
|
usedOldDecorations[oldDecorationsCandidates[j]] = true;
|
||||||
|
result.push(oldDecorationsCandidates[j]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!reusedOldDecoration) {
|
||||||
|
result.push(changeAccessor.addDecoration(newDecorations[i].range, newDecorations[i].options));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove unused old decorations
|
||||||
|
for (i = 0, len = oldDecorations.length; i < len; i++) {
|
||||||
|
if (!usedOldDecorations.hasOwnProperty(oldDecorations[i])) {
|
||||||
|
changeAccessor.removeDecoration(oldDecorations[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}.bind(this));
|
||||||
|
};
|
||||||
|
|
||||||
|
})();
|
@ -0,0 +1,61 @@
|
|||||||
|
/// <reference path="../../references.js" />
|
||||||
|
(function () {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
// Some useless comment
|
||||||
|
|
||||||
|
var deltaDecorations = function (oldDecorations, newDecorations) {
|
||||||
|
/// <summary>
|
||||||
|
/// Update oldDecorations to match newDecorations.
|
||||||
|
/// It will remove old decorations which are not found in new decorations
|
||||||
|
/// and add only the really new decorations.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="oldDecorations" type="Array">
|
||||||
|
/// An array containing ids of existing decorations
|
||||||
|
/// </param>
|
||||||
|
/// <param name="newDecorations" type="Array">
|
||||||
|
/// An array containing literal objects describing new decorations. A
|
||||||
|
/// literal contains the following two fields:
|
||||||
|
/// range
|
||||||
|
/// options
|
||||||
|
/// </param>
|
||||||
|
/// <returns type="Array">
|
||||||
|
/// Returns an array of decorations ids
|
||||||
|
/// </returns>
|
||||||
|
var hashFunc = function (range, options) {
|
||||||
|
return range.startLineNumber + "," + range.startColumn + "-" + range.endLineNumber + "," + range.endColumn +
|
||||||
|
"-" + options.hoverMessage + "-" + options.className + "-" + options.isOverlay + "-" + options.showInOverviewRuler;
|
||||||
|
};
|
||||||
|
return this.changeDecorations(function (changeAccessor) {
|
||||||
|
var i, len, oldDecorationsMap = {}, hash;
|
||||||
|
|
||||||
|
// Record old decorations in a map
|
||||||
|
for (i = 0, len = oldDecorations.length; i < len; i++) {
|
||||||
|
hash = hashFunc(this.getDecorationRange(oldDecorations[i]), this.getDecorationOptions(oldDecorations[i]));
|
||||||
|
oldDecorationsMap[hash] = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add only new decorations & mark reused ones
|
||||||
|
var result = [], usedOldDecorationsMap = {};
|
||||||
|
for (i = 0, len = newDecorations.length; i < len; i++) {
|
||||||
|
hash = hashFunc(newDecorations[i].range, newDecorations[i].options);
|
||||||
|
if (oldDecorationsMap.hasOwnProperty(hash)) {
|
||||||
|
usedOldDecorationsMap[oldDecorationsMap[hash]] = true;
|
||||||
|
result.push(oldDecorations[oldDecorationsMap[hash]]);
|
||||||
|
} else {
|
||||||
|
result.push(changeAccessor.addDecoration(newDecorations[i].range, newDecorations[i].options));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove unused old decorations
|
||||||
|
for (i = 0, len = oldDecorations.length; i < len; i++) {
|
||||||
|
if (!usedOldDecorationsMap.hasOwnProperty(i)) {
|
||||||
|
changeAccessor.removeDecoration(oldDecorations[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}.bind(this));
|
||||||
|
};
|
||||||
|
|
||||||
|
})();
|
@ -0,0 +1,28 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h2>Monaco Editor Sample</h2>
|
||||||
|
<div id="container" style="width:800px;height:600px;border:1px solid grey"></div>
|
||||||
|
|
||||||
|
<script src="../node_modules/monaco-editor/min/vs/loader.js"></script>
|
||||||
|
<script>
|
||||||
|
require.config({ paths: { 'vs': '../node_modules/monaco-editor/min/vs' }});
|
||||||
|
|
||||||
|
require(['vs/editor/editor.main'], function() {
|
||||||
|
var editor = monaco.editor.create(document.getElementById('container'), {
|
||||||
|
value: [
|
||||||
|
'function x() {',
|
||||||
|
'\tconsole.log("Hello world!");',
|
||||||
|
'}'
|
||||||
|
].join('\n'),
|
||||||
|
language: 'javascript'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,79 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<title>Editor in tiny iframe</title>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
#myIframe1 {
|
||||||
|
border: 1px solid blue;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
#myIframe2 {
|
||||||
|
border: 1px solid red;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
#myIframe3 {
|
||||||
|
border: 1px solid green;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
#programmaticIframe {
|
||||||
|
border: 1px solid yellow;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h2>Monaco Editor inside iframes sample</h2>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
<br/> 0x0:
|
||||||
|
<br/>
|
||||||
|
<iframe id="myIframe1" src="inner.html"></iframe>
|
||||||
|
display:none:
|
||||||
|
<br/>
|
||||||
|
<iframe id="myIframe2" src="inner.html"></iframe>
|
||||||
|
visibility:hidden:
|
||||||
|
<br/>
|
||||||
|
<iframe id="myIframe3" src="inner.html"></iframe>
|
||||||
|
taken off-dom while loading:
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
var myIframe1 = document.getElementById('myIframe1');
|
||||||
|
var myIframe2 = document.getElementById('myIframe2');
|
||||||
|
var myIframe3 = document.getElementById('myIframe3');
|
||||||
|
var programmaticIframe = document.createElement('iframe');
|
||||||
|
programmaticIframe.id = 'programmaticIframe';
|
||||||
|
programmaticIframe.src = "inner.html";
|
||||||
|
// trigger its loading & take it off dom
|
||||||
|
document.body.appendChild(programmaticIframe);
|
||||||
|
|
||||||
|
setTimeout(function() {
|
||||||
|
document.body.removeChild(programmaticIframe);
|
||||||
|
}, 10);
|
||||||
|
|
||||||
|
setTimeout(function() {
|
||||||
|
document.body.appendChild(programmaticIframe);
|
||||||
|
[
|
||||||
|
myIframe1,
|
||||||
|
myIframe2,
|
||||||
|
myIframe3,
|
||||||
|
programmaticIframe
|
||||||
|
].forEach(reveal);
|
||||||
|
}, 3000);
|
||||||
|
|
||||||
|
function reveal(iframe) {
|
||||||
|
iframe.style.width = '400px';
|
||||||
|
iframe.style.height = '100px';
|
||||||
|
iframe.style.display = 'block';
|
||||||
|
iframe.style.visibility = 'visible';
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,39 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
|
||||||
|
<style type="text/css">
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="container" style="width:100%;height:100%"></div>
|
||||||
|
<script src="../node_modules/monaco-editor/min/vs/loader.js"></script>
|
||||||
|
<script>
|
||||||
|
require.config({ paths: { 'vs': '../node_modules/monaco-editor/min/vs' }});
|
||||||
|
|
||||||
|
require(['vs/editor/editor.main'], function() {
|
||||||
|
var editor = monaco.editor.create(document.getElementById('container'), {
|
||||||
|
value: [
|
||||||
|
'function x() {',
|
||||||
|
'\tconsole.log("Hello world!");',
|
||||||
|
'}'
|
||||||
|
].join('\n'),
|
||||||
|
language: 'javascript'
|
||||||
|
});
|
||||||
|
|
||||||
|
window.onresize = function() {
|
||||||
|
editor.layout();
|
||||||
|
};
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,36 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h2>Monaco Editor Localization Sample</h2>
|
||||||
|
<div id="container" style="width:800px;height:600px;border:1px solid grey"></div>
|
||||||
|
|
||||||
|
<script src="../node_modules/monaco-editor/min/vs/loader.js"></script>
|
||||||
|
<script>
|
||||||
|
require.config({ paths: { 'vs': '../node_modules/monaco-editor/min/vs' }});
|
||||||
|
|
||||||
|
require.config({
|
||||||
|
'vs/nls' : {
|
||||||
|
availableLanguages: {
|
||||||
|
'*': 'de'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
require(['vs/editor/editor.main'], function() {
|
||||||
|
var editor = monaco.editor.create(document.getElementById('container'), {
|
||||||
|
value: [
|
||||||
|
'function x() {',
|
||||||
|
'\tconsole.log("Hello world!");',
|
||||||
|
'}'
|
||||||
|
].join('\n'),
|
||||||
|
language: 'javascript'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,111 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||||
|
<style>
|
||||||
|
.monaco-editor.vs .token.custom-info {
|
||||||
|
color: grey;
|
||||||
|
}
|
||||||
|
.monaco-editor.vs .token.custom-error {
|
||||||
|
color: red;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1.2em;
|
||||||
|
}
|
||||||
|
.monaco-editor.vs .token.custom-notice {
|
||||||
|
color: orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
.monaco-editor.vs .token.custom-date {
|
||||||
|
color: green;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h2>Monarch Tokenizer Sample</h2>
|
||||||
|
<div id="container" style="width:800px;height:600px;border:1px solid grey"></div>
|
||||||
|
|
||||||
|
<script src="../node_modules/monaco-editor/min/vs/loader.js"></script>
|
||||||
|
<script>
|
||||||
|
require.config({ paths: { 'vs': '../node_modules/monaco-editor/min/vs' }});
|
||||||
|
|
||||||
|
require(['vs/editor/editor.main'], function() {
|
||||||
|
|
||||||
|
monaco.languages.register({
|
||||||
|
id: 'myCustomLanguage'
|
||||||
|
});
|
||||||
|
monaco.languages.setMonarchTokensProvider('myCustomLanguage', {
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
[/\[error.*/, "custom-error"],
|
||||||
|
[/\[notice.*/, "custom-notice"],
|
||||||
|
[/\[info.*/, "custom-info"],
|
||||||
|
[/\[[a-zA-Z 0-9:]+\]/, "custom-date"],
|
||||||
|
],
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var editor = monaco.editor.create(document.getElementById('container'), {
|
||||||
|
value: getCode(),
|
||||||
|
language: 'myCustomLanguage'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function getCode() {
|
||||||
|
return [
|
||||||
|
'[Sun Mar 7 16:02:00 2004] [notice] Apache/1.3.29 (Unix) configured -- resuming normal operations',
|
||||||
|
'[Sun Mar 7 16:02:00 2004] [info] Server built: Feb 27 2004 13:56:37',
|
||||||
|
'[Sun Mar 7 16:02:00 2004] [notice] Accept mutex: sysvsem (Default: sysvsem)',
|
||||||
|
'[Sun Mar 7 16:05:49 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 16:45:56 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 17:13:50 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 17:21:44 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 17:23:53 2004] statistics: Use of uninitialized value in concatenation (.) or string at /home/httpd/twiki/lib/TWiki.pm line 528.',
|
||||||
|
'[Sun Mar 7 17:23:53 2004] statistics: Can\'t create file /home/httpd/twiki/data/Main/WebStatistics.txt - Permission denied',
|
||||||
|
'[Sun Mar 7 17:27:37 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 17:31:39 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 17:58:00 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 18:00:09 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 18:10:09 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 18:19:01 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 18:42:29 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 18:52:30 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 18:58:52 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 19:03:58 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 19:08:55 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 20:04:35 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 20:11:33 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 20:12:55 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 20:25:31 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 20:44:48 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 20:58:27 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 21:16:17 2004] [error] [client xx.xx.xx.xx] File does not exist: /home/httpd/twiki/view/Main/WebHome',
|
||||||
|
'[Sun Mar 7 21:20:14 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 21:31:12 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 21:39:55 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Sun Mar 7 21:44:10 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 01:35:13 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 01:47:06 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 01:59:13 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 02:12:24 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 02:54:54 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 03:46:27 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 03:48:18 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 03:52:17 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 03:55:09 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 04:22:55 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 04:24:47 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 04:40:32 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 04:55:40 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 04:59:13 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 05:22:57 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 05:24:29 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'[Mon Mar 8 05:31:47 2004] [info] [client xx.xx.xx.xx] (104)Connection reset by peer: client stopped connection before send body completed',
|
||||||
|
'<11>httpd[31628]: [error] [client xx.xx.xx.xx] File does not exist: /usr/local/installed/apache/htdocs/squirrelmail/_vti_inf.html in 29-Mar 15:18:20.50 from xx.xx.xx.xx',
|
||||||
|
'<11>httpd[25859]: [error] [client xx.xx.xx.xx] File does not exist: /usr/local/installed/apache/htdocs/squirrelmail/_vti_bin/shtml.exe/_vti_rpc in 29-Mar 15:18:20.54 from xx.xx.xx.xx',
|
||||||
|
].join('\n');;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,34 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h2>Monaco Editor Shared Models Sample</h2>
|
||||||
|
<div id="container1" style="width:400px;height:200px;border:1px solid grey"></div>
|
||||||
|
<div id="container2" style="width:400px;height:200px;border:1px solid grey"></div>
|
||||||
|
|
||||||
|
<script src="../node_modules/monaco-editor/min/vs/loader.js"></script>
|
||||||
|
<script>
|
||||||
|
require.config({ paths: { 'vs': '../node_modules/monaco-editor/min/vs' }});
|
||||||
|
|
||||||
|
require(['vs/editor/editor.main'], function() {
|
||||||
|
var model = monaco.editor.createModel([
|
||||||
|
'function x() {',
|
||||||
|
'\tconsole.log("Hello world!");',
|
||||||
|
'}'
|
||||||
|
].join('\n'),
|
||||||
|
'javascript'
|
||||||
|
);
|
||||||
|
var editor1 = monaco.editor.create(document.getElementById('container1'), {
|
||||||
|
model: model
|
||||||
|
});
|
||||||
|
var editor2 = monaco.editor.create(document.getElementById('container2'), {
|
||||||
|
model: model
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,30 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
|
||||||
|
<link rel="stylesheet" data-name="vs/editor/editor.main" href="../node_modules/monaco-editor/min/vs/editor/editor.main.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h2>Monaco Editor Sync Loading Sample</h2>
|
||||||
|
<div id="container" style="width:800px;height:600px;border:1px solid grey"></div>
|
||||||
|
|
||||||
|
<script>var require = { paths: { 'vs': '../node_modules/monaco-editor/min/vs' } };</script>
|
||||||
|
<script src="../node_modules/monaco-editor/min/vs/loader.js"></script>
|
||||||
|
<script src="../node_modules/monaco-editor/min/vs/editor/editor.main.nls.js"></script>
|
||||||
|
<script src="../node_modules/monaco-editor/min/vs/editor/editor.main.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var editor = monaco.editor.create(document.getElementById('container'), {
|
||||||
|
value: [
|
||||||
|
'function x() {',
|
||||||
|
'\tconsole.log("Hello world!");',
|
||||||
|
'}'
|
||||||
|
].join('\n'),
|
||||||
|
language: 'javascript'
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in New Issue