Compare commits
No commits in common. "v9.0.2" and "main" have entirely different histories.
31
.github/workflows/node.js.yml
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
|
||||
|
||||
name: Node.js CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [16.x, 20.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- run: npm ci
|
||||
- run: npm run lint
|
||||
- run: npm run test
|
||||
env:
|
||||
CI: true
|
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
node_modules
|
||||
dist
|
||||
.vscode
|
||||
docs
|
52
.jsdoc.json
Normal file
@ -0,0 +1,52 @@
|
||||
{
|
||||
"sourceType": "module",
|
||||
"tags": {
|
||||
"allowUnknownTags": true,
|
||||
"dictionaries": ["jsdoc"]
|
||||
},
|
||||
"source": {
|
||||
"include": ["./src"],
|
||||
"includePattern": ".js$"
|
||||
},
|
||||
"plugins": [
|
||||
"plugins/markdown"
|
||||
],
|
||||
"templates": {
|
||||
"referenceTitle": "Yjs",
|
||||
"disableSort": false,
|
||||
"useCollapsibles": true,
|
||||
"collapse": true,
|
||||
"resources": {
|
||||
"yjs.dev": "Website",
|
||||
"docs.yjs.dev": "Docs",
|
||||
"discuss.yjs.dev": "Forum",
|
||||
"https://gitter.im/Yjs/community": "Chat"
|
||||
},
|
||||
"logo": {
|
||||
"url": "https://yjs.dev/images/logo/yjs-512x512.png",
|
||||
"width": "162px",
|
||||
"height": "162px",
|
||||
"link": "/"
|
||||
},
|
||||
"tabNames": {
|
||||
"api": "API",
|
||||
"tutorials": "Examples"
|
||||
},
|
||||
"footerText": "Shared Editing",
|
||||
"css": [
|
||||
"./style.css"
|
||||
],
|
||||
"default": {
|
||||
"staticFiles": {
|
||||
"include": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"opts": {
|
||||
"destination": "./docs/",
|
||||
"encoding": "utf8",
|
||||
"private": false,
|
||||
"recurse": true,
|
||||
"template": "./node_modules/tui-jsdoc-template"
|
||||
}
|
||||
}
|
4
.markdownlint.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"default": true,
|
||||
"no-inline-html": false
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<style type="text/css" media="screen">
|
||||
#ace {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
.inserted {
|
||||
position:absolute;
|
||||
z-index:20;
|
||||
background-color: #FFC107;
|
||||
}
|
||||
.deleted {
|
||||
position:absolute;
|
||||
z-index:20;
|
||||
background-color: #FFC107;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="ace"></div>
|
||||
<script src="../bower_components/yjs/y.es6"></script>
|
||||
<script src="../bower_components/ace-builds/src/ace.js"></script>
|
||||
|
||||
<script src="./index.js"></script>
|
||||
</body>
|
||||
</html>
|
@ -1,25 +0,0 @@
|
||||
/* global Y, ace */
|
||||
|
||||
// initialize a shared object. This function call returns a promise!
|
||||
Y({
|
||||
db: {
|
||||
name: 'memory'
|
||||
},
|
||||
connector: {
|
||||
name: 'websockets-client',
|
||||
room: 'ace-example'
|
||||
},
|
||||
sourceDir: '/bower_components',
|
||||
share: {
|
||||
ace: 'Text' // y.share.textarea is of type Y.Text
|
||||
}
|
||||
}).then(function (y) {
|
||||
window.yAce = y
|
||||
|
||||
// bind the textarea to a shared text element
|
||||
var editor = ace.edit('ace')
|
||||
editor.setTheme('ace/theme/chrome')
|
||||
editor.getSession().setMode('ace/mode/javascript')
|
||||
|
||||
y.share.ace.bindAce(editor)
|
||||
})
|
@ -1,18 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
<style>
|
||||
#chat p span {
|
||||
color: blue;
|
||||
}
|
||||
</style>
|
||||
<div id="chat"></div>
|
||||
<form id="chatform">
|
||||
<input name="username" type="text" style="width:15%;">
|
||||
<input name="message" type="text" style="width:60%;">
|
||||
<input type="submit" value="Send">
|
||||
</form>
|
||||
<script src="../bower_components/yjs/y.js"></script>
|
||||
<script src="./index.js"></script>
|
||||
</body>
|
||||
</html>
|
@ -1,73 +0,0 @@
|
||||
/* @flow */
|
||||
/* global Y */
|
||||
|
||||
// initialize a shared object. This function call returns a promise!
|
||||
Y({
|
||||
db: {
|
||||
name: 'memory'
|
||||
},
|
||||
connector: {
|
||||
name: 'websockets-client',
|
||||
room: 'chat-example'
|
||||
},
|
||||
sourceDir: '/bower_components',
|
||||
share: {
|
||||
chat: 'Array'
|
||||
}
|
||||
}).then(function (y) {
|
||||
window.yChat = y
|
||||
// This functions inserts a message at the specified position in the DOM
|
||||
function appendMessage(message, position) {
|
||||
var p = document.createElement('p')
|
||||
var uname = document.createElement('span')
|
||||
uname.appendChild(document.createTextNode(message.username + ": "))
|
||||
p.appendChild(uname)
|
||||
p.appendChild(document.createTextNode(message.message))
|
||||
document.querySelector('#chat').insertBefore(p, chat.children[position] || null)
|
||||
}
|
||||
// This function makes sure that only 7 messages exist in the chat history.
|
||||
// The rest is deleted
|
||||
function cleanupChat () {
|
||||
var len
|
||||
while ((len = y.share.chat.length) > 7) {
|
||||
y.share.chat.delete(0)
|
||||
}
|
||||
}
|
||||
// Insert the initial content
|
||||
y.share.chat.toArray().forEach(appendMessage)
|
||||
cleanupChat()
|
||||
|
||||
// whenever content changes, make sure to reflect the changes in the DOM
|
||||
y.share.chat.observe(function (events) {
|
||||
for (var i = 0; i < events.length; i++) {
|
||||
if (events[i].type === 'insert') {
|
||||
appendMessage(events[i].value, events[i].index)
|
||||
} else if (events[i].type === 'delete') {
|
||||
chat.children[events[i].index].remove()
|
||||
}
|
||||
}
|
||||
// concurrent insertions may result in a history > 7, so cleanup here
|
||||
cleanupChat()
|
||||
})
|
||||
document.querySelector('#chatform').onsubmit = function (event) {
|
||||
// the form is submitted
|
||||
var message = {
|
||||
username: this.querySelector("[name=username]").value,
|
||||
message: this.querySelector("[name=message]").value
|
||||
}
|
||||
if (message.username.length > 0 && message.message.length > 0) {
|
||||
if (y.share.chat.length > 6) {
|
||||
// If we are goint to insert the 8th element, make sure to delete first.
|
||||
y.share.chat.delete(0)
|
||||
}
|
||||
// Here we insert a message in the shared chat type.
|
||||
// This will call the observe function (see line 40)
|
||||
// and reflect the change in the DOM
|
||||
y.share.chat.push([message])
|
||||
this.querySelector("[name=message]").value = ""
|
||||
}
|
||||
// Do not send this form!
|
||||
event.preventDefault()
|
||||
return false
|
||||
}
|
||||
})
|
@ -1,23 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<style type="text/css">
|
||||
.draggable {
|
||||
cursor: move;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<svg id="puzzle-example" width="100%" viewBox="0 0 800 800">
|
||||
<g>
|
||||
<path d="M 311.76636,154.23389 C 312.14136,171.85693 318.14087,184.97998 336.13843,184.23047 C 354.13647,183.48047 351.88647,180.48096 354.88599,178.98096 C 357.8855,177.48096 368.38452,170.35693 380.00806,169.98193 C 424.61841,168.54297 419.78296,223.6001 382.25757,223.6001 C 377.75806,223.6001 363.51001,219.10107 356.38599,211.97656 C 349.26196,204.85254 310.64185,207.10254 314.76636,236.34863 C 316.34888,247.5708 324.08374,267.90723 324.84595,286.23486 C 325.29321,296.99414 323.17603,307.00635 321.58911,315.6377 C 360.11353,305.4585 367.73462,304.30518 404.00513,312.83936 C 410.37915,314.33887 436.62573,310.21436 421.25269,290.3418 C 405.87964,270.46924 406.25464,248.34717 417.12817,240.84814 C 428.00171,233.34912 446.74976,228.84961 457.99829,234.09912 C 469.24683,239.34814 484.61987,255.84619 475.24585,271.59424 C 465.87231,287.34229 452.74878,290.7168 456.49829,303.84033 C 460.2478,316.96387 479.74536,320.33838 500.74292,321.83789 C 509.70142,322.47803 527.97192,323.28467 542.10864,320.12939 C 549.91821,318.38672 556.92212,315.89502 562.46753,313.56396 C 561.40796,277.80664 560.84888,245.71729 560.3606,241.97314 C 558.85278,230.41455 542.49536,217.28564 525.86499,223.2251 C 520.61548,225.1001 519.86548,231.84912 505.24243,232.59912 C 444.92798,235.69238 462.06958,143.26709 525.86499,180.48096 C 539.52759,188.45068 575.19409,190.7583 570.10913,156.85889 C 567.85962,141.86035 553.98608,102.86523 553.98608,102.86523 C 553.98608,102.86523 477.23755,111.82227 451.99878,91.991699 C 441.50024,83.74292 444.87476,69.494629 449.37427,61.245605 C 453.87378,52.996582 465.12231,46.622559 464.74731,36.123779 C 463.02563,-12.086426 392.96704,-10.902832 396.5061,36.873535 C 397.25562,46.997314 406.62964,52.621582 410.75415,60.495605 C 420.00757,78.161377 405.50024,96.073486 384.50757,99.490723 C 377.36206,100.65381 349.17505,102.65332 320.39429,102.23486 C 319.677,102.22461 318.95923,102.21143 318.24194,102.19775 C 315.08423,120.9751 311.55688,144.39697 311.76636,154.23389 z " style="fill:#f2c569;stroke:#000000" id="path2502"/>
|
||||
<path d="M 500.74292,321.83789 C 479.74536,320.33838 460.2478,316.96387 456.49829,303.84033 C 452.74878,290.7168 465.87231,287.34229 475.24585,271.59424 C 484.61987,255.84619 469.24683,239.34814 457.99829,234.09912 C 446.74976,228.84961 428.00171,233.34912 417.12817,240.84814 C 406.25464,248.34717 405.87964,270.46924 421.25269,290.3418 C 436.62573,310.21436 410.37915,314.33887 404.00513,312.83936 C 367.73462,304.30518 360.11353,305.4585 321.58911,315.6377 C 320.56372,321.21484 319.75854,326.2207 320.01538,330.46191 C 320.76538,342.83545 329.3894,385.95508 327.8894,392.7041 C 326.3894,399.45312 313.64136,418.20117 297.89331,407.32715 C 282.14526,396.45361 276.52075,393.4541 265.27222,394.5791 C 254.02368,395.70361 239.77563,402.07812 239.77563,419.32568 C 239.77563,436.57373 250.27417,449.69727 268.64673,447.82227 C 287.36353,445.9126 317.92163,423.11035 325.63989,452.69678 C 330.1394,469.94434 330.51392,487.19238 330.1394,498.44092 C 329.95825,503.87646 326.09985,518.06592 322.16089,531.28125 C 353.2854,532.73682 386.47095,531.26611 394.2561,529.93701 C 430.30933,523.78174 429.31909,496.09766 412.62866,477.44385 C 406.25464,470.31934 401.75513,455.32129 405.87964,444.82275 C 414.07056,423.97314 458.8064,422.17773 473.37134,438.82324 C 483.86987,450.82178 475.99585,477.44385 468.49683,482.69287 C 453.52222,493.17529 457.22485,516.83008 473.37134,528.06201 C 504.79126,549.91943 572.35913,535.56152 572.35913,535.56152 C 572.35913,535.56152 567.85962,498.06592 567.48462,471.81934 C 567.10962,445.57275 589.60669,450.07227 593.3562,450.07227 C 597.10571,450.07227 604.22974,455.32129 609.47925,459.4458 C 614.72876,463.57031 618.85327,469.94434 630.85181,470.69434 C 677.43726,473.60596 674.58813,420.7373 631.97632,413.32666 C 623.35229,411.82666 614.72876,416.32617 603.10522,424.57519 C 591.48169,432.82422 577.23315,425.32519 570.10913,417.45117 C 566.07788,412.99561 563.8479,360.16406 562.46753,313.56396 C 556.92212,315.89502 549.91821,318.38672 542.10864,320.12939 C 527.97192,323.28467 509.70142,322.47803 500.74292,321.83789 z " style="fill:#f3f3d6;stroke:#000000" id="path2504"/>
|
||||
<path d="M 240.52563,141.86035 C 257.60327,159.6499 243.94507,188.68799 214.65356,190.22949 C 185.09448,191.78516 164.66675,157.17822 190.28589,136.61621 C 200.49585,128.42139 198.05786,114.12158 179.78296,106.98975 C 154.4187,97.091553 90.54419,107.73975 90.54419,107.73975 C 90.54419,107.73975 100.88794,135.11328 101.41772,168.48242 C 101.79272,192.104 68.796875,189.47949 63.172607,186.85498 C 57.54834,184.23047 45.924805,173.73145 37.675781,173.73145 C -14.411865,173.73145 -10.013184,245.84375 39.925537,232.22412 C 48.174316,229.97461 56.42334,220.97559 68.796875,222.47559 C 81.17041,223.9751 87.544434,232.59912 87.544434,246.09766 C 87.544434,252.51709 87.0354,281.24268 86.340576,312.87012 C 119.15894,313.67676 160.60962,314.46582 170.03442,313.58887 C 186.15698,312.08936 195.90601,301.59033 188.40698,293.3418 C 180.90796,285.09277 156.16089,256.59619 179.03296,239.34814 C 201.90503,222.10059 235.65112,231.84912 239.77563,247.22217 C 243.90015,262.59521 240.52563,273.46924 234.90112,279.09326 C 229.27661,284.71777 210.52905,298.96582 221.40259,308.71484 C 232.27661,318.46338 263.77222,330.83691 302.39282,320.71338 C 309.58862,318.82715 315.92114,317.13525 321.58911,315.6377 C 323.17603,307.00635 325.29321,296.99414 324.84595,286.23486 C 324.08374,267.90723 316.34888,247.5708 314.76636,236.34863 C 310.64185,207.10254 349.26196,204.85254 356.38599,211.97656 C 363.51001,219.10107 377.75806,223.6001 382.25757,223.6001 C 419.78296,223.6001 424.61841,168.54297 380.00806,169.98193 C 368.38452,170.35693 357.8855,177.48096 354.88599,178.98096 C 351.88647,180.48096 354.13647,183.48047 336.13843,184.23047 C 318.14087,184.97998 312.14136,171.85693 311.76636,154.23389 C 311.55688,144.39697 315.08423,120.9751 318.24194,102.19775 C 290.37524,101.67725 262.46069,98.968262 254.39868,97.991211 C 233.38013,95.443359 217.17456,117.53662 240.52563,141.86035 z " style="fill:#bebcdb;stroke:#000000" id="path2506"/>
|
||||
<path d="M 325.63989,452.69678 C 317.92163,423.11035 287.36353,445.9126 268.64673,447.82227 C 250.27417,449.69727 239.77563,436.57373 239.77563,419.32568 C 239.77563,402.07812 254.02368,395.70361 265.27222,394.5791 C 276.52075,393.4541 282.14526,396.45361 297.89331,407.32715 C 313.64136,418.20117 326.3894,399.45313 327.8894,392.7041 C 329.3894,385.95508 320.76538,342.83545 320.01538,330.46191 C 319.75855,326.2207 320.56372,321.21484 321.58911,315.6377 C 315.92114,317.13525 309.58862,318.82715 302.39282,320.71338 C 263.77222,330.83691 232.27661,318.46338 221.40259,308.71484 C 210.52905,298.96582 229.27661,284.71777 234.90112,279.09326 C 240.52563,273.46924 243.90015,262.59521 239.77563,247.22217 C 235.65112,231.84912 201.90503,222.10059 179.03296,239.34814 C 156.16089,256.59619 180.90796,285.09277 188.40698,293.3418 C 195.90601,301.59033 186.15698,312.08936 170.03442,313.58887 C 160.60962,314.46582 119.15894,313.67676 86.340576,312.87012 C 85.573975,347.74561 84.581299,386.15088 83.794922,402.07812 C 82.295166,432.44922 109.29175,422.32568 115.66577,420.82568 C 122.04028,419.32568 126.16479,409.57715 143.03735,408.45215 C 185.9231,405.59326 186.09985,466.69629 144.16235,467.69482 C 128.41431,468.06982 113.79126,451.19678 108.16675,447.44727 C 102.54272,443.69775 87.919433,442.94775 83.794922,457.9458 C 82.01709,464.41113 78.118652,481.65137 78.098144,496.18994 C 78.071045,515.38037 82.295166,531.81201 82.295166,531.81201 C 82.295166,531.81201 105.54224,526.5625 149.41187,526.5625 C 193.28149,526.5625 199.65552,547.93506 194.78101,558.80859 C 189.90649,569.68213 181.28296,568.93213 179.40796,583.18066 C 172.7063,634.11133 253.34106,631.08203 249.14917,584.68018 C 247.96948,571.62354 237.16528,571.66699 232.27661,557.68359 C 222.17944,528.80273 244.64966,523.56299 257.39819,524.68799 C 263.59351,525.23437 290.95679,529.73389 320.75757,531.21582 C 321.22437,531.23877 321.69312,531.25928 322.16089,531.28125 C 326.09985,518.06592 329.95825,503.87646 330.1394,498.44092 C 330.51392,487.19238 330.1394,469.94434 325.63989,452.69678 z " style="fill:#d3ea9d;stroke:#000000" id="path2508"/>
|
||||
</g>
|
||||
</svg>
|
||||
<script src="../bower_components/yjs/y.js"></script>
|
||||
<script src="../bower_components/d3/d3.js"></script>
|
||||
<script src="./index.js"></script>
|
||||
</body>
|
||||
</html>
|
@ -1,69 +0,0 @@
|
||||
/* @flow */
|
||||
/* global Y, d3 */
|
||||
|
||||
// initialize a shared object. This function call returns a promise!
|
||||
Y({
|
||||
db: {
|
||||
name: 'memory'
|
||||
},
|
||||
connector: {
|
||||
name: 'websockets-client',
|
||||
room: 'Puzzle-example'
|
||||
},
|
||||
sourceDir: '/bower_components',
|
||||
share: {
|
||||
piece1: 'Map',
|
||||
piece2: 'Map',
|
||||
piece3: 'Map',
|
||||
piece4: 'Map'
|
||||
}
|
||||
}).then(function (y) {
|
||||
window.yJigsaw = y
|
||||
var origin // mouse start position - translation of piece
|
||||
var drag = d3.behavior.drag()
|
||||
.on('dragstart', function (params) {
|
||||
// get the translation of the element
|
||||
var translation = d3.select(this).attr('transform').slice(10,-1).split(',').map(Number)
|
||||
// mouse coordinates
|
||||
var mouse = d3.mouse(this.parentNode)
|
||||
origin = {
|
||||
x: mouse[0] - translation[0],
|
||||
y: mouse[1] - translation[1]
|
||||
}
|
||||
})
|
||||
.on("drag", function(){
|
||||
var mouse = d3.mouse(this.parentNode)
|
||||
var x = mouse[0] - origin.x // =^= mouse - mouse at dragstart + translation at dragstart
|
||||
var y = mouse[1] - origin.y
|
||||
d3.select(this).attr("transform", "translate(" + x + "," + y + ")")
|
||||
})
|
||||
.on('dragend', function (piece, i) {
|
||||
// save the current translation of the puzzle piece
|
||||
var mouse = d3.mouse(this.parentNode)
|
||||
var x = mouse[0] - origin.x
|
||||
var y = mouse[1] - origin.y
|
||||
piece.set('translation', {x: x, y: y})
|
||||
})
|
||||
|
||||
var data = [y.share.piece1, y.share.piece2, y.share.piece3, y.share.piece4]
|
||||
var pieces = d3.select(document.querySelector("#puzzle-example")).selectAll("path").data(data)
|
||||
|
||||
pieces
|
||||
.classed('draggable', true)
|
||||
.attr("transform", function (piece) {
|
||||
var translation = piece.get('translation') || {x: 0, y: 0}
|
||||
return "translate(" + translation.x + "," + translation.y + ")"
|
||||
}).call(drag)
|
||||
|
||||
data.forEach(function(piece){
|
||||
piece.observe(function () {
|
||||
// whenever a property of a piece changes, update the translation of the pieces
|
||||
pieces
|
||||
.transition()
|
||||
.attr("transform", function (piece) {
|
||||
var translation = piece.get('translation') || {x: 0, y: 0}
|
||||
return "translate(" + translation.x + "," + translation.y + ")"
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
@ -1,145 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="../bower_components/quill/dist/quill.snow.css" />
|
||||
<style>
|
||||
#quill {
|
||||
border: 1px solid gray;
|
||||
box-shadow: 0px 0px 10px gray;
|
||||
}
|
||||
#toolbar {
|
||||
border-bottom: 1px solid gray;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="quill">
|
||||
<!-- Create the toolbar container -->
|
||||
<div id="toolbar" class="toolbar">
|
||||
<span class="ql-format-group">
|
||||
<select title="Font" class="ql-font">
|
||||
<option value="sans-serif" selected="">Sans Serif</option>
|
||||
<option value="serif">Serif</option>
|
||||
<option value="monospace">Monospace</option>
|
||||
</select>
|
||||
<select title="Size" class="ql-size">
|
||||
<option value="10px">Small</option>
|
||||
<option value="13px" selected="">Normal</option>
|
||||
<option value="18px">Large</option>
|
||||
<option value="32px">Huge</option>
|
||||
</select>
|
||||
</span>
|
||||
<span class="ql-format-group">
|
||||
<span title="Bold" class="ql-format-button ql-bold"></span>
|
||||
<span class="ql-format-separator"></span>
|
||||
<span title="Italic" class="ql-format-button ql-italic"></span>
|
||||
<span class="ql-format-separator"></span>
|
||||
<span title="Underline" class="ql-format-button ql-underline"></span>
|
||||
<span class="ql-format-separator"></span>
|
||||
<span title="Strikethrough" class="ql-format-button ql-strike"></span>
|
||||
</span>
|
||||
<span class="ql-format-group">
|
||||
<select title="Text Color" class="ql-color">
|
||||
<option value="rgb(0, 0, 0)" label="rgb(0, 0, 0)" selected=""></option>
|
||||
<option value="rgb(230, 0, 0)" label="rgb(230, 0, 0)"></option>
|
||||
<option value="rgb(255, 153, 0)" label="rgb(255, 153, 0)"></option>
|
||||
<option value="rgb(255, 255, 0)" label="rgb(255, 255, 0)"></option>
|
||||
<option value="rgb(0, 138, 0)" label="rgb(0, 138, 0)"></option>
|
||||
<option value="rgb(0, 102, 204)" label="rgb(0, 102, 204)"></option>
|
||||
<option value="rgb(153, 51, 255)" label="rgb(153, 51, 255)"></option>
|
||||
<option value="rgb(255, 255, 255)" label="rgb(255, 255, 255)"></option>
|
||||
<option value="rgb(250, 204, 204)" label="rgb(250, 204, 204)"></option>
|
||||
<option value="rgb(255, 235, 204)" label="rgb(255, 235, 204)"></option>
|
||||
<option value="rgb(255, 255, 204)" label="rgb(255, 255, 204)"></option>
|
||||
<option value="rgb(204, 232, 204)" label="rgb(204, 232, 204)"></option>
|
||||
<option value="rgb(204, 224, 245)" label="rgb(204, 224, 245)"></option>
|
||||
<option value="rgb(235, 214, 255)" label="rgb(235, 214, 255)"></option>
|
||||
<option value="rgb(187, 187, 187)" label="rgb(187, 187, 187)"></option>
|
||||
<option value="rgb(240, 102, 102)" label="rgb(240, 102, 102)"></option>
|
||||
<option value="rgb(255, 194, 102)" label="rgb(255, 194, 102)"></option>
|
||||
<option value="rgb(255, 255, 102)" label="rgb(255, 255, 102)"></option>
|
||||
<option value="rgb(102, 185, 102)" label="rgb(102, 185, 102)"></option>
|
||||
<option value="rgb(102, 163, 224)" label="rgb(102, 163, 224)"></option>
|
||||
<option value="rgb(194, 133, 255)" label="rgb(194, 133, 255)"></option>
|
||||
<option value="rgb(136, 136, 136)" label="rgb(136, 136, 136)"></option>
|
||||
<option value="rgb(161, 0, 0)" label="rgb(161, 0, 0)"></option>
|
||||
<option value="rgb(178, 107, 0)" label="rgb(178, 107, 0)"></option>
|
||||
<option value="rgb(178, 178, 0)" label="rgb(178, 178, 0)"></option>
|
||||
<option value="rgb(0, 97, 0)" label="rgb(0, 97, 0)"></option>
|
||||
<option value="rgb(0, 71, 178)" label="rgb(0, 71, 178)"></option>
|
||||
<option value="rgb(107, 36, 178)" label="rgb(107, 36, 178)"></option>
|
||||
<option value="rgb(68, 68, 68)" label="rgb(68, 68, 68)"></option>
|
||||
<option value="rgb(92, 0, 0)" label="rgb(92, 0, 0)"></option>
|
||||
<option value="rgb(102, 61, 0)" label="rgb(102, 61, 0)"></option>
|
||||
<option value="rgb(102, 102, 0)" label="rgb(102, 102, 0)"></option>
|
||||
<option value="rgb(0, 55, 0)" label="rgb(0, 55, 0)"></option>
|
||||
<option value="rgb(0, 41, 102)" label="rgb(0, 41, 102)"></option>
|
||||
<option value="rgb(61, 20, 102)" label="rgb(61, 20, 102)"></option>
|
||||
</select>
|
||||
<span class="ql-format-separator"></span>
|
||||
<select title="Background Color" class="ql-background">
|
||||
<option value="rgb(0, 0, 0)" label="rgb(0, 0, 0)"></option>
|
||||
<option value="rgb(230, 0, 0)" label="rgb(230, 0, 0)"></option>
|
||||
<option value="rgb(255, 153, 0)" label="rgb(255, 153, 0)"></option>
|
||||
<option value="rgb(255, 255, 0)" label="rgb(255, 255, 0)"></option>
|
||||
<option value="rgb(0, 138, 0)" label="rgb(0, 138, 0)"></option>
|
||||
<option value="rgb(0, 102, 204)" label="rgb(0, 102, 204)"></option>
|
||||
<option value="rgb(153, 51, 255)" label="rgb(153, 51, 255)"></option>
|
||||
<option value="rgb(255, 255, 255)" label="rgb(255, 255, 255)" selected=""></option>
|
||||
<option value="rgb(250, 204, 204)" label="rgb(250, 204, 204)"></option>
|
||||
<option value="rgb(255, 235, 204)" label="rgb(255, 235, 204)"></option>
|
||||
<option value="rgb(255, 255, 204)" label="rgb(255, 255, 204)"></option>
|
||||
<option value="rgb(204, 232, 204)" label="rgb(204, 232, 204)"></option>
|
||||
<option value="rgb(204, 224, 245)" label="rgb(204, 224, 245)"></option>
|
||||
<option value="rgb(235, 214, 255)" label="rgb(235, 214, 255)"></option>
|
||||
<option value="rgb(187, 187, 187)" label="rgb(187, 187, 187)"></option>
|
||||
<option value="rgb(240, 102, 102)" label="rgb(240, 102, 102)"></option>
|
||||
<option value="rgb(255, 194, 102)" label="rgb(255, 194, 102)"></option>
|
||||
<option value="rgb(255, 255, 102)" label="rgb(255, 255, 102)"></option>
|
||||
<option value="rgb(102, 185, 102)" label="rgb(102, 185, 102)"></option>
|
||||
<option value="rgb(102, 163, 224)" label="rgb(102, 163, 224)"></option>
|
||||
<option value="rgb(194, 133, 255)" label="rgb(194, 133, 255)"></option>
|
||||
<option value="rgb(136, 136, 136)" label="rgb(136, 136, 136)"></option>
|
||||
<option value="rgb(161, 0, 0)" label="rgb(161, 0, 0)"></option>
|
||||
<option value="rgb(178, 107, 0)" label="rgb(178, 107, 0)"></option>
|
||||
<option value="rgb(178, 178, 0)" label="rgb(178, 178, 0)"></option>
|
||||
<option value="rgb(0, 97, 0)" label="rgb(0, 97, 0)"></option>
|
||||
<option value="rgb(0, 71, 178)" label="rgb(0, 71, 178)"></option>
|
||||
<option value="rgb(107, 36, 178)" label="rgb(107, 36, 178)"></option>
|
||||
<option value="rgb(68, 68, 68)" label="rgb(68, 68, 68)"></option>
|
||||
<option value="rgb(92, 0, 0)" label="rgb(92, 0, 0)"></option>
|
||||
<option value="rgb(102, 61, 0)" label="rgb(102, 61, 0)"></option>
|
||||
<option value="rgb(102, 102, 0)" label="rgb(102, 102, 0)"></option>
|
||||
<option value="rgb(0, 55, 0)" label="rgb(0, 55, 0)"></option>
|
||||
<option value="rgb(0, 41, 102)" label="rgb(0, 41, 102)"></option>
|
||||
<option value="rgb(61, 20, 102)" label="rgb(61, 20, 102)"></option>
|
||||
</select>
|
||||
</span>
|
||||
<span class="ql-format-group">
|
||||
<span title="List" class="ql-format-button ql-list"></span>
|
||||
<span class="ql-format-separator"></span>
|
||||
<span title="Bullet" class="ql-format-button ql-bullet"></span>
|
||||
<span class="ql-format-separator"></span>
|
||||
<select title="Text Alignment" class="ql-align">
|
||||
<option value="left" label="Left" selected=""></option>
|
||||
<option value="center" label="Center"></option>
|
||||
<option value="right" label="Right"></option>
|
||||
<option value="justify" label="Justify"></option>
|
||||
</select>
|
||||
</span>
|
||||
<span class="ql-format-group">
|
||||
<span title="Link" class="ql-format-button ql-link"></span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<!-- Create the editor container -->
|
||||
<div id="editor">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Include the Quill library -->
|
||||
<script src="../bower_components/quill/dist/quill.js"></script>
|
||||
<script src="../bower_components/yjs/y.es6"></script>
|
||||
<script src="./index.js"></script>
|
||||
</body>
|
||||
</html>
|
@ -1,33 +0,0 @@
|
||||
/* global Y, Quill */
|
||||
|
||||
// initialize a shared object. This function call returns a promise!
|
||||
|
||||
Y({
|
||||
db: {
|
||||
name: 'memory'
|
||||
},
|
||||
connector: {
|
||||
name: 'websockets-client',
|
||||
room: 'richtext-example',
|
||||
debug: true
|
||||
// url: 'http://127.0.0.1:1234'
|
||||
},
|
||||
sourceDir: '/bower_components',
|
||||
share: {
|
||||
richtext: 'Richtext' // y.share.richtext is of type Y.Richtext
|
||||
}
|
||||
}).then(function (y) {
|
||||
window.yQuill = y
|
||||
|
||||
// create quill element
|
||||
window.quill = new Quill('#editor', {
|
||||
modules: {
|
||||
'toolbar': { container: '#toolbar' },
|
||||
'link-tooltip': true
|
||||
},
|
||||
theme: 'snow'
|
||||
})
|
||||
// bind quill to richtext type
|
||||
y.share.richtext.bind(window.quill)
|
||||
})
|
||||
|
@ -1,8 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
<textarea style="width:80%;" rows=40 id="textfield" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
|
||||
<script src="../bower_components/yjs/y.es6"></script>
|
||||
<script src="./index.js"></script>
|
||||
</body>
|
||||
</html>
|
@ -1,22 +0,0 @@
|
||||
/* global Y */
|
||||
|
||||
// initialize a shared object. This function call returns a promise!
|
||||
Y({
|
||||
db: {
|
||||
name: 'memory'
|
||||
},
|
||||
connector: {
|
||||
name: 'websockets-client',
|
||||
room: 'Textarea-example'
|
||||
},
|
||||
sourceDir: '/bower_components',
|
||||
share: {
|
||||
textarea: 'Text' // y.share.textarea is of type Y.Text
|
||||
}
|
||||
}).then(function (y) {
|
||||
window.yTextarea = y
|
||||
|
||||
// bind the textarea to a shared text element
|
||||
y.share.textarea.bind(document.getElementById('textfield'))
|
||||
// thats it..
|
||||
})
|
@ -1,25 +0,0 @@
|
||||
{
|
||||
"name": "yjs-examples",
|
||||
"version": "0.0",
|
||||
"homepage": "y-js.org",
|
||||
"authors": [
|
||||
"Kevin Jahns <kevin.jahns@rwth-aachen.de>"
|
||||
],
|
||||
"description": "Examples for yjs",
|
||||
"license": "MIT",
|
||||
"ignore": [],
|
||||
"dependencies": {
|
||||
"yjs": "~0.7.6",
|
||||
"y-array": "~0.7.5",
|
||||
"y-map": "~0.7.2",
|
||||
"y-memory": "~0.7.0",
|
||||
"y-richtext": "~0.7.5",
|
||||
"y-webrtc": "~0.7.1",
|
||||
"y-websockets-client": "~0.7.10",
|
||||
"y-text": "~0.7.1",
|
||||
"y-indexeddb": "~0.7.1",
|
||||
"quill": "~0.20.1",
|
||||
"ace": "~1.2.3",
|
||||
"ace-builds": "~1.2.3"
|
||||
}
|
||||
}
|
14
Examples/bower_components/ace-builds/.bower.json
vendored
@ -1,14 +0,0 @@
|
||||
{
|
||||
"name": "ace-builds",
|
||||
"homepage": "https://github.com/ajaxorg/ace-builds",
|
||||
"version": "1.2.3",
|
||||
"_release": "1.2.3",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.2.3",
|
||||
"commit": "e94cb3c7ffccfb2e565cc857f07a988c0989e527"
|
||||
},
|
||||
"_source": "git://github.com/ajaxorg/ace-builds.git",
|
||||
"_target": "~1.2.3",
|
||||
"_originalSource": "ace-builds"
|
||||
}
|
359
Examples/bower_components/ace-builds/ChangeLog.txt
vendored
@ -1,359 +0,0 @@
|
||||
2016.01.17 Version 1.2.3
|
||||
|
||||
* Bugfixes
|
||||
- fix memory leak in setSession (Tyler Stalder)
|
||||
- double click not working on linux/mac
|
||||
|
||||
* new language modes
|
||||
- reStructuredText (Robin Jarry)
|
||||
- NSIS (Jan T. Sott)
|
||||
|
||||
|
||||
2015.10.28 Version 1.2.1
|
||||
|
||||
* new language modes
|
||||
- Swift
|
||||
- JSX
|
||||
|
||||
2015.07.11 Version 1.2.0
|
||||
|
||||
* New Features
|
||||
- Indented soft wrap (danyaPostfactum)
|
||||
- Rounded borders on selections
|
||||
|
||||
* API Changes
|
||||
- unified delta types `{start, end, action, lines}` (Alden Daniels https://github.com/ajaxorg/ace/pull/1745)
|
||||
- "change" event listeners on session and editor get delta objects directly
|
||||
|
||||
* new language modes
|
||||
- SQLServer (Morgan Yarbrough)
|
||||
|
||||
2015.04.03 Version 1.1.9
|
||||
|
||||
- Small Enhancements and Bugfixes
|
||||
|
||||
2014.11.08 Version 1.1.8
|
||||
|
||||
* API Changes
|
||||
- `editor.commands.commandKeyBinding` now contains direct map from keys to commands instead of grouping them by hashid
|
||||
|
||||
* New Features
|
||||
- Improved autoindent for html and php modes (Adam Jimenez)
|
||||
- Find All from searchbox (Colton Voege)
|
||||
|
||||
* new language modes
|
||||
- Elixir, Elm
|
||||
|
||||
2014.09.21 Version 1.1.7
|
||||
|
||||
* Bugfixes
|
||||
- fix several bugs in autocompletion
|
||||
- workaround for inaccurate getBoundingClientRect on chrome 37
|
||||
|
||||
2014.08.17 Version 1.1.6
|
||||
|
||||
* Bugfixes
|
||||
- fix regression in double tap to highlight
|
||||
- Improved Latex Mode (Daniel Felder)
|
||||
|
||||
* API Changes
|
||||
- editor.destroy destroys editor.session too (call editor.setSession(null) to prevent that)
|
||||
|
||||
* new language modes
|
||||
- Praat (José Joaquín Atria)
|
||||
- Eiffel (Victorien Elvinger)
|
||||
- G-code (Adam Joseph Cook)
|
||||
|
||||
2014.07.09 Version 1.1.5
|
||||
|
||||
* Bugfixes
|
||||
- fix regression in autocomplete popup
|
||||
|
||||
* new language modes
|
||||
- gitignore (Devon Carew)
|
||||
|
||||
2014.07.01 Version 1.1.4
|
||||
|
||||
* New Features
|
||||
- Highlight matching tags (Adam Jimenez)
|
||||
- Improved jump to matching command (Adam Jimenez)
|
||||
|
||||
* new language modes
|
||||
- AppleScript (Yaogang Lian)
|
||||
- Vala
|
||||
|
||||
2014.03.08 Version 1.1.3
|
||||
|
||||
* New Features
|
||||
- Allow syntax checkers to be loaded from CDN (Derk-Jan Hartman)
|
||||
- Add ColdFusion behavior (Abram Adams)
|
||||
- add showLineNumbers option
|
||||
- Add html syntax checker (danyaPostfactum)
|
||||
|
||||
* new language modes
|
||||
- Gherkin (Patrick Nevels)
|
||||
- Smarty
|
||||
|
||||
2013.12.02 Version 1.1.2
|
||||
|
||||
* New Features
|
||||
- Accessibility Theme for Ace (Peter Xiao)
|
||||
- use snipetManager for expanding emmet snippets
|
||||
- update jshint to 2.1.4
|
||||
- improve php syntax checker (jdalegonzalez)
|
||||
- add option for autoresizing
|
||||
- add option for autohiding vertical scrollbar
|
||||
- improvements to highlighting of xml like languages (danyaPostfactum)
|
||||
- add support for autocompletion and snippets (gjtorikyan danyaPostfactum and others)
|
||||
- add option to merge similar changes in undo history
|
||||
- add scrollPastEnd option
|
||||
- use html5 dragndrop for text dragging (danyaPostfactum)
|
||||
|
||||
* API Changes
|
||||
- fixed typo in HashHandler commmandManager
|
||||
|
||||
* new language modes
|
||||
- Nix (Zef Hemel)
|
||||
- Protobuf (Zef Hemel)
|
||||
- Soy
|
||||
- Handlebars
|
||||
|
||||
2013.06.04 Version 1.1.1
|
||||
|
||||
- Improved emacs keybindings (Robert Krahn)
|
||||
- Added markClean, isClean methods to UndoManager (Joonsoo Jeon)
|
||||
- Do not allow `Toggle comments` command to remove spaces from indentation
|
||||
- Softer colors for indent guides in dark themes
|
||||
|
||||
* new language modes
|
||||
- Ada
|
||||
- Assembly_x86
|
||||
- Cobol
|
||||
- D
|
||||
- ejs
|
||||
- MATLAB
|
||||
- MySQL
|
||||
- Twig
|
||||
- Verilog
|
||||
|
||||
2013.05.01, Version 1.1.0
|
||||
|
||||
* API Changes
|
||||
- Default position of the editor container is changed to relative. Add `.ace_editor {position: absolute}` css rule to restore old behavior
|
||||
- Changed default line-height to `normal` to not conflict with bootstrap. Use `line-height: inherit` for old behavior.
|
||||
- Changed marker types accepted by session.addMarker. It now accepts "text"|"line"|"fullLine"|"screenLine"
|
||||
- Internal classnames used by editor were made more consistent
|
||||
- Introduced `editor.setOption/getOption/setOptions/getOptions` methods
|
||||
- Introduced positionToIndex, indexToPosition methods
|
||||
|
||||
* New Features
|
||||
- Improved emacs mode (chetstone)
|
||||
with Incremental search and Occur modes (Robert Krahn)
|
||||
|
||||
- Improved ime handling
|
||||
- Searchbox (Vlad Zinculescu)
|
||||
|
||||
- Added elastic tabstops lite extension (Garen Torikian)
|
||||
- Added extension for whitespace manipulation
|
||||
- Added extension for enabling spellchecking from contextmenu
|
||||
- Added extension for displaying available keyboard shortcuts (Matthew Christopher Kastor-Inare III)
|
||||
- Added extension for displaying options panel (Matthew Christopher Kastor-Inare III)
|
||||
- Added modelist extension (Matthew Christopher Kastor-Inare III)
|
||||
|
||||
- Improved toggleCommentLines and added ToggleCommentBlock command
|
||||
- `:;` pairing in CSS mode (danyaPostfactum)
|
||||
|
||||
- Added suppoert for Delete and SelectAll from context menu (danyaPostfactum)
|
||||
|
||||
- Make wrapping behavior optional
|
||||
- Selective bracket insertion/skipping
|
||||
|
||||
- Added commands for increase/decrease numbers, sort lines (Vlad Zinculescu)
|
||||
- Folding for Markdown, Lua, LaTeX
|
||||
- Selective bracket insertion/skipping for C-like languages
|
||||
|
||||
* Many new languages
|
||||
- Scheme (Mu Lei)
|
||||
- Dot (edwardsp)
|
||||
- FreeMarker (nguillaumin)
|
||||
- Tiny Mushcode (h3rb)
|
||||
- Velocity (Ryan Griffith)
|
||||
- TOML (Garen Torikian)
|
||||
- LSL (Nemurimasu Neiro, Builders Brewery)
|
||||
- Curly (Libo Cannici)
|
||||
- vbScript (Jan Jongboom)
|
||||
- R (RStudio)
|
||||
- ABAP
|
||||
- Lucene (Graham Scott)
|
||||
- Haml (Garen Torikian)
|
||||
- Objective-C (Garen Torikian)
|
||||
- Makefile (Garen Torikian)
|
||||
- TypeScript (Garen Torikian)
|
||||
- Lisp (Garen Torikian)
|
||||
- Stylus (Garen Torikian)
|
||||
- Dart (Garen Torikian)
|
||||
|
||||
* Live syntax checks
|
||||
- PHP (danyaPostfactum)
|
||||
- Lua
|
||||
|
||||
* New Themes
|
||||
- Chaos
|
||||
- Terminal
|
||||
|
||||
2012.09.17, Version 1.0.0
|
||||
|
||||
* New Features
|
||||
- Multiple cursors and selections (https://c9.io/site/blog/2012/08/be-an-armenian-warrior-with-block-selection-on-steroids/)
|
||||
- Fold buttons displayed in the gutter
|
||||
- Indent Guides
|
||||
- Completely reworked vim mode (Sergi Mansilla)
|
||||
- Improved emacs keybindings
|
||||
- Autoclosing of html tags (danyaPostfactum)
|
||||
|
||||
* 20 New language modes
|
||||
- Coldfusion (Russ)
|
||||
- Diff
|
||||
- GLSL (Ed Mackey)
|
||||
- Go (Davide Saurino)
|
||||
- Haxe (Jason O'Neil)
|
||||
- Jade (Garen Torikian)
|
||||
- jsx (Syu Kato)
|
||||
- LaTeX (James Allen)
|
||||
- Less (John Roepke)
|
||||
- Liquid (Bernie Telles)
|
||||
- Lua (Lee Gao)
|
||||
- LuaPage (Choonster)
|
||||
- Markdown (Chris Spencer)
|
||||
- PostgreSQL (John DeSoi)
|
||||
- Powershell (John Kane)
|
||||
- Sh (Richo Healey)
|
||||
- SQL (Jonathan Camile)
|
||||
- Tcl (Cristoph Hochreiner)
|
||||
- XQuery (William Candillion)
|
||||
- Yaml (Meg Sharkey)
|
||||
|
||||
* Live syntax checks
|
||||
- for XQuery and JSON
|
||||
|
||||
* New Themes
|
||||
- Ambiance (Irakli Gozalishvili)
|
||||
- Dreamweaver (Adam Jimenez)
|
||||
- Github (bootstraponline)
|
||||
- Tommorrow themes (https://github.com/chriskempson/tomorrow-theme)
|
||||
- XCode
|
||||
|
||||
* Many Small Enhancements and Bugfixes
|
||||
|
||||
2011.08.02, Version 0.2.0
|
||||
|
||||
* Split view (Julian Viereck)
|
||||
- split editor area horizontally or vertivally to show two files at the same
|
||||
time
|
||||
|
||||
* Code Folding (Julian Viereck)
|
||||
- Unstructured code folding
|
||||
- Will be the basis for language aware folding
|
||||
|
||||
* Mode behaviours (Chris Spencer)
|
||||
- Adds mode specific hooks which allow transformations of entered text
|
||||
- Autoclosing of braces, paranthesis and quotation marks in C style modes
|
||||
- Autoclosing of angular brackets in XML style modes
|
||||
|
||||
* New language modes
|
||||
- Clojure (Carin Meier)
|
||||
- C# (Rob Conery)
|
||||
- Groovy (Ben Tilford)
|
||||
- Scala (Ben Tilford)
|
||||
- JSON
|
||||
- OCaml (Sergi Mansilla)
|
||||
- Perl (Panagiotis Astithas)
|
||||
- SCSS/SASS (Andreas Madsen)
|
||||
- SVG
|
||||
- Textile (Kelley van Evert)
|
||||
- SCAD (Jacob Hansson)
|
||||
|
||||
* Live syntax checks
|
||||
- Lint for CSS using CSS Lint <http://csslint.net/>
|
||||
- CoffeeScript
|
||||
|
||||
* New Themes
|
||||
- Crimson Editor (iebuggy)
|
||||
- Merbivore (Michael Schwartz)
|
||||
- Merbivore soft (Michael Schwartz)
|
||||
- Solarized dark/light <http://ethanschoonover.com/solarized> (David Alan Hjelle)
|
||||
- Vibrant Ink (Michael Schwartz)
|
||||
|
||||
* Small Features/Enhancements
|
||||
- Lots of render performance optimizations (Harutyun Amirjanyan)
|
||||
- Improved Ruby highlighting (Chris Wanstrath, Trent Ogren)
|
||||
- Improved PHP highlighting (Thomas Hruska)
|
||||
- Improved CSS highlighting (Sean Kellogg)
|
||||
- Clicks which cause the editor to be focused don't reset the selection
|
||||
- Make padding text layer specific so that print margin and active line
|
||||
highlight are not affected (Irakli Gozalishvili)
|
||||
- Added setFontSize method
|
||||
- Improved vi keybindings (Trent Ogren)
|
||||
- When unfocused make cursor transparent instead of removing it (Harutyun Amirjanyan)
|
||||
- Support for matching groups in tokenizer with arrays of tokens (Chris Spencer)
|
||||
|
||||
* Bug fixes
|
||||
- Add support for the new OSX scroll bars
|
||||
- Properly highlight JavaScript regexp literals
|
||||
- Proper handling of unicode characters in JavaScript identifiers
|
||||
- Fix remove lines command on last line (Harutyun Amirjanyan)
|
||||
- Fix scroll wheel sluggishness in Safari
|
||||
- Make keyboard infrastructure route keys like []^$ the right way (Julian Viereck)
|
||||
|
||||
2011.02.14, Version 0.1.6
|
||||
|
||||
* Floating Anchors
|
||||
- An Anchor is a floating pointer in the document.
|
||||
- Whenever text is inserted or deleted before the cursor, the position of
|
||||
the cursor is updated
|
||||
- Usesd for the cursor and selection
|
||||
- Basis for bookmarks, multiple cursors and snippets in the future
|
||||
* Extensive support for Cocoa style keybindings on the Mac <https://github.com/ajaxorg/ace/issues/closed#issue/116/comment/767803>
|
||||
* New commands:
|
||||
- center selection in viewport
|
||||
- remove to end/start of line
|
||||
- split line
|
||||
- transpose letters
|
||||
* Refator markers
|
||||
- Custom code can be used to render markers
|
||||
- Markers can be in front or behind the text
|
||||
- Markers are now stored in the session (was in the renderer)
|
||||
* Lots of IE8 fixes including copy, cut and selections
|
||||
* Unit tests can also be run in the browser
|
||||
<https://github.com/ajaxorg/ace/blob/master/lib/ace/test/tests.html>
|
||||
* Soft wrap can adapt to the width of the editor (Mike Ratcliffe, Joe Cheng)
|
||||
* Add minimal node server server.js to run the Ace demo in Chrome
|
||||
* The top level editor.html demo has been renamed to index.html
|
||||
* Bug fixes
|
||||
- Fixed gotoLine to consider wrapped lines when calculating where to scroll to (James Allen)
|
||||
- Fixed isues when the editor was scrolled in the web page (Eric Allam)
|
||||
- Highlighting of Python string literals
|
||||
- Syntax rule for PHP comments
|
||||
|
||||
2011.02.08, Version 0.1.5
|
||||
|
||||
* Add Coffeescript Mode (Satoshi Murakami)
|
||||
* Fix word wrap bug (Julian Viereck)
|
||||
* Fix packaged version of the Eclipse mode
|
||||
* Loading of workers is more robust
|
||||
* Fix "click selection"
|
||||
* Allow tokizing empty lines (Daniel Krech)
|
||||
* Make PageUp/Down behavior more consistent with native OS (Joe Cheng)
|
||||
|
||||
2011.02.04, Version 0.1.4
|
||||
|
||||
* Add C/C++ mode contributed by Gastón Kleiman
|
||||
* Fix exception in key input
|
||||
|
||||
2011.02.04, Version 0.1.3
|
||||
|
||||
* Let the packaged version play nice with requireJS
|
||||
* Add Ruby mode contributed by Shlomo Zalman Heigh
|
||||
* Add Java mode contributed by Tom Tasche
|
||||
* Fix annotation bug
|
||||
* Changing a document added a new empty line at the end
|
24
Examples/bower_components/ace-builds/LICENSE
vendored
@ -1,24 +0,0 @@
|
||||
Copyright (c) 2010, Ajax.org B.V.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of Ajax.org B.V. nor the
|
||||
names of its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
21
Examples/bower_components/ace-builds/README.md
vendored
@ -1,21 +0,0 @@
|
||||
Ace (Ajax.org Cloud9 Editor)
|
||||
============================
|
||||
|
||||
Ace is a code editor written in JavaScript.
|
||||
|
||||
This repository has only generated files.
|
||||
If you want to work on ace please go to https://github.com/ajaxorg/ace instead.
|
||||
|
||||
|
||||
here you can find pre-built files for convenience of embedding.
|
||||
it contains 4 versions
|
||||
* [src](https://github.com/ajaxorg/ace-builds/tree/master/src) concatenated but not minified
|
||||
* [src-min](https://github.com/ajaxorg/ace-builds/tree/master/src-min) concatenated and minified with uglify.js
|
||||
* [src-noconflict](https://github.com/ajaxorg/ace-builds/tree/master/src-noconflict) uses ace.require instead of require
|
||||
* [src-min-noconflict](https://github.com/ajaxorg/ace-builds/tree/master/src-min-noconflict) -
|
||||
|
||||
|
||||
For a simple way of embedding ace into webpage see [editor.html](https://github.com/ajaxorg/ace-builds/blob/master/editor.html) or list of other [simple examples](https://github.com/ajaxorg/ace-builds/tree/master/demo)
|
||||
To see ace in action go to [kitchen-sink-demo](http://ajaxorg.github.com/ace-builds/kitchen-sink.html), [scrollable-page-demo](http://ajaxorg.github.com/ace-builds/demo/scrollable-page.html) or [minimal demo](http://ajaxorg.github.com/ace-builds/editor.html),
|
||||
|
||||
|
@ -1,45 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>ACE Autocompletion demo</title>
|
||||
<style type="text/css" media="screen">
|
||||
body {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#editor {
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<pre id="editor"></pre>
|
||||
|
||||
<!-- load ace -->
|
||||
<script src="../src-noconflict/ace.js"></script>
|
||||
<!-- load ace language tools -->
|
||||
<script src="../src-noconflict/ext-language_tools.js"></script>
|
||||
<script>
|
||||
// trigger extension
|
||||
ace.require("ace/ext/language_tools");
|
||||
var editor = ace.edit("editor");
|
||||
editor.session.setMode("ace/mode/html");
|
||||
editor.setTheme("ace/theme/tomorrow");
|
||||
// enable autocompletion and snippets
|
||||
editor.setOptions({
|
||||
enableBasicAutocompletion: true,
|
||||
enableSnippets: true,
|
||||
enableLiveAutocompletion: false
|
||||
});
|
||||
</script>
|
||||
|
||||
<script src="./show_own_source.js"></script>
|
||||
</body>
|
||||
</html>
|
@ -1,64 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<title>Editor</title>
|
||||
<style type="text/css" media="screen">
|
||||
|
||||
.ace_editor {
|
||||
border: 1px solid lightgray;
|
||||
margin: auto;
|
||||
height: 200px;
|
||||
width: 80%;
|
||||
}
|
||||
.scrollmargin {
|
||||
height: 80px;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<pre id="editor1">autoresizing editor</pre>
|
||||
<div class="scrollmargin"></div>
|
||||
<pre id="editor2">minHeight = 2 lines</pre>
|
||||
<div class="scrollmargin"></div>
|
||||
<pre id="editor3" style="width: 40%;"></pre>
|
||||
<div class="scrollmargin"></div>
|
||||
<pre id="editor"></pre>
|
||||
|
||||
<!-- load ace -->
|
||||
<script src="../src/ace.js"></script>
|
||||
<script>
|
||||
|
||||
var editor1 = ace.edit("editor1");
|
||||
editor1.setTheme("ace/theme/tomorrow_night_eighties");
|
||||
editor1.session.setMode("ace/mode/html");
|
||||
editor1.setAutoScrollEditorIntoView(true);
|
||||
editor1.setOption("maxLines", 30);
|
||||
|
||||
var editor2 = ace.edit("editor2");
|
||||
editor2.setTheme("ace/theme/tomorrow_night_blue");
|
||||
editor2.session.setMode("ace/mode/html");
|
||||
editor2.setAutoScrollEditorIntoView(true);
|
||||
editor2.setOption("maxLines", 30);
|
||||
editor2.setOption("minLines", 2);
|
||||
|
||||
var editor = ace.edit("editor3");
|
||||
editor.setOptions({
|
||||
autoScrollEditorIntoView: true,
|
||||
maxLines: 8
|
||||
});
|
||||
editor.renderer.setScrollMargin(10, 10, 10, 10);
|
||||
|
||||
var editor = ace.edit("editor");
|
||||
editor.setTheme("ace/theme/tomorrow");
|
||||
editor.session.setMode("ace/mode/html");
|
||||
editor.setAutoScrollEditorIntoView(true);
|
||||
editor.setOption("maxLines", 100);
|
||||
</script>
|
||||
|
||||
<script src="./show_own_source.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 20 KiB |
@ -1,112 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<link href="style.css" rel="stylesheet" type="text/css">
|
||||
<title>Ace Bookmarklet Builder</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="wrapper">
|
||||
|
||||
<div class="content" style="width: 950px">
|
||||
<div class="column1" style="margin-top: 47px">
|
||||
<textarea id="textarea" style="width:300px; height:300px">
|
||||
/**
|
||||
* This is Ace injected using a bookmarklet.
|
||||
*/
|
||||
function foo() {
|
||||
var bar = true;
|
||||
}</textarea><br>
|
||||
SourceUrl: <br>
|
||||
<input id="srcURL" style="width:300px" value="http://ajaxorg.github.com/ace-builds/src-noconflict"></input><br>
|
||||
<button id="buBuild">Build Link</button> <br> <a href="#"></a>
|
||||
<a href="https://github.com/ajaxorg/ace/">
|
||||
<div class="fork_on_github" ></div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="column2">
|
||||
<h1>Ace Bookmarklet Builder</h1>
|
||||
|
||||
<p id="first">
|
||||
<strong>WARNING:</strong> Currently, this is only supported in non IE browsers.
|
||||
</p>
|
||||
|
||||
<h2>How to use it:</h2>
|
||||
<ul>
|
||||
<li>Select the options as you want them to be by default.</li>
|
||||
<li>Enter the "SourceUrl". This has to be the URL pointing to build/textarea/src/ (you can leave the default to server the scripts from GitHub).</li>
|
||||
<li>Click the "Build Link" button to generate your custom Ace Bookmarklet.</li>
|
||||
<li>Drag the generated link to your toolbar or store it somewhere else.</li>
|
||||
<li>Go to a page with a textarea element and click the bookmarklet - wait a little bit till the files are loaded.</li>
|
||||
<li>Click three times on the textarea you want to replace - Ace will replace it.</li>
|
||||
<li>To change settings, just click the red icon in the bottom right corner.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
function inject(options, callback) {
|
||||
var baseUrl = options.baseUrl || "../../src-noconflict";
|
||||
|
||||
var load = function(path, callback) {
|
||||
var head = document.getElementsByTagName('head')[0];
|
||||
var s = document.createElement('script');
|
||||
|
||||
s.src = baseUrl + "/" + path;
|
||||
head.appendChild(s);
|
||||
|
||||
s.onload = s.onreadystatechange = function(_, isAbort) {
|
||||
if (isAbort || !s.readyState || s.readyState == "loaded" || s.readyState == "complete") {
|
||||
s = s.onload = s.onreadystatechange = null;
|
||||
if (!isAbort)
|
||||
callback();
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
load("ace.js", function() {
|
||||
ace.config.loadModule("ace/ext/textarea", function() {
|
||||
var event = ace.require("ace/lib/event");
|
||||
var areas = document.getElementsByTagName("textarea");
|
||||
for (var i = 0; i < areas.length; i++) {
|
||||
event.addListener(areas[i], "click", function(e) {
|
||||
if (e.detail == 3) {
|
||||
ace.transformTextarea(e.target, options.ace);
|
||||
}
|
||||
});
|
||||
}
|
||||
callback && callback();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Call the inject function to load the ace files.
|
||||
var textAce;
|
||||
inject({}, function () {
|
||||
// Transform the textarea on the page into an ace editor.
|
||||
var t = document.querySelector("textarea");
|
||||
textAce = ace.require("ace/ext/textarea").transformTextarea(t);
|
||||
setTimeout(function(){textAce.setDisplaySettings(true)});
|
||||
});
|
||||
|
||||
|
||||
document.getElementById("buBuild").onclick = function() {
|
||||
var injectSrc = inject.toString().split("\n").join("");
|
||||
injectSrc = injectSrc.replace(/\s+/g, " ");
|
||||
|
||||
var options = textAce.getOptions();
|
||||
options.baseUrl = document.getElementById("srcURL").value;
|
||||
|
||||
var a = document.querySelector("a");
|
||||
a.href = "javascript:(" + injectSrc + ")(" + JSON.stringify(options) + ")";
|
||||
a.innerHTML = "Ace Bookmarklet Link";
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,228 +0,0 @@
|
||||
body {
|
||||
margin:0;
|
||||
padding:0;
|
||||
background-color:#e6f5fc;
|
||||
|
||||
}
|
||||
|
||||
H2, H3, H4 {
|
||||
font-family:Trebuchet MS;
|
||||
font-weight:bold;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
H2 {
|
||||
font-size:28px;
|
||||
color:#263842;
|
||||
padding-bottom:6px;
|
||||
}
|
||||
|
||||
H3 {
|
||||
font-family:Trebuchet MS;
|
||||
font-weight:bold;
|
||||
font-size:22px;
|
||||
color:#253741;
|
||||
margin-top:43px;
|
||||
margin-bottom:8px;
|
||||
}
|
||||
|
||||
H4 {
|
||||
font-family:Trebuchet MS;
|
||||
font-weight:bold;
|
||||
font-size:21px;
|
||||
color:#222222;
|
||||
margin-bottom:4px;
|
||||
}
|
||||
|
||||
P {
|
||||
padding:13px 0;
|
||||
margin:0;
|
||||
line-height:22px;
|
||||
}
|
||||
|
||||
UL{
|
||||
line-height : 22px;
|
||||
}
|
||||
|
||||
PRE{
|
||||
background : #333;
|
||||
color : white;
|
||||
padding : 10px;
|
||||
}
|
||||
|
||||
#header {
|
||||
height : 227px;
|
||||
position:relative;
|
||||
overflow:hidden;
|
||||
background: url(images/background.png) repeat-x 0 0;
|
||||
border-bottom:1px solid #c9e8fa;
|
||||
}
|
||||
|
||||
#header .content .signature {
|
||||
font-family:Trebuchet MS;
|
||||
font-size:11px;
|
||||
color:#ebe4d6;
|
||||
position:absolute;
|
||||
bottom:5px;
|
||||
right:42px;
|
||||
letter-spacing : 1px;
|
||||
}
|
||||
|
||||
.content {
|
||||
width:970px;
|
||||
position:relative;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
#header .content {
|
||||
height:184px;
|
||||
margin-top:22px;
|
||||
}
|
||||
|
||||
#header .content .logo {
|
||||
width : 282px;
|
||||
height : 184px;
|
||||
background:url(images/logo.png) no-repeat 0 0;
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
}
|
||||
|
||||
#header .content .title {
|
||||
width : 605px;
|
||||
height : 58px;
|
||||
background:url(images/ace.png) no-repeat 0 0;
|
||||
position:absolute;
|
||||
top:98px;
|
||||
left:329px;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
background:url(images/body_background.png) repeat-x 0 0;
|
||||
min-height:250px;
|
||||
}
|
||||
|
||||
#wrapper .content {
|
||||
font-family:Arial;
|
||||
font-size:14px;
|
||||
color:#222222;
|
||||
width:1000px;
|
||||
}
|
||||
|
||||
#wrapper .content .column1 {
|
||||
position:relative;
|
||||
float:left;
|
||||
width:315px;
|
||||
margin-right:31px;
|
||||
}
|
||||
|
||||
#wrapper .content .column2 {
|
||||
position:relative;
|
||||
overflow:hidden;
|
||||
float:left;
|
||||
width:600px;
|
||||
padding-top:47px;
|
||||
}
|
||||
|
||||
.fork_on_github {
|
||||
width:310px;
|
||||
height:80px;
|
||||
background:url(images/fork_on_github.png) no-repeat 0 0;
|
||||
position:relative;
|
||||
overflow:hidden;
|
||||
margin-top:49px;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.fork_on_github:hover {
|
||||
background-position:0 -80px;
|
||||
}
|
||||
|
||||
.divider {
|
||||
height:3px;
|
||||
background-color:#bedaea;
|
||||
margin-bottom:3px;
|
||||
}
|
||||
|
||||
.menu {
|
||||
padding:23px 0 0 24px;
|
||||
}
|
||||
|
||||
UL.content-list {
|
||||
padding:15px;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
UL.menu-list {
|
||||
padding:0;
|
||||
margin:0 0 20px 0;
|
||||
list-style-type:none;
|
||||
line-height : 16px;
|
||||
}
|
||||
|
||||
UL.menu-list LI {
|
||||
color:#2557b4;
|
||||
font-family:Trebuchet MS;
|
||||
font-size:14px;
|
||||
padding:7px 0;
|
||||
border-bottom:1px dotted #d6e2e7;
|
||||
}
|
||||
|
||||
UL.menu-list LI:last-child {
|
||||
border-bottom:0;
|
||||
}
|
||||
|
||||
A {
|
||||
color:#2557b4;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
A:hover {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
P#first{
|
||||
background : rgba(255,255,255,0.5);
|
||||
padding : 20px;
|
||||
font-size : 16px;
|
||||
line-height : 24px;
|
||||
margin : 0 0 20px 0;
|
||||
}
|
||||
|
||||
#footer {
|
||||
height:40px;
|
||||
position:relative;
|
||||
overflow:hidden;
|
||||
background:url(images/bottombar.png) repeat-x 0 0;
|
||||
position:relative;
|
||||
margin-top:40px;
|
||||
}
|
||||
|
||||
UL.menu-footer {
|
||||
padding:0;
|
||||
margin:8px 11px 0 0;
|
||||
list-style-type:none;
|
||||
float:right;
|
||||
}
|
||||
|
||||
UL.menu-footer LI {
|
||||
color:white;
|
||||
font-family:Arial;
|
||||
font-size:12px;
|
||||
display:inline-block;
|
||||
margin:0 1px;
|
||||
}
|
||||
|
||||
UL.menu-footer LI A {
|
||||
color:#8dd0ff;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
UL.menu-footer LI A:hover {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -1,39 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>ACE ChromeVox demo</title>
|
||||
<style type="text/css" media="screen">
|
||||
body {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#editor {
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<pre id="editor"></pre>
|
||||
|
||||
<!-- load ace -->
|
||||
<script src="../src/ace.js"></script>
|
||||
<!-- load ace accessibility extension -->
|
||||
<script src="../src/ext-chromevox.js"></script>
|
||||
<script>
|
||||
// trigger extension
|
||||
ace.require("ace/ext/chromevox");
|
||||
var editor = ace.edit("editor");
|
||||
editor.session.setMode("ace/mode/html");
|
||||
editor.setTheme("ace/theme/tomorrow");
|
||||
</script>
|
||||
|
||||
<script src="./show_own_source.js"></script>
|
||||
</body>
|
||||
</html>
|
@ -1,41 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>ACE Emmet demo</title>
|
||||
<style type="text/css" media="screen">
|
||||
body {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#editor {
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<pre id="editor"></pre>
|
||||
|
||||
<!-- load emmet code and snippets compiled for browser -->
|
||||
<script src="https://cloud9ide.github.io/emmet-core/emmet.js"></script>
|
||||
|
||||
<!-- load ace -->
|
||||
<script src="../src/ace.js"></script>
|
||||
<!-- load ace emmet extension -->
|
||||
<script src="../src/ext-emmet.js"></script>
|
||||
<script>
|
||||
var editor = ace.edit("editor");
|
||||
editor.session.setMode("ace/mode/html");
|
||||
// enable emmet on the current editor
|
||||
editor.setOption("enableEmmet", true);
|
||||
</script>
|
||||
|
||||
<script src="./show_own_source.js"></script>
|
||||
</body>
|
||||
</html>
|
@ -1,44 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<title>ACE Editor StatusBar Demo</title>
|
||||
<style type="text/css" media="screen">
|
||||
/*!important without this top: 0; bottom: 0 doesn't work on old ie */
|
||||
body, html {
|
||||
position: absolute;
|
||||
top: 0px; bottom: 0; left: 0; right: 0;
|
||||
margin:0; padding:0;
|
||||
overflow:hidden
|
||||
}
|
||||
|
||||
#editor {
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
top: 0; bottom: 0; left: 0; right: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<pre id="editor">
|
||||
require("ace/ext/old_ie");
|
||||
// now ace will work even on ie7!
|
||||
var editor = ace.edit("editor");
|
||||
</pre>
|
||||
|
||||
<script src="../src/ace.js"></script>
|
||||
<script src="../src/ext-old_ie.js"></script>
|
||||
<script>
|
||||
// before creating an editor patch up things for old ie
|
||||
require("ace/ext/old_ie");
|
||||
// now ace will work even on ie7!
|
||||
var editor = ace.edit("editor");
|
||||
editor.setTheme("ace/theme/textmate");
|
||||
editor.session.setMode("ace/mode/javascript");
|
||||
</script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,30 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>ACE Editor Inside iframe</title>
|
||||
<style type="text/css" media="screen">
|
||||
body, html {
|
||||
height: 100%;
|
||||
margin:0; padding:0;
|
||||
}
|
||||
#editor {
|
||||
padding: 20px; margin: 20px
|
||||
width: 80%; height: 80%;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div style="height: 100%"></div>
|
||||
<div><textarea></textarea></div>
|
||||
<iframe id="editor-iframe" src='data:text/html,
|
||||
<pre id="editor" style="height:100%"></pre>
|
||||
<script src="https://ajaxorg.github.io/ace-builds/src/ace.js"></script>
|
||||
<script>
|
||||
var editor = ace.edit("editor");
|
||||
editor.setTheme("ace/theme/twilight");
|
||||
editor.session.setMode("ace/mode/javascript");
|
||||
</script>
|
||||
'></iframe>
|
||||
</body>
|
||||
</html>
|
@ -1,48 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<title>Editor</title>
|
||||
<style type="text/css" media="screen">
|
||||
body {
|
||||
overflow: hidden;
|
||||
}
|
||||
#editor {
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<pre id="editor"></pre>
|
||||
|
||||
<!-- load ace -->
|
||||
<script src="../src/ace.js"></script>
|
||||
<script>
|
||||
var editor = ace.edit("editor")
|
||||
editor.setTheme("ace/theme/twilight")
|
||||
editor.session.setMode("ace/mode/html")
|
||||
|
||||
// add command to lazy-load keybinding_menu extension
|
||||
editor.commands.addCommand({
|
||||
name: "showKeyboardShortcuts",
|
||||
bindKey: {win: "Ctrl-Alt-h", mac: "Command-Alt-h"},
|
||||
exec: function(editor) {
|
||||
ace.config.loadModule("ace/ext/keybinding_menu", function(module) {
|
||||
module.init(editor);
|
||||
editor.showKeyboardShortcuts()
|
||||
})
|
||||
}
|
||||
})
|
||||
editor.execCommand("showKeyboardShortcuts")
|
||||
</script>
|
||||
|
||||
<script src="./show_own_source.js"></script>
|
||||
</body>
|
||||
</html>
|
Before Width: | Height: | Size: 59 KiB |
@ -1,11 +0,0 @@
|
||||
# A sample .gitignore file.
|
||||
|
||||
.buildlog
|
||||
.DS_Store
|
||||
.svn
|
||||
|
||||
# Negated patterns:
|
||||
!foo.bar
|
||||
|
||||
# Also ignore user settings...
|
||||
/.settings
|
@ -1,53 +0,0 @@
|
||||
#
|
||||
# example Dockerfile for http://docs.docker.io/en/latest/examples/postgresql_service/
|
||||
#
|
||||
|
||||
FROM ubuntu
|
||||
MAINTAINER SvenDowideit@docker.com
|
||||
|
||||
# Add the PostgreSQL PGP key to verify their Debian packages.
|
||||
# It should be the same key as https://www.postgresql.org/media/keys/ACCC4CF8.asc
|
||||
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8
|
||||
|
||||
# Add PostgreSQL's repository. It contains the most recent stable release
|
||||
# of PostgreSQL, ``9.3``.
|
||||
RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" > /etc/apt/sources.list.d/pgdg.list
|
||||
|
||||
# Update the Ubuntu and PostgreSQL repository indexes
|
||||
RUN apt-get update
|
||||
|
||||
# Install ``python-software-properties``, ``software-properties-common`` and PostgreSQL 9.3
|
||||
# There are some warnings (in red) that show up during the build. You can hide
|
||||
# them by prefixing each apt-get statement with DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt-get -y -q install python-software-properties software-properties-common
|
||||
RUN apt-get -y -q install postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3
|
||||
|
||||
# Note: The official Debian and Ubuntu images automatically ``apt-get clean``
|
||||
# after each ``apt-get``
|
||||
|
||||
# Run the rest of the commands as the ``postgres`` user created by the ``postgres-9.3`` package when it was ``apt-get installed``
|
||||
USER postgres
|
||||
|
||||
# Create a PostgreSQL role named ``docker`` with ``docker`` as the password and
|
||||
# then create a database `docker` owned by the ``docker`` role.
|
||||
# Note: here we use ``&&\`` to run commands one after the other - the ``\``
|
||||
# allows the RUN command to span multiple lines.
|
||||
RUN /etc/init.d/postgresql start &&\
|
||||
psql --command "CREATE USER docker WITH SUPERUSER PASSWORD 'docker';" &&\
|
||||
createdb -O docker docker
|
||||
|
||||
# Adjust PostgreSQL configuration so that remote connections to the
|
||||
# database are possible.
|
||||
RUN echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.3/main/pg_hba.conf
|
||||
|
||||
# And add ``listen_addresses`` to ``/etc/postgresql/9.3/main/postgresql.conf``
|
||||
RUN echo "listen_addresses='*'" >> /etc/postgresql/9.3/main/postgresql.conf
|
||||
|
||||
# Expose the PostgreSQL port
|
||||
EXPOSE 5432
|
||||
|
||||
# Add VOLUMEs to allow backup of config, logs and databases
|
||||
VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"]
|
||||
|
||||
# Set the default command to run when starting the container
|
||||
CMD ["/usr/lib/postgresql/9.3/bin/postgres", "-D", "/var/lib/postgresql/9.3/main", "-c", "config_file=/etc/postgresql/9.3/main/postgresql.conf"]
|
@ -1,17 +0,0 @@
|
||||
class Haxe
|
||||
{
|
||||
public static function main()
|
||||
{
|
||||
// Say Hello!
|
||||
var greeting:String = "Hello World";
|
||||
trace(greeting);
|
||||
|
||||
var targets:Array<String> = ["Flash","Javascript","PHP","Neko","C++","iOS","Android","webOS"];
|
||||
trace("Haxe is a great language that can target:");
|
||||
for (target in targets)
|
||||
{
|
||||
trace (" - " + target);
|
||||
}
|
||||
trace("And many more!");
|
||||
}
|
||||
}
|
@ -1,247 +0,0 @@
|
||||
vars it, p
|
||||
|
||||
p = {label, value|
|
||||
print("\n" + label)
|
||||
print(inspect(value))
|
||||
}
|
||||
-- Create an array from 0 to 15
|
||||
p("range", i-collect(range(5)))
|
||||
|
||||
-- Create an array from 0 to 15 and break up in chunks of 4
|
||||
p("chunked range", i-collect(i-chunk(4, range(16))))
|
||||
|
||||
-- Check if all or none items in stream pass test.
|
||||
p("all < 60 in range(60)", i-all?({i|i<60}, range(60)))
|
||||
p("any < 60 in range(60)", i-any?({i|i>60}, range(60)))
|
||||
p("all < 60 in range(70)", i-all?({i|i<60}, range(70)))
|
||||
p("any < 60 in range(70)", i-any?({i|i>60}, range(70)))
|
||||
|
||||
-- Zip three different collections together
|
||||
p("zipped", i-collect(i-zip(
|
||||
range(10),
|
||||
[1,2,3,4,5],
|
||||
i-map({i|i*i}, range(10))
|
||||
)))
|
||||
|
||||
vars names, person, i, doubles, lengths, cubeRange
|
||||
names = ["Thorin", "Dwalin", "Balin", "Bifur", "Bofur", "Bombur", "Oin",
|
||||
"Gloin", "Ori", "Nori", "Dori", "Fili", "Kili", "Bilbo", "Gandalf"]
|
||||
|
||||
for name in names {
|
||||
if name != "Bilbo" && name != "Gandalf" {
|
||||
print(name)
|
||||
}
|
||||
}
|
||||
|
||||
person = {name: "Tim", age: 30}
|
||||
for key, value in person {
|
||||
print(key + " = " + value)
|
||||
}
|
||||
|
||||
i = 0
|
||||
while i < 10 {
|
||||
i = i + 1
|
||||
print(i)
|
||||
}
|
||||
|
||||
print("range")
|
||||
for i in range(10) {
|
||||
print(i + 1)
|
||||
}
|
||||
for i in range(10) {
|
||||
print(10 - i)
|
||||
}
|
||||
|
||||
-- Dynamic object that gives the first 10 doubles
|
||||
doubles = {
|
||||
@len: {| 10 }
|
||||
@get: {key|
|
||||
if key is Integer { key * key }
|
||||
}
|
||||
}
|
||||
print("#doubles", #doubles)
|
||||
|
||||
print("Doubles")
|
||||
for k, v in doubles {
|
||||
print([k, v])
|
||||
}
|
||||
|
||||
-- Dynamic object that has names list as keys and string lenth as values
|
||||
lengths = {
|
||||
@keys: {| names }
|
||||
@get: {key|
|
||||
if key is String { #key }
|
||||
}
|
||||
}
|
||||
|
||||
print ("Lengths")
|
||||
for k, v in lengths {
|
||||
print([k, v])
|
||||
}
|
||||
|
||||
|
||||
cubeRange = {n|
|
||||
vars i, v
|
||||
i = 0
|
||||
{
|
||||
@call: {|
|
||||
v = i
|
||||
i = i + 1
|
||||
if v < n { v * v * v }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print("Cubes")
|
||||
for k, v in cubeRange(5) {
|
||||
print([k, v])
|
||||
}
|
||||
print("String")
|
||||
for k, v in "Hello World" {
|
||||
print([k, v])
|
||||
}
|
||||
|
||||
|
||||
print([i for i in range(10)])
|
||||
print([i for i in range(20) if i % 3])
|
||||
|
||||
|
||||
|
||||
-- Example showing how to do parallel work using split..and
|
||||
base = {bootstrap, target-dir|
|
||||
split {
|
||||
copy("res", target-dir)
|
||||
} and {
|
||||
if newer("src/*.less", target-dir + "/style.css") {
|
||||
lessc("src/" + bootstrap + ".less", target-dir + "/style.css")
|
||||
}
|
||||
} and {
|
||||
build("src/" + bootstrap + ".js", target-dir + "/app.js")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
vars Dragon, pet
|
||||
|
||||
Dragon = {name|
|
||||
vars asleep, stuff-in-belly, stuff-in-intestine,
|
||||
feed, walk, put-to-bed, toss, rock,
|
||||
hungry?, poopy?, passage-of-time
|
||||
|
||||
asleep = false
|
||||
stuff-in-belly = 10 -- He's full.
|
||||
stuff-in-intestine = 0 -- He doesn't need to go.
|
||||
|
||||
print(name + ' is born.')
|
||||
|
||||
feed = {|
|
||||
print('You feed ' + name + '.')
|
||||
stuff-in-belly = 10
|
||||
passage-of-time()
|
||||
}
|
||||
|
||||
walk = {|
|
||||
print('You walk ' + name + ".")
|
||||
stuff-in-intestine = 0
|
||||
passage-of-time
|
||||
}
|
||||
|
||||
put-to-bed = {|
|
||||
print('You put ' + name + ' to bed.')
|
||||
asleep = true
|
||||
for i in range(3) {
|
||||
if asleep {
|
||||
passage-of-time()
|
||||
}
|
||||
if asleep {
|
||||
print(name + ' snores, filling the room with smoke.')
|
||||
}
|
||||
}
|
||||
if asleep {
|
||||
asleep = false
|
||||
print(name + ' wakes up slowly.')
|
||||
}
|
||||
}
|
||||
|
||||
toss = {|
|
||||
print('You toss ' + name + ' up into the air.')
|
||||
print('He giggles, which singes your eyebrows.')
|
||||
passage-of-time()
|
||||
}
|
||||
|
||||
rock = {|
|
||||
print('You rock ' + name + ' gently.')
|
||||
asleep = true
|
||||
print('He briefly dozes off...')
|
||||
passage-of-time()
|
||||
if asleep {
|
||||
asleep = false
|
||||
print('...but wakes when you stop.')
|
||||
}
|
||||
}
|
||||
|
||||
hungry? = {|
|
||||
stuff-in-belly <= 2
|
||||
}
|
||||
|
||||
poopy? = {|
|
||||
stuff-in-intestine >= 8
|
||||
}
|
||||
|
||||
passage-of-time = {|
|
||||
if stuff-in-belly > 0 {
|
||||
-- Move food from belly to intestine
|
||||
stuff-in-belly = stuff-in-belly - 1
|
||||
stuff-in-intestine = stuff-in-intestine + 1
|
||||
} else { -- Our dragon is starving!
|
||||
if asleep {
|
||||
asleep = false
|
||||
print('He wakes up suddenly!')
|
||||
}
|
||||
print(name + ' is starving! In desperation, he ate YOU!')
|
||||
abort "died"
|
||||
}
|
||||
|
||||
if stuff-in-intestine >= 10 {
|
||||
stuff-in-intestine = 0
|
||||
print('Whoops! ' + name + ' had an accident...')
|
||||
}
|
||||
|
||||
if hungry?() {
|
||||
if asleep {
|
||||
asleep = false
|
||||
print('He wakes up suddenly!')
|
||||
}
|
||||
print(name + "'s stomach grumbles...")
|
||||
}
|
||||
|
||||
if poopy?() {
|
||||
if asleep {
|
||||
asleep = false
|
||||
print('He wakes up suddenly!')
|
||||
}
|
||||
print(name + ' does the potty dance...')
|
||||
}
|
||||
}
|
||||
|
||||
-- Export the public interface to this closure object.
|
||||
{
|
||||
feed: feed
|
||||
walk: walk
|
||||
put-to-bed: put-to-bed
|
||||
toss: toss
|
||||
rock: rock
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
pet = Dragon('Norbert')
|
||||
pet.feed()
|
||||
pet.toss()
|
||||
pet.walk()
|
||||
pet.put-to-bed()
|
||||
pet.rock()
|
||||
pet.put-to-bed()
|
||||
pet.put-to-bed()
|
||||
pet.put-to-bed()
|
||||
pet.put-to-bed()
|
@ -1,122 +0,0 @@
|
||||
.PHONY: apf ext worker mode theme package test
|
||||
|
||||
default: apf worker
|
||||
|
||||
update: worker
|
||||
|
||||
# packages apf
|
||||
|
||||
# This is the first line of a comment \
|
||||
and this is still part of the comment \
|
||||
as is this, since I keep ending each line \
|
||||
with a backslash character
|
||||
|
||||
apf:
|
||||
cd node_modules/packager; node package.js projects/apf_cloud9.apr
|
||||
cd node_modules/packager; cat build/apf_release.js | sed 's/\(\/\*FILEHEAD(\).*//g' > ../../plugins-client/lib.apf/www/apf-packaged/apf_release.js
|
||||
|
||||
# package debug version of apf
|
||||
apfdebug:
|
||||
cd node_modules/packager/projects; cat apf_cloud9.apr | sed 's/<p:define name=\"__DEBUG\" value=\"0\" \/>/<p:define name=\"__DEBUG\" value=\"1\" \/>/g' > apf_cloud9_debug2.apr
|
||||
cd node_modules/packager/projects; cat apf_cloud9_debug2.apr | sed 's/apf_release/apf_debug/g' > apf_cloud9_debug.apr; rm apf_cloud9_debug2.apr
|
||||
cd node_modules/packager; node package.js projects/apf_cloud9_debug.apr
|
||||
cd node_modules/packager; cat build/apf_debug.js | sed 's/\(\/\*FILEHEAD(\).*\/apf\/\(.*\)/\1\2/g' > ../../plugins-client/lib.apf/www/apf-packaged/apf_debug.js
|
||||
|
||||
# package_apf--temporary fix for non-workering infra
|
||||
pack_apf:
|
||||
mkdir -p build/src
|
||||
mv plugins-client/lib.apf/www/apf-packaged/apf_release.js build/src/apf_release.js
|
||||
node build/r.js -o name=./build/src/apf_release.js out=./plugins-client/lib.apf/www/apf-packaged/apf_release.js baseUrl=.
|
||||
|
||||
# makes ace; at the moment, requires dryice@0.4.2
|
||||
ace:
|
||||
cd node_modules/ace; make clean pre_build; ./Makefile.dryice.js minimal
|
||||
|
||||
|
||||
# packages core
|
||||
core: ace
|
||||
mkdir -p build/src
|
||||
node build/r.js -o build/core.build.js
|
||||
|
||||
# generates packed template
|
||||
helper:
|
||||
node build/packed_helper.js
|
||||
|
||||
helper_clean:
|
||||
mkdir -p build/src
|
||||
node build/packed_helper.js 1
|
||||
|
||||
# packages ext
|
||||
ext:
|
||||
node build/r.js -o build/app.build.js
|
||||
|
||||
# calls dryice on worker & packages it
|
||||
worker: plugins-client/lib.ace/www/worker/worker-language.js
|
||||
|
||||
plugins-client/lib.ace/www/worker/worker-language.js plugins-client/lib.ace/www/worker/worker-javascript.js : \
|
||||
$(wildcard node_modules/ace/*) $(wildcard node_modules/ace/*/*) $(wildcard node_modules/ace/*/*/mode/*) \
|
||||
$(wildcard plugins-client/ext.language/*) \
|
||||
$(wildcard plugins-client/ext.language/*/*) \
|
||||
$(wildcard plugins-client/ext.linereport/*) \
|
||||
$(wildcard plugins-client/ext.codecomplete/*) \
|
||||
$(wildcard plugins-client/ext.codecomplete/*/*) \
|
||||
$(wildcard plugins-client/ext.jslanguage/*) \
|
||||
$(wildcard plugins-client/ext.jslanguage/*/*) \
|
||||
$(wildcard plugins-client/ext.csslanguage/*) \
|
||||
$(wildcard plugins-client/ext.csslanguage/*/*) \
|
||||
$(wildcard plugins-client/ext.htmllanguage/*) \
|
||||
$(wildcard plugins-client/ext.htmllanguage/*/*) \
|
||||
$(wildcard plugins-client/ext.jsinfer/*) \
|
||||
$(wildcard plugins-client/ext.jsinfer/*/*) \
|
||||
$(wildcard node_modules/treehugger/lib/*) \
|
||||
$(wildcard node_modules/treehugger/lib/*/*) \
|
||||
$(wildcard node_modules/ace/lib/*) \
|
||||
$(wildcard node_modules/ace/*/*) \
|
||||
Makefile.dryice.js
|
||||
mkdir -p plugins-client/lib.ace/www/worker
|
||||
rm -rf /tmp/c9_worker_build
|
||||
mkdir -p /tmp/c9_worker_build/ext
|
||||
ln -s `pwd`/plugins-client/ext.language /tmp/c9_worker_build/ext/language
|
||||
ln -s `pwd`/plugins-client/ext.codecomplete /tmp/c9_worker_build/ext/codecomplete
|
||||
ln -s `pwd`/plugins-client/ext.jslanguage /tmp/c9_worker_build/ext/jslanguage
|
||||
ln -s `pwd`/plugins-client/ext.csslanguage /tmp/c9_worker_build/ext/csslanguage
|
||||
ln -s `pwd`/plugins-client/ext.htmllanguage /tmp/c9_worker_build/ext/htmllanguage
|
||||
ln -s `pwd`/plugins-client/ext.linereport /tmp/c9_worker_build/ext/linereport
|
||||
ln -s `pwd`/plugins-client/ext.linereport_php /tmp/c9_worker_build/ext/linereport_php
|
||||
node Makefile.dryice.js worker
|
||||
cp node_modules/ace/build/src/worker* plugins-client/lib.ace/www/worker
|
||||
|
||||
define
|
||||
|
||||
ifeq
|
||||
|
||||
override
|
||||
|
||||
# copies built ace modes
|
||||
mode:
|
||||
mkdir -p plugins-client/lib.ace/www/mode
|
||||
cp `find node_modules/ace/build/src | grep -E "mode-[a-zA-Z_0-9]+.js"` plugins-client/lib.ace/www/mode
|
||||
|
||||
# copies built ace themes
|
||||
theme:
|
||||
mkdir -p plugins-client/lib.ace/www/theme
|
||||
cp `find node_modules/ace/build/src | grep -E "theme-[a-zA-Z_0-9]+.js"` plugins-client/lib.ace/www/theme
|
||||
|
||||
gzip_safe:
|
||||
for i in `ls ./plugins-client/lib.packed/www/*.js`; do \
|
||||
gzip -9 -v -c -q -f $$i > $$i.gz ; \
|
||||
done
|
||||
|
||||
gzip:
|
||||
for i in `ls ./plugins-client/lib.packed/www/*.js`; do \
|
||||
gzip -9 -v -q -f $$i ; \
|
||||
done
|
||||
|
||||
c9core: apf ace core worker mode theme
|
||||
|
||||
package_clean: helper_clean c9core ext
|
||||
|
||||
package: helper c9core ext
|
||||
|
||||
test check:
|
||||
test/run-tests.sh
|
@ -1,57 +0,0 @@
|
||||
{
|
||||
# Name of our deployment
|
||||
network.description = "HelloWorld";
|
||||
# Enable rolling back to previous versions of our infrastructure
|
||||
network.enableRollback = true;
|
||||
|
||||
# It consists of a single server named 'helloserver'
|
||||
helloserver =
|
||||
# Every server gets passed a few arguments, including a reference
|
||||
# to nixpkgs (pkgs)
|
||||
{ config, pkgs, ... }:
|
||||
let
|
||||
# We import our custom packages from ./default passing pkgs as argument
|
||||
packages = import ./default.nix { pkgs = pkgs; };
|
||||
# This is the nodejs version specified in default.nix
|
||||
nodejs = packages.nodejs;
|
||||
# And this is the application we'd like to deploy
|
||||
app = packages.app;
|
||||
in
|
||||
{
|
||||
# We'll be running our application on port 8080, because a regular
|
||||
# user cannot bind to port 80
|
||||
# Then, using some iptables magic we'll forward traffic designated to port 80 to 8080
|
||||
networking.firewall.enable = true;
|
||||
# We will open up port 22 (SSH) as well otherwise we're locking ourselves out
|
||||
networking.firewall.allowedTCPPorts = [ 80 8080 22 ];
|
||||
networking.firewall.allowPing = true;
|
||||
|
||||
# Port forwarding using iptables
|
||||
networking.firewall.extraCommands = ''
|
||||
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
|
||||
'';
|
||||
|
||||
# To run our node.js program we're going to use a systemd service
|
||||
# We can configure the service to automatically start on boot and to restart
|
||||
# the process in case it crashes
|
||||
systemd.services.helloserver = {
|
||||
description = "Hello world application";
|
||||
# Start the service after the network is available
|
||||
after = [ "network.target" ];
|
||||
# We're going to run it on port 8080 in production
|
||||
environment = { PORT = "8080"; };
|
||||
serviceConfig = {
|
||||
# The actual command to run
|
||||
ExecStart = "${nodejs}/bin/node ${app}/server.js";
|
||||
# For security reasons we'll run this process as a special 'nodejs' user
|
||||
User = "nodejs";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
|
||||
# And lastly we ensure the user we run our application as is created
|
||||
users.extraUsers = {
|
||||
nodejs = { };
|
||||
};
|
||||
};
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
***************************************
|
||||
** Program: EXAMPLE **
|
||||
** Author: Joe Byte, 07-Jul-2007 **
|
||||
***************************************
|
||||
|
||||
REPORT BOOKINGS.
|
||||
|
||||
* Read flight bookings from the database
|
||||
SELECT * FROM FLIGHTINFO
|
||||
WHERE CLASS = 'Y' "Y = economy
|
||||
OR CLASS = 'C'. "C = business
|
||||
(...)
|
||||
|
||||
REPORT TEST.
|
||||
WRITE 'Hello World'.
|
||||
|
||||
USERPROMPT = 'Please double-click on a line in the output list ' &
|
||||
'to see the complete details of the transaction.'.
|
||||
|
||||
|
||||
DATA LAST_EOM TYPE D. "last end-of-month date
|
||||
|
||||
* Start from today's date
|
||||
LAST_EOM = SY-DATUM.
|
||||
* Set characters 6 and 7 (0-relative) of the YYYYMMDD string to "01",
|
||||
* giving the first day of the current month
|
||||
LAST_EOM+6(2) = '01'.
|
||||
* Subtract one day
|
||||
LAST_EOM = LAST_EOM - 1.
|
||||
|
||||
WRITE: 'Last day of previous month was', LAST_EOM.
|
||||
|
||||
DATA : BEGIN OF I_VBRK OCCURS 0,
|
||||
VBELN LIKE VBRK-VBELN,
|
||||
ZUONR LIKE VBRK-ZUONR,
|
||||
END OF I_VBRK.
|
@ -1,171 +0,0 @@
|
||||
%abc-2.1
|
||||
H:This file contains some example English tunes
|
||||
% note that the comments (like this one) are to highlight usages
|
||||
% and would not normally be included in such detail
|
||||
O:England % the origin of all tunes is England
|
||||
|
||||
X:1 % tune no 1
|
||||
T:Dusty Miller, The % title
|
||||
T:Binny's Jig % an alternative title
|
||||
C:Trad. % traditional
|
||||
R:DH % double hornpipe
|
||||
M:3/4 % meter
|
||||
K:G % key
|
||||
B>cd BAG|FA Ac BA|B>cd BAG|DG GB AG:|
|
||||
Bdd gfg|aA Ac BA|Bdd gfa|gG GB AG:|
|
||||
BG G/2G/2G BG|FA Ac BA|BG G/2G/2G BG|DG GB AG:|
|
||||
W:Hey, the dusty miller, and his dusty coat;
|
||||
W:He will win a shilling, or he spend a groat.
|
||||
W:Dusty was the coat, dusty was the colour;
|
||||
W:Dusty was the kiss, that I got frae the miller.
|
||||
|
||||
X:2
|
||||
T:Old Sir Simon the King
|
||||
C:Trad.
|
||||
S:Offord MSS % from Offord manuscript
|
||||
N:see also Playford % reference note
|
||||
M:9/8
|
||||
R:SJ % slip jig
|
||||
N:originally in C % transcription note
|
||||
K:G
|
||||
D|GFG GAG G2D|GFG GAG F2D|EFE EFE EFG|A2G F2E D2:|
|
||||
D|GAG GAB d2D|GAG GAB c2D|[1 EFE EFE EFG|[A2G] F2E D2:|\ % no line-break in score
|
||||
M:12/8 % change of meter
|
||||
[2 E2E EFE E2E EFG|\ % no line-break in score
|
||||
M:9/8 % change of meter
|
||||
A2G F2E D2|]
|
||||
|
||||
X:3
|
||||
T:William and Nancy
|
||||
T:New Mown Hay
|
||||
T:Legacy, The
|
||||
C:Trad.
|
||||
O:England; Gloucs; Bledington % place of origin
|
||||
B:Sussex Tune Book % can be found in these books
|
||||
B:Mally's Cotswold Morris vol.1 2
|
||||
D:Morris On % can be heard on this record
|
||||
P:(AB)2(AC)2A % play the parts in this order
|
||||
M:6/8
|
||||
K:G
|
||||
[P:A] D|"G"G2G GBd|"C"e2e "G"dBG|"D7"A2d "G"BAG|"C"E2"D7"F "G"G2:|
|
||||
[P:B] d|"G"e2d B2d|"C"gfe "G"d2d| "G"e2d B2d|"C"gfe "D7"d2c|
|
||||
"G"B2B Bcd|"C"e2e "G"dBG|"D7"A2d "G"BAG|"C"E2"D7"F "G"G2:|
|
||||
% changes of meter, using inline fields
|
||||
[T:Slows][M:4/4][L:1/4][P:C]"G"d2|"C"e2 "G"d2|B2 d2|"Em"gf "A7"e2|"D7"d2 "G"d2|\
|
||||
"C"e2 "G"d2|[M:3/8][L:1/8] "G"B2 d |[M:6/8] "C"gfe "D7"d2c|
|
||||
"G"B2B Bcd|"C"e2e "G"dBG|"D7"A2d "G"BAG|"C"E2"D7"F "G"G2:|
|
||||
|
||||
X:4
|
||||
T:South Downs Jig
|
||||
R:jig
|
||||
S:Robert Harbron
|
||||
M:6/8
|
||||
L:1/8
|
||||
K:G
|
||||
|: d | dcA G3 | EFG AFE | DEF GAB | cde d2d |
|
||||
dcA G3 | EFG AFE | DEF GAB | cAF G2 :|
|
||||
B | Bcd e2c | d2B c2A | Bcd e2c | [M:9/8]d2B c2B A3 |
|
||||
[M:6/8]DGF E3 | cBA FED | DEF GAB |1 cAF G2 :|2 cAF G3 |]
|
||||
|
||||
X:5
|
||||
T:Atholl Brose
|
||||
% in this example, which reproduces Highland Bagpipe gracing,
|
||||
% the large number of grace notes mean that it is more convenient to be specific about
|
||||
% score line-breaks (using the $ symbol), rather than using code line breaks to indicate them
|
||||
I:linebreak $
|
||||
K:D
|
||||
{gcd}c<{e}A {gAGAG}A2 {gef}e>A {gAGAG}Ad|
|
||||
{gcd}c<{e}A {gAGAG}A>e {ag}a>f {gef}e>d|
|
||||
{gcd}c<{e}A {gAGAG}A2 {gef}e>A {gAGAG}Ad|
|
||||
{g}c/d/e {g}G>{d}B {gf}gG {dc}d>B:|$
|
||||
{g}c<e {gf}g>e {ag}a>e {gf}g>e|
|
||||
{g}c<e {gf}g>e {ag}a2 {GdG}a>d|
|
||||
{g}c<e {gf}g>e {ag}a>e {gf}g>f|
|
||||
{gef}e>d {gf}g>d {gBd}B<{e}G {dc}d>B|
|
||||
{g}c<e {gf}g>e {ag}a>e {gf}g>e|
|
||||
{g}c<e {gf}g>e {ag}a2 {GdG}ad|
|
||||
{g}c<{GdG}e {gf}ga {f}g>e {g}f>d|
|
||||
{g}e/f/g {Gdc}d>c {gBd}B<{e}G {dc}d2|]
|
||||
|
||||
X:6
|
||||
T:Untitled Reel
|
||||
C:Trad.
|
||||
K:D
|
||||
eg|a2ab ageg|agbg agef|g2g2 fgag|f2d2 d2:|\
|
||||
ed|cecA B2ed|cAcA E2ed|cecA B2ed|c2A2 A2:|
|
||||
K:G
|
||||
AB|cdec BcdB|ABAF GFE2|cdec BcdB|c2A2 A2:|
|
||||
|
||||
X:7
|
||||
T:Kitchen Girl
|
||||
C:Trad.
|
||||
K:D
|
||||
[c4a4] [B4g4]|efed c2cd|e2f2 gaba|g2e2 e2fg|
|
||||
a4 g4|efed cdef|g2d2 efed|c2A2 A4:|
|
||||
K:G
|
||||
ABcA BAGB|ABAG EDEG|A2AB c2d2|e3f edcB|ABcA BAGB|
|
||||
ABAG EGAB|cBAc BAG2|A4 A4:|
|
||||
|
||||
%abc-2.1
|
||||
%%pagewidth 21cm
|
||||
%%pageheight 29.7cm
|
||||
%%topspace 0.5cm
|
||||
%%topmargin 1cm
|
||||
%%botmargin 0cm
|
||||
%%leftmargin 1cm
|
||||
%%rightmargin 1cm
|
||||
%%titlespace 0cm
|
||||
%%titlefont Times-Bold 32
|
||||
%%subtitlefont Times-Bold 24
|
||||
%%composerfont Times 16
|
||||
%%vocalfont Times-Roman 14
|
||||
%%staffsep 60pt
|
||||
%%sysstaffsep 20pt
|
||||
%%musicspace 1cm
|
||||
%%vocalspace 5pt
|
||||
%%measurenb 0
|
||||
%%barsperstaff 5
|
||||
%%scale 0.7
|
||||
X: 1
|
||||
T: Canzonetta a tre voci
|
||||
C: Claudio Monteverdi (1567-1643)
|
||||
M: C
|
||||
L: 1/4
|
||||
Q: "Andante mosso" 1/4 = 110
|
||||
%%score [1 2 3]
|
||||
V: 1 clef=treble name="Soprano"sname="A"
|
||||
V: 2 clef=treble name="Alto" sname="T"
|
||||
V: 3 clef=bass middle=d name="Tenor" sname="B"
|
||||
%%MIDI program 1 75 % recorder
|
||||
%%MIDI program 2 75
|
||||
%%MIDI program 3 75
|
||||
K: Eb
|
||||
% 1 - 4
|
||||
[V: 1] |:z4 |z4 |f2ec |_ddcc |
|
||||
w: Son que-sti~i cre-spi cri-ni~e
|
||||
w: Que-sti son gli~oc-chi che mi-
|
||||
[V: 2] |:c2BG|AAGc|(F/G/A/B/)c=A|B2AA |
|
||||
w: Son que-sti~i cre-spi cri-ni~e que - - - - sto~il vi-so e
|
||||
w: Que-sti son~gli oc-chi che mi-ran - - - - do fi-so mi-
|
||||
[V: 3] |:z4 |f2ec|_ddcf |(B/c/_d/e/)ff|
|
||||
w: Son que-sti~i cre-spi cri-ni~e que - - - - sto~il
|
||||
w: Que-sti son~gli oc-chi che mi-ran - - - - do
|
||||
% 5 - 9
|
||||
[V: 1] cAB2 |cAAA |c3B|G2!fermata!Gz ::e4|
|
||||
w: que-sto~il vi-so ond' io ri-man-go~uc-ci-so. Deh,
|
||||
w: ran-do fi-so, tut-to re-stai con-qui-so.
|
||||
[V: 2] AAG2 |AFFF |A3F|=E2!fermata!Ez::c4|
|
||||
w: que-sto~il vi-so ond' io ri-man-go~uc-ci-so. Deh,
|
||||
w: ran-do fi-so tut-to re-stai con-qui-so.
|
||||
[V: 3] (ag/f/e2)|A_ddd|A3B|c2!fermata!cz ::A4|
|
||||
w: vi - - - so ond' io ti-man-go~uc-ci-so. Deh,
|
||||
w: fi - - - so tut-to re-stai con-qui-so.
|
||||
% 10 - 15
|
||||
[V: 1] f_dec |B2c2|zAGF |\
|
||||
w: dim-me-lo ben mi-o, che que-sto\
|
||||
=EFG2 |1F2z2:|2F8|] % more notes
|
||||
w: sol de-si-o_. % more lyrics
|
||||
[V: 2] ABGA |G2AA|GF=EF |(GF3/2=E//D//E)|1F2z2:|2F8|]
|
||||
w: dim-me-lo ben mi-o, che que-sto sol de-si - - - - o_.
|
||||
[V: 3] _dBc>d|e2AF|=EFc_d|c4 |1F2z2:|2F8|]
|
||||
w: dim-me-lo ben mi-o, che que-sto sol de-si-o_.
|
@ -1,51 +0,0 @@
|
||||
package code
|
||||
{
|
||||
/*****************************************
|
||||
* based on textmate actionscript bundle
|
||||
****************************************/
|
||||
|
||||
import fl.events.SliderEvent;
|
||||
|
||||
public class Foo extends MovieClip
|
||||
{
|
||||
//*************************
|
||||
// Properties:
|
||||
|
||||
public var activeSwatch:MovieClip;
|
||||
|
||||
// Color offsets
|
||||
public var c1:Number = 0; // R
|
||||
|
||||
//*************************
|
||||
// Constructor:
|
||||
|
||||
public function Foo()
|
||||
{
|
||||
// Respond to mouse events
|
||||
swatch1_btn.addEventListener(MouseEvent.CLICK,swatchHandler,false,0,false);
|
||||
previewBox_btn.addEventListener(MouseEvent.MOUSE_DOWN,dragPressHandler);
|
||||
|
||||
// Respond to drag events
|
||||
red_slider.addEventListener(SliderEvent.THUMB_DRAG,sliderHandler);
|
||||
|
||||
// Draw a frame later
|
||||
addEventListener(Event.ENTER_FRAME,draw);
|
||||
}
|
||||
|
||||
protected function clickHandler(event:MouseEvent):void
|
||||
{
|
||||
car.transform.colorTransform = new ColorTransform(0,0,0,1,c1,c2,c3);
|
||||
}
|
||||
|
||||
protected function changeRGBHandler(event:Event):void
|
||||
{
|
||||
c1 = Number(c1_txt.text);
|
||||
|
||||
if(!(c1>=0)){
|
||||
c1 = 0;
|
||||
}
|
||||
|
||||
updateSliders();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
with Ada.Text_IO; use Ada.Text_IO;
|
||||
procedure Hello is
|
||||
begin
|
||||
Put_Line("Hello, world!");
|
||||
end Hello;
|
@ -1,18 +0,0 @@
|
||||
section .text
|
||||
global main ;must be declared for using gcc
|
||||
|
||||
main: ;tell linker entry point
|
||||
|
||||
mov edx, len ;message length
|
||||
mov ecx, msg ;message to write
|
||||
mov ebx, 1 ;file descriptor (stdout)
|
||||
mov eax, 4 ;system call number (sys_write)
|
||||
int 0x80 ;call kernel
|
||||
|
||||
mov eax, 1 ;system call number (sys_exit)
|
||||
int 0x80 ;call kernel
|
||||
|
||||
section .data
|
||||
|
||||
msg db 'Hello, world!',0xa ;our dear string
|
||||
len equ $ - msg ;length of our dear string
|
@ -1,35 +0,0 @@
|
||||
#NoEnv
|
||||
SetBatchLines -1
|
||||
|
||||
CoordMode Mouse, Screen
|
||||
OnExit GuiClose
|
||||
|
||||
zoom := 9
|
||||
|
||||
computeSize(){
|
||||
global as_x
|
||||
as_x := Round(ws_x/zoom/2 - 0.5)
|
||||
if (zoom>1) {
|
||||
pix := Round(zoom)
|
||||
} ele {
|
||||
pix := 1
|
||||
}
|
||||
ToolTip Message %as_x% %zoom% %ws_x% %hws_x%
|
||||
}
|
||||
|
||||
hdc_frame := DllCall("GetDC", UInt, MagnifierID)
|
||||
|
||||
; comment
|
||||
DrawCross(byRef x="", rX,rY,z, dc){
|
||||
;specify the style, thickness and color of the cross lines
|
||||
h_pen := DllCall( "gdi32.dll\CreatePen", Int, 0, Int, 1, UInt, 0x0000FF)
|
||||
}
|
||||
|
||||
;Ctrl ^; Shift +; Win #; Alt !
|
||||
^NumPadAdd::
|
||||
^WheelUp::
|
||||
^;:: ;comment
|
||||
If(zoom < ws_x and ( A_ThisHotKey = "^WheelUp" or A_ThisHotKey ="^NumPadAdd") )
|
||||
zoom *= 1.189207115 ; sqrt(sqrt(2))
|
||||
Gosub,setZoom
|
||||
return
|
@ -1,15 +0,0 @@
|
||||
:: batch file highlighting in Ace!
|
||||
@echo off
|
||||
|
||||
CALL set var1=%cd%
|
||||
echo unhide everything in %var1%!
|
||||
|
||||
:: FOR loop in bat is super strange!
|
||||
FOR /f "tokens=*" %%G IN ('dir /A:D /b') DO (
|
||||
echo %var1%%%G
|
||||
attrib -r -a -h -s "%var1%%%G" /D /S
|
||||
)
|
||||
|
||||
pause
|
||||
|
||||
REM that's all
|
@ -1,25 +0,0 @@
|
||||
Searching for var in/.c9/metadata/workspace/pluginsregexp, case sensitive, whole word
|
||||
|
||||
configs/default.js:
|
||||
1: var fs = require("fs");
|
||||
2: var argv = require('optimist').argv;
|
||||
3: var path = require("path");
|
||||
5: var clientExtensions = {};
|
||||
6: var clientDirs = fs.readdirSync(__dirname + "/../plugins-client");
|
||||
7: for (var i = 0; i < clientDirs.length; i++) {
|
||||
8: var dir = clientDirs[i];
|
||||
12: var name = dir.split(".")[1];
|
||||
16: var projectDir = (argv.w && path.resolve(process.cwd(), argv.w)) || process.cwd();
|
||||
17: var fsUrl = "/workspace";
|
||||
19: var port = argv.p || process.env.PORT || 3131;
|
||||
20: var host = argv.l || "localhost";
|
||||
22: var config = {
|
||||
|
||||
configs/local.js:
|
||||
2: var config = require("./default");
|
||||
|
||||
configs/packed.js:
|
||||
1: var config = require("./default");
|
||||
|
||||
|
||||
Found 15 matches in 3 files
|
@ -1,46 +0,0 @@
|
||||
// compound assignment operators
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include \
|
||||
<iostream>
|
||||
|
||||
#include \
|
||||
\
|
||||
<iostream>
|
||||
|
||||
#include \
|
||||
\
|
||||
"iostream"
|
||||
|
||||
#include <boost/asio/io_service.hpp>
|
||||
#include "boost/asio/io_service.hpp"
|
||||
|
||||
#include \
|
||||
\
|
||||
"iostream" \
|
||||
"string" \
|
||||
<vector>
|
||||
|
||||
using namespace std;
|
||||
|
||||
//
|
||||
int main ()
|
||||
{
|
||||
int a, b=3; /* foobar */
|
||||
a = b; // single line comment\
|
||||
continued
|
||||
a+=2; // equivalent to a=a+2
|
||||
cout << a;
|
||||
#if VERBOSE >= 2
|
||||
prints("trace message\n");
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Print an error message and get out */
|
||||
#define ABORT \
|
||||
do { \
|
||||
print( "Abort\n" ); \
|
||||
exit(8); \
|
||||
} while (0) /* Note: No semicolon */
|
@ -1,42 +0,0 @@
|
||||
-- https://github.com/Cirru/cirru-gopher/blob/master/code/scope.cr,
|
||||
|
||||
set a (int 2)
|
||||
|
||||
print (self)
|
||||
|
||||
set c (child)
|
||||
|
||||
under c
|
||||
under parent
|
||||
print a
|
||||
|
||||
print $ get c a
|
||||
|
||||
set c x (int 3)
|
||||
print $ get c x
|
||||
|
||||
set just-print $ code
|
||||
print a
|
||||
|
||||
print just-print
|
||||
|
||||
eval (self) just-print
|
||||
eval just-print
|
||||
|
||||
print (string "string with space")
|
||||
print (string "escapes \n \"\\")
|
||||
|
||||
brackets ((((()))))
|
||||
|
||||
"eval" $ string "eval"
|
||||
|
||||
print (add $ (int 1) (int 2))
|
||||
|
||||
print $ unwrap $
|
||||
map (a $ int 1) (b $ int 2)
|
||||
|
||||
print a
|
||||
int 1
|
||||
, b c
|
||||
int 2
|
||||
, d
|
@ -1,19 +0,0 @@
|
||||
(defn parting
|
||||
"returns a String parting in a given language"
|
||||
([] (parting "World"))
|
||||
([name] (parting name "en"))
|
||||
([name language]
|
||||
; condp is similar to a case statement in other languages.
|
||||
; It is described in more detail later.
|
||||
; It is used here to take different actions based on whether the
|
||||
; parameter "language" is set to "en", "es" or something else.
|
||||
(condp = language
|
||||
"en" (str "Goodbye, " name)
|
||||
"es" (str "Adios, " name)
|
||||
(throw (IllegalArgumentException.
|
||||
(str "unsupported language " language))))))
|
||||
|
||||
(println (parting)) ; -> Goodbye, World
|
||||
(println (parting "Mark")) ; -> Goodbye, Mark
|
||||
(println (parting "Mark" "es")) ; -> Adios, Mark
|
||||
(println (parting "Mark", "xy")) ; -> java.lang.IllegalArgumentException: unsupported language xy
|
@ -1 +0,0 @@
|
||||
TODO
|
@ -1,22 +0,0 @@
|
||||
#!/usr/bin/env coffee
|
||||
|
||||
try
|
||||
throw URIError decodeURI(0xC0ffee * 123456.7e-8 / .9)
|
||||
catch e
|
||||
console.log 'qstring' + "qqstring" + '''
|
||||
qdoc
|
||||
''' + """
|
||||
qqdoc
|
||||
"""
|
||||
|
||||
do ->
|
||||
###
|
||||
herecomment
|
||||
###
|
||||
re = /regex/imgy.test ///
|
||||
heregex # comment
|
||||
///imgy
|
||||
this isnt: `just JavaScript`
|
||||
undefined
|
||||
|
||||
sentence = "#{ 22 / 7 } is a decent approximation of π"
|
@ -1,5 +0,0 @@
|
||||
<!--- hello world --->
|
||||
|
||||
<cfset welcome="Hello World!">
|
||||
|
||||
<cfoutput>#welcome#</cfoutput>
|
@ -1,4 +0,0 @@
|
||||
public void HelloWorld() {
|
||||
//Say Hello!
|
||||
Console.WriteLine("Hello World");
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
.text-layer {
|
||||
font: 12px Monaco, "Courier New", monospace;
|
||||
cursor: text;
|
||||
}
|
||||
|
||||
.blinker {
|
||||
animation: blink 1s linear infinite alternate;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
0%, 40% {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
40.5%, 100% {
|
||||
opacity: 1
|
||||
}
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<style type="text/css">
|
||||
.text-layer {
|
||||
font-family: Monaco, "Courier New", monospace;
|
||||
font-size: 12px;
|
||||
cursor: text;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<h1 style="color:red">{{author_name}}</h1>
|
||||
</body>
|
||||
</html>
|
@ -1,14 +0,0 @@
|
||||
#!/usr/bin/env rdmd
|
||||
// Computes average line length for standard input.
|
||||
import std.stdio;
|
||||
|
||||
void main() {
|
||||
ulong lines = 0;
|
||||
double sumLength = 0;
|
||||
foreach (line; stdin.byLine()) {
|
||||
++lines;
|
||||
sumLength += line.length;
|
||||
}
|
||||
writeln("Average line length: ",
|
||||
lines ? sumLength / lines : 0);
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
// Go ahead and modify this example.
|
||||
|
||||
import "dart:html";
|
||||
|
||||
// Computes the nth Fibonacci number.
|
||||
int fibonacci(int n) {
|
||||
if (n < 2) return n;
|
||||
return fibonacci(n - 1) + fibonacci(n - 2);
|
||||
}
|
||||
|
||||
// Displays a Fibonacci number.
|
||||
void main() {
|
||||
int i = 20;
|
||||
String message = "fibonacci($i) = ${fibonacci(i)}";
|
||||
|
||||
// This example uses HTML to display the result and it will appear
|
||||
// in a nested HTML frame (an iframe).
|
||||
document.body.append(new HeadingElement.h1()..appendText(message));
|
||||
}
|
@ -1,69 +0,0 @@
|
||||
diff --git a/lib/ace/edit_session.js b/lib/ace/edit_session.js
|
||||
index 23fc3fc..ed3b273 100644
|
||||
--- a/lib/ace/edit_session.js
|
||||
+++ b/lib/ace/edit_session.js
|
||||
@@ -51,6 +51,7 @@ var TextMode = require("./mode/text").Mode;
|
||||
var Range = require("./range").Range;
|
||||
var Document = require("./document").Document;
|
||||
var BackgroundTokenizer = require("./background_tokenizer").BackgroundTokenizer;
|
||||
+var SearchHighlight = require("./search_highlight").SearchHighlight;
|
||||
|
||||
/**
|
||||
* class EditSession
|
||||
@@ -307,6 +308,13 @@ var EditSession = function(text, mode) {
|
||||
return token;
|
||||
};
|
||||
|
||||
+ this.highlight = function(re) {
|
||||
+ if (!this.$searchHighlight) {
|
||||
+ var highlight = new SearchHighlight(null, "ace_selected-word", "text");
|
||||
+ this.$searchHighlight = this.addDynamicMarker(highlight);
|
||||
+ }
|
||||
+ this.$searchHighlight.setRegexp(re);
|
||||
+ }
|
||||
/**
|
||||
* EditSession.setUndoManager(undoManager)
|
||||
* - undoManager (UndoManager): The new undo manager
|
||||
@@ -556,7 +564,8 @@ var EditSession = function(text, mode) {
|
||||
type : type || "line",
|
||||
renderer: typeof type == "function" ? type : null,
|
||||
clazz : clazz,
|
||||
- inFront: !!inFront
|
||||
+ inFront: !!inFront,
|
||||
+ id: id
|
||||
}
|
||||
|
||||
if (inFront) {
|
||||
diff --git a/lib/ace/editor.js b/lib/ace/editor.js
|
||||
index 834e603..b27ec73 100644
|
||||
--- a/lib/ace/editor.js
|
||||
+++ b/lib/ace/editor.js
|
||||
@@ -494,7 +494,7 @@ var Editor = function(renderer, session) {
|
||||
* Emitted when a selection has changed.
|
||||
**/
|
||||
this.onSelectionChange = function(e) {
|
||||
- var session = this.getSession();
|
||||
+ var session = this.session;
|
||||
|
||||
if (session.$selectionMarker) {
|
||||
session.removeMarker(session.$selectionMarker);
|
||||
@@ -509,12 +509,40 @@ var Editor = function(renderer, session) {
|
||||
this.$updateHighlightActiveLine();
|
||||
}
|
||||
|
||||
- var self = this;
|
||||
- if (this.$highlightSelectedWord && !this.$wordHighlightTimer)
|
||||
- this.$wordHighlightTimer = setTimeout(function() {
|
||||
- self.session.$mode.highlightSelection(self);
|
||||
- self.$wordHighlightTimer = null;
|
||||
- }, 30, this);
|
||||
+ var re = this.$highlightSelectedWord && this.$getSelectionHighLightRegexp()
|
||||
};
|
||||
diff --git a/lib/ace/search_highlight.js b/lib/ace/search_highlight.js
|
||||
new file mode 100644
|
||||
index 0000000..b2df779
|
||||
--- /dev/null
|
||||
+++ b/lib/ace/search_highlight.js
|
||||
@@ -0,0 +1,3 @@
|
||||
+new
|
||||
+empty file
|
@ -1,110 +0,0 @@
|
||||
// Original source: http://www.graphviz.org/content/lion_share
|
||||
##"A few people in the field of genetics are using dot to draw "marriage node diagram" pedigree drawings. Here is one I have done of a test pedigree from the FTREE pedigree drawing package (Lion Share was a racehorse)." Contributed by David Duffy.
|
||||
|
||||
##Command to get the layout: "dot -Tpng thisfile > thisfile.png"
|
||||
|
||||
digraph Ped_Lion_Share {
|
||||
# page = "8.2677165,11.692913" ;
|
||||
ratio = "auto" ;
|
||||
mincross = 2.0 ;
|
||||
label = "Pedigree Lion_Share" ;
|
||||
|
||||
"001" [shape=box , regular=1,style=filled,fillcolor=white ] ;
|
||||
"002" [shape=box , regular=1,style=filled,fillcolor=white ] ;
|
||||
"003" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"004" [shape=box , regular=1,style=filled,fillcolor=white ] ;
|
||||
"005" [shape=box , regular=1,style=filled,fillcolor=white ] ;
|
||||
"006" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"007" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"009" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"014" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"015" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"016" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"ZZ01" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"ZZ02" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"017" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"012" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"008" [shape=box , regular=1,style=filled,fillcolor=white ] ;
|
||||
"011" [shape=box , regular=1,style=filled,fillcolor=white ] ;
|
||||
"013" [shape=box , regular=1,style=filled,fillcolor=white ] ;
|
||||
"010" [shape=box , regular=1,style=filled,fillcolor=white ] ;
|
||||
"023" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"020" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"021" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"018" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"025" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"019" [shape=box , regular=1,style=filled,fillcolor=white ] ;
|
||||
"022" [shape=box , regular=1,style=filled,fillcolor=white ] ;
|
||||
"024" [shape=box , regular=1,style=filled,fillcolor=white ] ;
|
||||
"027" [shape=circle , regular=1,style=filled,fillcolor=white ] ;
|
||||
"026" [shape=box , regular=1,style=filled,fillcolor=white ] ;
|
||||
"028" [shape=box , regular=1,style=filled,fillcolor=grey ] ;
|
||||
"marr0001" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"001" -> "marr0001" [dir=none,weight=1] ;
|
||||
"007" -> "marr0001" [dir=none,weight=1] ;
|
||||
"marr0001" -> "017" [dir=none, weight=2] ;
|
||||
"marr0002" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"001" -> "marr0002" [dir=none,weight=1] ;
|
||||
"ZZ02" -> "marr0002" [dir=none,weight=1] ;
|
||||
"marr0002" -> "012" [dir=none, weight=2] ;
|
||||
"marr0003" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"002" -> "marr0003" [dir=none,weight=1] ;
|
||||
"003" -> "marr0003" [dir=none,weight=1] ;
|
||||
"marr0003" -> "008" [dir=none, weight=2] ;
|
||||
"marr0004" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"002" -> "marr0004" [dir=none,weight=1] ;
|
||||
"006" -> "marr0004" [dir=none,weight=1] ;
|
||||
"marr0004" -> "011" [dir=none, weight=2] ;
|
||||
"marr0005" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"002" -> "marr0005" [dir=none,weight=1] ;
|
||||
"ZZ01" -> "marr0005" [dir=none,weight=1] ;
|
||||
"marr0005" -> "013" [dir=none, weight=2] ;
|
||||
"marr0006" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"004" -> "marr0006" [dir=none,weight=1] ;
|
||||
"009" -> "marr0006" [dir=none,weight=1] ;
|
||||
"marr0006" -> "010" [dir=none, weight=2] ;
|
||||
"marr0007" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"005" -> "marr0007" [dir=none,weight=1] ;
|
||||
"015" -> "marr0007" [dir=none,weight=1] ;
|
||||
"marr0007" -> "023" [dir=none, weight=2] ;
|
||||
"marr0008" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"005" -> "marr0008" [dir=none,weight=1] ;
|
||||
"016" -> "marr0008" [dir=none,weight=1] ;
|
||||
"marr0008" -> "020" [dir=none, weight=2] ;
|
||||
"marr0009" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"005" -> "marr0009" [dir=none,weight=1] ;
|
||||
"012" -> "marr0009" [dir=none,weight=1] ;
|
||||
"marr0009" -> "021" [dir=none, weight=2] ;
|
||||
"marr0010" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"008" -> "marr0010" [dir=none,weight=1] ;
|
||||
"017" -> "marr0010" [dir=none,weight=1] ;
|
||||
"marr0010" -> "018" [dir=none, weight=2] ;
|
||||
"marr0011" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"011" -> "marr0011" [dir=none,weight=1] ;
|
||||
"023" -> "marr0011" [dir=none,weight=1] ;
|
||||
"marr0011" -> "025" [dir=none, weight=2] ;
|
||||
"marr0012" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"013" -> "marr0012" [dir=none,weight=1] ;
|
||||
"014" -> "marr0012" [dir=none,weight=1] ;
|
||||
"marr0012" -> "019" [dir=none, weight=2] ;
|
||||
"marr0013" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"010" -> "marr0013" [dir=none,weight=1] ;
|
||||
"021" -> "marr0013" [dir=none,weight=1] ;
|
||||
"marr0013" -> "022" [dir=none, weight=2] ;
|
||||
"marr0014" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"019" -> "marr0014" [dir=none,weight=1] ;
|
||||
"020" -> "marr0014" [dir=none,weight=1] ;
|
||||
"marr0014" -> "024" [dir=none, weight=2] ;
|
||||
"marr0015" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"022" -> "marr0015" [dir=none,weight=1] ;
|
||||
"025" -> "marr0015" [dir=none,weight=1] ;
|
||||
"marr0015" -> "027" [dir=none, weight=2] ;
|
||||
"marr0016" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"024" -> "marr0016" [dir=none,weight=1] ;
|
||||
"018" -> "marr0016" [dir=none,weight=1] ;
|
||||
"marr0016" -> "026" [dir=none, weight=2] ;
|
||||
"marr0017" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
|
||||
"026" -> "marr0017" [dir=none,weight=1] ;
|
||||
"027" -> "marr0017" [dir=none,weight=1] ;
|
||||
"marr0017" -> "028" [dir=none, weight=2] ;
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
note
|
||||
description: "Represents a person."
|
||||
|
||||
class
|
||||
PERSON
|
||||
|
||||
create
|
||||
make, make_unknown
|
||||
|
||||
feature {NONE} -- Creation
|
||||
|
||||
make (a_name: like name)
|
||||
-- Create a person with `a_name' as `name'.
|
||||
do
|
||||
name := a_name
|
||||
ensure
|
||||
name = a_name
|
||||
end
|
||||
|
||||
make_unknown
|
||||
do ensure
|
||||
name = Void
|
||||
end
|
||||
|
||||
feature -- Access
|
||||
|
||||
name: detachable STRING
|
||||
-- Full name or Void if unknown.
|
||||
|
||||
end
|
@ -1,31 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Cloud9 Rocks!</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Size</th>
|
||||
</tr>
|
||||
<% if (!isRoot) { %>
|
||||
<tr>
|
||||
<td><a href="..">..</a></td>
|
||||
<td></td></td>
|
||||
</tr>
|
||||
<% } %>
|
||||
<% entries.forEach(function(entry) { %>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="glyphicon <%= entry.mime == 'directory' ? 'folder': 'file'%>"></span>
|
||||
<a href="<%= entry.name %>"><%= entry.name %></a>
|
||||
</td>
|
||||
<td><%= entry.size %></td>
|
||||
</tr>
|
||||
<% }) %>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,42 +0,0 @@
|
||||
defmodule HelloModule do
|
||||
@moduledoc """
|
||||
This is supposed to be `markdown`.
|
||||
__Yes__ this is [mark](http://down.format)
|
||||
|
||||
# Truly
|
||||
|
||||
## marked
|
||||
|
||||
* with lists
|
||||
* more
|
||||
* and more
|
||||
|
||||
Even.with(code)
|
||||
blocks |> with |> samples
|
||||
|
||||
_Docs are first class citizens in Elixir_ (Jose Valim)
|
||||
"""
|
||||
|
||||
# A "Hello world" function
|
||||
def some_fun do
|
||||
IO.puts "Juhu Kinners!"
|
||||
end
|
||||
# A private function
|
||||
defp priv do
|
||||
is_regex ~r"""
|
||||
This is a regex
|
||||
spanning several
|
||||
lines.
|
||||
"""
|
||||
x = elem({ :a, :b, :c }, 0) #=> :a
|
||||
end
|
||||
end
|
||||
|
||||
test_fun = fn(x) ->
|
||||
cond do
|
||||
x > 10 ->
|
||||
:greater_than_ten
|
||||
true ->
|
||||
:maybe_ten
|
||||
end
|
||||
end
|
@ -1,12 +0,0 @@
|
||||
{- Ace {- 4 -} Elm -}
|
||||
main = lift clock (every second)
|
||||
|
||||
clock t = collage 400 400 [ filled lightGrey (ngon 12 110)
|
||||
, outlined (solid grey) (ngon 12 110)
|
||||
, hand orange 100 t
|
||||
, hand charcoal 100 (t/60)
|
||||
, hand charcoal 60 (t/720) ]
|
||||
|
||||
hand clr len time =
|
||||
let angle = degrees (90 - 6 * inSeconds time)
|
||||
in traced (solid clr) <| segment (0,0) (len * cos angle, len * sin angle)
|
@ -1,20 +0,0 @@
|
||||
%% A process whose only job is to keep a counter.
|
||||
%% First version
|
||||
-module(counter).
|
||||
-export([start/0, codeswitch/1]).
|
||||
|
||||
start() -> loop(0).
|
||||
|
||||
loop(Sum) ->
|
||||
receive
|
||||
{increment, Count} ->
|
||||
loop(Sum+Count);
|
||||
{counter, Pid} ->
|
||||
Pid ! {counter, Sum},
|
||||
loop(Sum);
|
||||
code_switch ->
|
||||
?MODULE:codeswitch(Sum)
|
||||
% Force the use of 'codeswitch/1' from the latest MODULE version
|
||||
end.
|
||||
|
||||
codeswitch(Sum) -> loop(Sum).
|
@ -1,41 +0,0 @@
|
||||
: HELLO ( -- ) CR ." Hello, world!" ;
|
||||
|
||||
HELLO <cr>
|
||||
Hello, world!
|
||||
|
||||
: [CHAR] CHAR POSTPONE LITERAL ; IMMEDIATE
|
||||
|
||||
0 value ii 0 value jj
|
||||
0 value KeyAddr 0 value KeyLen
|
||||
create SArray 256 allot \ state array of 256 bytes
|
||||
: KeyArray KeyLen mod KeyAddr ;
|
||||
|
||||
: get_byte + c@ ;
|
||||
: set_byte + c! ;
|
||||
: as_byte 255 and ;
|
||||
: reset_ij 0 TO ii 0 TO jj ;
|
||||
: i_update 1 + as_byte TO ii ;
|
||||
: j_update ii SArray get_byte + as_byte TO jj ;
|
||||
: swap_s_ij
|
||||
jj SArray get_byte
|
||||
ii SArray get_byte jj SArray set_byte
|
||||
ii SArray set_byte
|
||||
;
|
||||
|
||||
: rc4_init ( KeyAddr KeyLen -- )
|
||||
256 min TO KeyLen TO KeyAddr
|
||||
256 0 DO i i SArray set_byte LOOP
|
||||
reset_ij
|
||||
BEGIN
|
||||
ii KeyArray get_byte jj + j_update
|
||||
swap_s_ij
|
||||
ii 255 < WHILE
|
||||
ii i_update
|
||||
REPEAT
|
||||
reset_ij
|
||||
;
|
||||
: rc4_byte
|
||||
ii i_update jj j_update
|
||||
swap_s_ij
|
||||
ii SArray get_byte jj SArray get_byte + as_byte SArray get_byte xor
|
||||
;
|
@ -1,46 +0,0 @@
|
||||
<#ftl encoding="utf-8" />
|
||||
<#setting locale="en_US" />
|
||||
<#import "library" as lib />
|
||||
<#--
|
||||
FreeMarker comment
|
||||
${abc} <#assign a=12 />
|
||||
-->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
|
||||
<title>${title!"FreeMarker"}<title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<h1>Hello ${name!""}</h1>
|
||||
|
||||
<p>Today is: ${.now?date}</p>
|
||||
|
||||
<#assign x = 13>
|
||||
<#if x > 12 && x lt 14>x equals 13: ${x}</#if>
|
||||
|
||||
<ul>
|
||||
<#list items as item>
|
||||
<li>${item_index}: ${item.name!?split("\n")[0]}</li>
|
||||
</#list>
|
||||
</ul>
|
||||
|
||||
User directive: <@lib.function attr1=true attr2='value' attr3=-42.12>Test</@lib.function>
|
||||
<@anotherOne />
|
||||
|
||||
<#if variable?exists>
|
||||
Deprecated
|
||||
<#elseif variable??>
|
||||
Better
|
||||
<#else>
|
||||
Default
|
||||
</#if>
|
||||
|
||||
<img src="images/${user.id}.png" />
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,31 +0,0 @@
|
||||
O003 (DIAMOND SQUARE)
|
||||
N2 G54 G90 G49 G80
|
||||
N3 M6 T1 (1.ENDMILL)
|
||||
N4 M3 S1800
|
||||
N5 G0 X-.6 Y2.050
|
||||
N6 G43 H1 Z.1
|
||||
N7 G1 Z-.3 F50.
|
||||
N8 G41 D1 Y1.45
|
||||
N9 G1 X0 F20.
|
||||
N10 G2 J-1.45
|
||||
(CUTTER COMP CANCEL)
|
||||
N11 G1 Z-.2 F50.
|
||||
N12 Y-.990
|
||||
N13 G40
|
||||
N14 G0 X-.6 Y1.590
|
||||
N15 G0 Z.1
|
||||
N16 M5 G49 G28 G91 Z0
|
||||
N17 CALL O9456
|
||||
N18 #500=0.004
|
||||
N19 #503=[#500+#501]
|
||||
N20 VC45=0.0006
|
||||
VS4=0.0007
|
||||
N21 G90 G10 L20 P3 X5.Y4. Z6.567
|
||||
N22 G0 X5000
|
||||
N23 IF [#1 LT 0.370] GOTO 49
|
||||
N24 X-0.678 Y+.990
|
||||
N25 G84.3 X-0.1
|
||||
N26 #4=#5*COS[45]
|
||||
N27 #4=#5*SIN[45]
|
||||
N28 VZOFZ=652.9658
|
||||
%
|
@ -1,28 +0,0 @@
|
||||
@these @_are_ @tags
|
||||
Feature: Serve coffee
|
||||
Coffee should not be served until paid for
|
||||
Coffee should not be served until the button has been pressed
|
||||
If there is no coffee left then money should be refunded
|
||||
|
||||
Scenario Outline: Eating
|
||||
Given there are <start> cucumbers
|
||||
When I eat <eat> cucumbers
|
||||
Then I should have <left> cucumbers
|
||||
|
||||
Examples:
|
||||
| start | eat | left |
|
||||
| 12 | 5 | 7 |
|
||||
| @20 | 5 | 15 |
|
||||
|
||||
Scenario: Buy last coffee
|
||||
Given there are 1 coffees left in the machine
|
||||
And I have deposited 1$
|
||||
When I press the coffee button
|
||||
Then I should be served a "coffee"
|
||||
|
||||
# this a comment
|
||||
|
||||
"""
|
||||
this is a
|
||||
pystring
|
||||
"""
|
@ -1,20 +0,0 @@
|
||||
uniform float amplitude;
|
||||
attribute float displacement;
|
||||
varying vec3 vNormal;
|
||||
|
||||
void main() {
|
||||
|
||||
vNormal = normal;
|
||||
|
||||
// multiply our displacement by the
|
||||
// amplitude. The amp will get animated
|
||||
// so we'll have animated displacement
|
||||
vec3 newPosition = position +
|
||||
normal *
|
||||
vec3(displacement *
|
||||
amplitude);
|
||||
|
||||
gl_Position = projectionMatrix *
|
||||
modelViewMatrix *
|
||||
vec4(newPosition,1.0);
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
program {
|
||||
/*
|
||||
* A gobstons multiline comment
|
||||
* Taken from:
|
||||
* http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/"
|
||||
*/
|
||||
sumar(2, 3)
|
||||
}
|
||||
function sumar(a, b) {
|
||||
r := a + b
|
||||
}
|
||||
// unreachable code
|
||||
-- unreachable code
|
||||
# unreachable code
|
||||
procedure hacerAlgo() {
|
||||
Mover(Este)
|
||||
Poner(Rojo)
|
||||
Sacar(Azul)
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
// Concurrent computation of pi.
|
||||
// See http://goo.gl/ZuTZM.
|
||||
//
|
||||
// This demonstrates Go's ability to handle
|
||||
// large numbers of concurrent processes.
|
||||
// It is an unreasonable way to calculate pi.
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math"
|
||||
)
|
||||
|
||||
func main() {
|
||||
fmt.Println(pi(5000))
|
||||
}
|
||||
|
||||
// pi launches n goroutines to compute an
|
||||
// approximation of pi.
|
||||
func pi(n int) float64 {
|
||||
ch := make(chan float64)
|
||||
for k := 0; k <= n; k++ {
|
||||
go term(ch, float64(k))
|
||||
}
|
||||
f := 0.0
|
||||
for k := 0; k <= n; k++ {
|
||||
f += <-ch
|
||||
}
|
||||
return f
|
||||
}
|
||||
|
||||
func term(ch chan float64, k float64) {
|
||||
ch <- 4 * math.Pow(-1, k) / (2*k + 1)
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
//http://groovy.codehaus.org/Martin+Fowler%27s+closure+examples+in+Groovy
|
||||
|
||||
class Employee {
|
||||
def name, salary
|
||||
boolean manager
|
||||
String toString() { return name }
|
||||
}
|
||||
|
||||
def emps = [new Employee(name:'Guillaume', manager:true, salary:200),
|
||||
new Employee(name:'Graeme', manager:true, salary:200),
|
||||
new Employee(name:'Dierk', manager:false, salary:151),
|
||||
new Employee(name:'Bernd', manager:false, salary:50)]
|
||||
|
||||
def managers(emps) {
|
||||
emps.findAll { e -> e.isManager() }
|
||||
}
|
||||
|
||||
assert emps[0..1] == managers(emps) // [Guillaume, Graeme]
|
||||
|
||||
def highPaid(emps) {
|
||||
threshold = 150
|
||||
emps.findAll { e -> e.salary > threshold }
|
||||
}
|
||||
|
||||
assert emps[0..2] == highPaid(emps) // [Guillaume, Graeme, Dierk]
|
||||
|
||||
def paidMore(amount) {
|
||||
{ e -> e.salary > amount}
|
||||
}
|
||||
def highPaid = paidMore(150)
|
||||
|
||||
assert highPaid(emps[0]) // true
|
||||
assert emps[0..2] == emps.findAll(highPaid)
|
||||
|
||||
def filename = 'test.txt'
|
||||
new File(filename).withReader{ reader -> doSomethingWith(reader) }
|
||||
|
||||
def readersText
|
||||
def doSomethingWith(reader) { readersText = reader.text }
|
||||
|
||||
assert new File(filename).text == readersText
|
@ -1,36 +0,0 @@
|
||||
!!!5
|
||||
|
||||
# <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
|
||||
# <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
|
||||
# <!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
|
||||
# <!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
|
||||
|
||||
|
||||
/adasdasdad
|
||||
%div{:id => "#{@item.type}_#{@item.number}", :class => '#{@item.type} #{@item.urgency}', :phoney => `asdasdasd`}
|
||||
/ file: app/views/movies/index.html.haml
|
||||
\d
|
||||
%ads:{:bleh => 33}
|
||||
%p==ddd==
|
||||
Date/Time:
|
||||
- now = DateTime.now
|
||||
%strong= now
|
||||
= if now DateTime.parse("December 31, 2006")
|
||||
= "Happy new " + "year!"
|
||||
%sfd.dfdfg
|
||||
#content
|
||||
.title
|
||||
%h1= @title
|
||||
= link_to 'Home', home_url
|
||||
|
||||
#contents
|
||||
%div#content
|
||||
%div.articles
|
||||
%div.article.title Blah
|
||||
%div.article.date 2006-11-05
|
||||
%div.article.entry
|
||||
Neil Patrick Harris
|
||||
|
||||
%div[@user, :greeting]
|
||||
%bar[290]/
|
||||
==Hello!==
|
@ -1,8 +0,0 @@
|
||||
{{!-- Ace + :-}} --}}
|
||||
|
||||
<div id="comments">
|
||||
{{#each comments}}
|
||||
<h2><a href="/posts/{{../permalink}}#{{id}}">{{title}}</a></h2>
|
||||
<div>{{{body}}}</div>
|
||||
{{/each}}
|
||||
</div>
|
@ -1,20 +0,0 @@
|
||||
-- Type annotation (optional)
|
||||
fib :: Int -> Integer
|
||||
|
||||
-- With self-referencing data
|
||||
fib n = fibs !! n
|
||||
where fibs = 0 : scanl (+) 1 fibs
|
||||
-- 0,1,1,2,3,5,...
|
||||
|
||||
-- Same, coded directly
|
||||
fib n = fibs !! n
|
||||
where fibs = 0 : 1 : next fibs
|
||||
next (a : t@(b:_)) = (a+b) : next t
|
||||
|
||||
-- Similar idea, using zipWith
|
||||
fib n = fibs !! n
|
||||
where fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
|
||||
|
||||
-- Using a generator function
|
||||
fib n = fibs (0,1) !! n
|
||||
where fibs (a,b) = a : fibs (b,a+b)
|
@ -1,10 +0,0 @@
|
||||
Redirect /linux http://www.linux.org
|
||||
Redirect 301 /kernel http://www.linux.org
|
||||
|
||||
# comment
|
||||
RewriteEngine on
|
||||
|
||||
RewriteCond %{HTTP_USER_AGENT} ^Mozilla.*
|
||||
RewriteRule ^/$ /homepage.max.html [L]
|
||||
|
||||
RewriteRule ^/$ /homepage.std.html [L]
|
@ -1,17 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<style type="text/css">
|
||||
.text-layer {
|
||||
font-family: Monaco, "Courier New", monospace;
|
||||
font-size: 12px;
|
||||
cursor: text;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<h1 style="color:red">Juhu Kinners</h1>
|
||||
</body>
|
||||
</html>
|
@ -1,26 +0,0 @@
|
||||
<h1>Listing Books</h1>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Title</th>
|
||||
<th>Summary</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
|
||||
<%= for book <- @books do %>
|
||||
<tr>
|
||||
<%# comment %>
|
||||
<td><%= book.title %></td>
|
||||
<td><%= book.content %></td>
|
||||
<td><%= link "Show", to: book_path(@conn, :show, book) %></td>
|
||||
<td><%= link "Edit", to: book_path(@conn, :edit, book) %></td>
|
||||
<td><%= link "Delete", to: book_path(@conn, :delete, book), method: :delete, data: [confirm: "Are you sure?"] %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
<%= link "New book", to: book_path(@conn, :new) %>
|
@ -1,26 +0,0 @@
|
||||
<h1>Listing Books</h1>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Title</th>
|
||||
<th>Summary</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
|
||||
<% @books.each do |book| %>
|
||||
<tr>
|
||||
<%# comment %>
|
||||
<td><%= book.title %></td>
|
||||
<td><%= book.content %></td>
|
||||
<td><%= link_to 'Show', book %></td>
|
||||
<td><%= link_to 'Edit', edit_book_path(book) %></td>
|
||||
<td><%= link_to 'Remove', book, :confirm => 'Are you sure?', :method => :delete %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
<%= link_to 'New book', new_book_path %>
|
@ -1,4 +0,0 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=..\logo.png
|
||||
[ViewState]
|
||||
FolderType=Generic
|
@ -1,6 +0,0 @@
|
||||
// computes factorial of a number
|
||||
factorial := method(n,
|
||||
if(n == 0, return 1)
|
||||
res := 1
|
||||
Range 1 to(n) foreach(i, res = res * i)
|
||||
)
|
@ -1,45 +0,0 @@
|
||||
!!!doctype
|
||||
!!!5
|
||||
!!!
|
||||
|
||||
include something
|
||||
|
||||
include another_thing
|
||||
|
||||
// let's talk about it
|
||||
|
||||
//
|
||||
here it is. a block comment!
|
||||
and another row!
|
||||
but not here.
|
||||
|
||||
//
|
||||
a far spaced
|
||||
should be lack of block
|
||||
|
||||
// also not a comment
|
||||
div.attemptAtBlock
|
||||
|
||||
span#myName
|
||||
|
||||
#{implicit}
|
||||
!{more_explicit}
|
||||
|
||||
#idDiv
|
||||
|
||||
.idDiv
|
||||
|
||||
test(id="tag")
|
||||
header(id="tag", blah="foo", meh="aads")
|
||||
mixin article(obj, parents)
|
||||
|
||||
mixin bleh()
|
||||
|
||||
mixin clever-name
|
||||
|
||||
-var x = "0";
|
||||
- y each z
|
||||
|
||||
- var items = ["one", "two", "three"]
|
||||
each item in items
|
||||
li= item
|
@ -1,15 +0,0 @@
|
||||
public class InfiniteLoop {
|
||||
|
||||
/*
|
||||
* This will cause the program to hang...
|
||||
*
|
||||
* Taken from:
|
||||
* http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
double d = Double.parseDouble("2.2250738585072012e-308");
|
||||
|
||||
// unreachable code
|
||||
System.out.println("Value: " + d);
|
||||
}
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
function foo(items, nada) {
|
||||
for (var i=0; i<items.length; i++) {
|
||||
alert(items[i] + "juhu\n");
|
||||
} // Real Tab.
|
||||
}
|
@ -1,66 +0,0 @@
|
||||
{
|
||||
"query": {
|
||||
"count": 10,
|
||||
"created": "2011-06-21T08:10:46Z",
|
||||
"lang": "en-US",
|
||||
"results": {
|
||||
"photo": [
|
||||
{
|
||||
"farm": "6",
|
||||
"id": "5855620975",
|
||||
"isfamily": "0",
|
||||
"isfriend": "0",
|
||||
"ispublic": "1",
|
||||
"owner": "32021554@N04",
|
||||
"secret": "f1f5e8515d",
|
||||
"server": "5110",
|
||||
"title": "7087 bandit cat"
|
||||
},
|
||||
{
|
||||
"farm": "4",
|
||||
"id": "5856170534",
|
||||
"isfamily": "0",
|
||||
"isfriend": "0",
|
||||
"ispublic": "1",
|
||||
"owner": "32021554@N04",
|
||||
"secret": "ff1efb2a6f",
|
||||
"server": "3217",
|
||||
"title": "6975 rusty cat"
|
||||
},
|
||||
{
|
||||
"farm": "6",
|
||||
"id": "5856172972",
|
||||
"isfamily": "0",
|
||||
"isfriend": "0",
|
||||
"ispublic": "1",
|
||||
"owner": "51249875@N03",
|
||||
"secret": "6c6887347c",
|
||||
"server": "5192",
|
||||
"title": "watermarked-cats"
|
||||
},
|
||||
{
|
||||
"farm": "6",
|
||||
"id": "5856168328",
|
||||
"isfamily": "0",
|
||||
"isfriend": "0",
|
||||
"ispublic": "1",
|
||||
"owner": "32021554@N04",
|
||||
"secret": "0c1cfdf64c",
|
||||
"server": "5078",
|
||||
"title": "7020 mandy cat"
|
||||
},
|
||||
{
|
||||
"farm": "3",
|
||||
"id": "5856171774",
|
||||
"isfamily": "0",
|
||||
"isfriend": "0",
|
||||
"ispublic": "1",
|
||||
"owner": "32021554@N04",
|
||||
"secret": "7f5a3180ab",
|
||||
"server": "2696",
|
||||
"title": "7448 bobby cat"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@ -1 +0,0 @@
|
||||
TODO
|
@ -1,46 +0,0 @@
|
||||
<html>
|
||||
<body>
|
||||
<script>
|
||||
var x = "abc";
|
||||
function y {
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.class {
|
||||
background: #124356;
|
||||
}
|
||||
</style>
|
||||
|
||||
<p>
|
||||
Today's date: <%= (new java.util.Date()).toLocaleString()%>
|
||||
</p>
|
||||
<%! int i = 0; %>
|
||||
<jsp:declaration>
|
||||
int j = 10;
|
||||
</jsp:declaration>
|
||||
|
||||
<%-- This is JSP comment --%>
|
||||
<%@ directive attribute="value" %>
|
||||
|
||||
<h2>Select Languages:</h2>
|
||||
|
||||
<form ACTION="jspCheckBox.jsp">
|
||||
<input type="checkbox" name="id" value="Java"> Java<BR>
|
||||
<input type="checkbox" name="id" value=".NET"> .NET<BR>
|
||||
<input type="checkbox" name="id" value="PHP"> PHP<BR>
|
||||
<input type="checkbox" name="id" value="C/C++"> C/C++<BR>
|
||||
<input type="checkbox" name="id" value="PERL"> PERL <BR>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
|
||||
<%
|
||||
String select[] = request.getParameterValues("id");
|
||||
if (select != null && select.length != 0) {
|
||||
out.println("You have selected: ");
|
||||
for (int i = 0; i < select.length; i++) {
|
||||
out.println(select[i]);
|
||||
}
|
||||
}
|
||||
%>
|
||||
</body>
|
||||
</html>
|
@ -1,9 +0,0 @@
|
||||
/*EXPECTED
|
||||
hello world!
|
||||
*/
|
||||
class Test {
|
||||
static function run() : void {
|
||||
// console.log("hello world!");
|
||||
log "hello world!";
|
||||
}
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
for op = (:+, :*, :&, :|, :$)
|
||||
@eval ($op)(a,b,c) = ($op)(($op)(a,b),c)
|
||||
end
|
||||
|
||||
v = α';
|
||||
function g(x,y)
|
||||
return x * y
|
||||
x + y
|
||||
end
|
||||
|
||||
cd("data") do
|
||||
open("outfile", "w") do f
|
||||
write(f, data)
|
||||
end
|
||||
end
|
@ -1,22 +0,0 @@
|
||||
\usepackage{amsmath}
|
||||
\title{\LaTeX}
|
||||
\date{}
|
||||
\begin{document}
|
||||
\maketitle
|
||||
\LaTeX{} is a document preparation system for the \TeX{}
|
||||
typesetting program. It offers programmable desktop publishing
|
||||
features and extensive facilities for automating most aspects of
|
||||
typesetting and desktop publishing, including numbering and
|
||||
cross-referencing, tables and figures, page layout, bibliographies,
|
||||
and much more. \LaTeX{} was originally written in 1984 by Leslie
|
||||
Lamport and has become the dominant method for using \TeX; few
|
||||
people write in plain \TeX{} anymore. The current version is
|
||||
\LaTeXe.
|
||||
|
||||
% This is a comment; it will not be shown in the final output.
|
||||
% The following shows a little of the typesetting power of LaTeX:
|
||||
\begin{align}
|
||||
E &= mc^2 \\
|
||||
m &= \frac{m_0}{\sqrt{1-\frac{v^2}{c^2}}}
|
||||
\end{align}
|
||||
\end{document}
|
@ -1,9 +0,0 @@
|
||||
import logic
|
||||
section
|
||||
variables (A : Type) (p q : A → Prop)
|
||||
|
||||
example : (∀x : A, p x ∧ q x) → ∀y : A, p y :=
|
||||
assume H : ∀x : A, p x ∧ q x,
|
||||
take y : A,
|
||||
show p y, from and.elim_left (H y)
|
||||
end
|
@ -1,28 +0,0 @@
|
||||
/* styles.less */
|
||||
|
||||
@base: #f938ab;
|
||||
|
||||
.box-shadow(@style, @c) when (iscolor(@c)) {
|
||||
box-shadow: @style @c;
|
||||
-webkit-box-shadow: @style @c;
|
||||
-moz-box-shadow: @style @c;
|
||||
}
|
||||
.box-shadow(@style, @alpha: 50%) when (isnumber(@alpha)) {
|
||||
.box-shadow(@style, rgba(0, 0, 0, @alpha));
|
||||
}
|
||||
|
||||
// Box styles
|
||||
.box {
|
||||
color: saturate(@base, 5%);
|
||||
border-color: lighten(@base, 30%);
|
||||
|
||||
div { .box-shadow(0 0 5px, 30%) }
|
||||
|
||||
a {
|
||||
color: @base;
|
||||
|
||||
&:hover {
|
||||
color: lighten(@base, 50%);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,76 +0,0 @@
|
||||
The following examples can be found in full at http://liquidmarkup.org/
|
||||
|
||||
Liquid is an extraction from the e-commerce system Shopify.
|
||||
Shopify powers many thousands of e-commerce stores which all call for unique designs.
|
||||
For this we developed Liquid which allows our customers complete design freedom while
|
||||
maintaining the integrity of our servers.
|
||||
|
||||
Liquid has been in production use since June 2006 and is now used by many other
|
||||
hosted web applications.
|
||||
|
||||
It was developed for usage in Ruby on Rails web applications and integrates seamlessly
|
||||
as a plugin but it also works excellently as a stand alone library.
|
||||
|
||||
Here's what it looks like:
|
||||
|
||||
<ul id="products">
|
||||
{% for product in products %}
|
||||
<li>
|
||||
<h2>{{ product.title }}</h2>
|
||||
Only {{ product.price | format_as_money }}
|
||||
|
||||
<p>{{ product.description | prettyprint | truncate: 200 }}</p>
|
||||
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
|
||||
Some more features include:
|
||||
|
||||
<h2>Filters</h2>
|
||||
<p> The word "tobi" in uppercase: {{ 'tobi' | upcase }} </p>
|
||||
<p>The word "tobi" has {{ 'tobi' | size }} letters! </p>
|
||||
<p>Change "Hello world" to "Hi world": {{ 'Hello world' | replace: 'Hello', 'Hi' }} </p>
|
||||
<p>The date today is {{ 'now' | date: "%Y %b %d" }} </p>
|
||||
|
||||
|
||||
<h2>If</h2>
|
||||
<p>
|
||||
{% if user.name == 'tobi' or user.name == 'marc' %}
|
||||
hi marc or tobi
|
||||
{% endif %}
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Case</h2>
|
||||
<p>
|
||||
{% case template %}
|
||||
{% when 'index' %}
|
||||
Welcome
|
||||
{% when 'product' %}
|
||||
{{ product.vendor | link_to_vendor }} / {{ product.title }}
|
||||
{% else %}
|
||||
{{ page_title }}
|
||||
{% endcase %}
|
||||
</p>
|
||||
|
||||
|
||||
<h2>For Loops</h2>
|
||||
<p>
|
||||
{% for item in array %}
|
||||
{{ item }}
|
||||
{% endfor %}
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Tables</h2>
|
||||
<p>
|
||||
{% tablerow item in items cols: 3 %}
|
||||
{% if tablerowloop.col_first %}
|
||||
First column: {{ item.variable }}
|
||||
{% else %}
|
||||
Different column: {{ item.variable }}
|
||||
{% endif %}
|
||||
{% endtablerow %}
|
||||
</p>
|
@ -1,22 +0,0 @@
|
||||
(defun prompt-for-cd ()
|
||||
"Prompts
|
||||
for CD"
|
||||
(prompt-read "Title" 1.53 1 2/4 1.7 1.7e0 2.9E-4 +42 -7 #b001 #b001/100 #o777 #O777 #xabc55 #c(0 -5.6))
|
||||
(prompt-read "Artist" &rest)
|
||||
(or (parse-integer (prompt-read "Rating") :junk-allowed t) 0)
|
||||
(if x (format t "yes") (format t "no" nil) ;and here comment
|
||||
) 0xFFLL -23ull
|
||||
;; second line comment
|
||||
'(+ 1 2)
|
||||
(defvar *lines*) ; list of all lines
|
||||
(position-if-not #'sys::whitespacep line :start beg))
|
||||
(quote (privet 1 2 3))
|
||||
'(hello world)
|
||||
(* 5 7)
|
||||
(1 2 34 5)
|
||||
(:use "aaaa")
|
||||
(let ((x 10) (y 20))
|
||||
(print (+ x y))
|
||||
) LAmbDa
|
||||
|
||||
"asdad\0eqweqe"
|