update
|
@ -1,3 +0,0 @@
|
|||
[submodule "_embed/public/ace"]
|
||||
path = _embed/public/ace
|
||||
url = https://github.com/ajaxorg/ace-builds
|
|
@ -1,372 +0,0 @@
|
|||
2016.12.03 Version 1.2.6
|
||||
|
||||
* Fixed IME handling on new Chrome
|
||||
* Support for php 7 in the syntax checker
|
||||
|
||||
2016.08.16 Version 1.2.5
|
||||
|
||||
* Fixed regression in noconflict mode
|
||||
|
||||
2016.07.27 Version 1.2.4
|
||||
|
||||
* Maintenance release with several new modes and small bugfixes
|
||||
|
||||
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
|
|
@ -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.
|
|
@ -1,22 +0,0 @@
|
|||
Ace (Ajax.org Cloud9 Editor)
|
||||
============================
|
||||
[![CDNJS](https://img.shields.io/cdnjs/v/ace.svg)](https://cdnjs.com/libraries/ace)
|
||||
|
||||
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) concatenated, minified with uglify.js, and uses ace.require instead of require
|
||||
|
||||
|
||||
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,21 +0,0 @@
|
|||
{
|
||||
"name": "ace-builds",
|
||||
"version": "1.2.6",
|
||||
"description": "Ace (Ajax.org Cloud9 Editor)",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"ignore": [
|
||||
"demo"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ajaxorg/ace-builds.git"
|
||||
},
|
||||
"author": "",
|
||||
"license": "BSD",
|
||||
"bugs": {
|
||||
"url": "https://github.com/ajaxorg/ace-builds/issues"
|
||||
},
|
||||
"homepage": "https://github.com/ajaxorg/ace-builds"
|
||||
}
|
|
@ -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,41 +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.
|
||||
|
||||
SORT i_vbrk BY vbeln ASCENDING.
|
||||
SORT i_vbrk BY vbeln DESCENDING.
|
||||
|
||||
RETURN.
|
|
@ -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,26 +0,0 @@
|
|||
##! Add countries for the originator and responder of a connection
|
||||
##! to the connection logs.
|
||||
|
||||
module Conn;
|
||||
|
||||
export {
|
||||
redef record Conn::Info += {
|
||||
## Country code for the originator of the connection based
|
||||
## on a GeoIP lookup.
|
||||
orig_cc: string &optional &log;
|
||||
## Country code for the responser of the connection based
|
||||
## on a GeoIP lookup.
|
||||
resp_cc: string &optional &log;
|
||||
};
|
||||
}
|
||||
|
||||
event connection_state_remove(c: connection)
|
||||
{
|
||||
local orig_loc = lookup_location(c$id$orig_h);
|
||||
if ( orig_loc?$country_code )
|
||||
c$conn$orig_cc = orig_loc$country_code;
|
||||
|
||||
local resp_loc = lookup_location(c$id$resp_h);
|
||||
if ( resp_loc?$country_code )
|
||||
c$conn$resp_cc = resp_loc$country_code;
|
||||
}
|
|
@ -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,127 +0,0 @@
|
|||
/*
|
||||
* Copyright 2010 JBoss Inc
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
Original source
|
||||
https://github.com/droolsjbpm/drools/blob/master/drools-examples/
|
||||
http://docs.jboss.org/drools/
|
||||
*/
|
||||
package com.example.ace
|
||||
|
||||
import java.math.BigDecimal
|
||||
import function my.package.Foo.hello
|
||||
|
||||
declare FactType
|
||||
@author( Bob )
|
||||
id : String
|
||||
name : String @maxLength(100) @notnull
|
||||
|
||||
value : BigDecimal
|
||||
end
|
||||
|
||||
declare FactType2 extends AnotherType
|
||||
end
|
||||
|
||||
declare trait TraitType extends com.package.AnotherType
|
||||
end
|
||||
|
||||
|
||||
declare trait GoldenCustomer
|
||||
balance : long @Alias( "org.acme.foo.accountBalance" )
|
||||
end
|
||||
|
||||
global org.slf4j.Logger logger
|
||||
|
||||
/**
|
||||
* @param name who we'll salute?
|
||||
*/
|
||||
function String hello(String name) {
|
||||
return "Hello "+name+"!";
|
||||
}
|
||||
|
||||
rule "Trim all strings"
|
||||
dialect "java"
|
||||
no-loop
|
||||
when // fdsfds
|
||||
$s : String(a == null || == "empty", $g : size)
|
||||
Cheese( name matches "(Buffalo)?\\S*Mozarella" )
|
||||
CheeseCounter( cheeses contains $var ) // contains with a variable
|
||||
CheeseCounter( cheese memberof $matureCheeses )
|
||||
Cheese( name soundslike 'foobar' )
|
||||
Message( routingValue str[startsWith] "R1" )
|
||||
Cheese( name in ( "stilton", "cheddar", $cheese ) )
|
||||
Person( eval( age == girlAge + 2 ), sex = 'M' )
|
||||
then
|
||||
/**
|
||||
* TODO There mus be better way
|
||||
*/
|
||||
retract($s);
|
||||
String a = "fd";
|
||||
a.toString();
|
||||
|
||||
insert($s.trim());
|
||||
end
|
||||
|
||||
query isContainedIn( String x, String y )
|
||||
Location( x, y; )
|
||||
or
|
||||
( Location( z, y; ) and isContainedIn( x, z; ) )
|
||||
end
|
||||
|
||||
rule "go" salience 10
|
||||
when
|
||||
$s : String( )
|
||||
then
|
||||
System.out.println( $s );
|
||||
end
|
||||
|
||||
rule "When all English buses are not red"
|
||||
when
|
||||
not(forall( $bus : Bus( nationality == 'english')
|
||||
Bus( this == $bus, color = 'red' ) ))
|
||||
then
|
||||
// What if all english buses are not red?
|
||||
end
|
||||
|
||||
rule "go1"
|
||||
when
|
||||
String( this == "go1" )
|
||||
isContainedIn("Office", "House"; )
|
||||
then
|
||||
System.out.println( "office is in the house" );
|
||||
end
|
||||
|
||||
rule "go2"
|
||||
when
|
||||
String( this == "go2" )
|
||||
isContainedIn("Draw", "House"; )
|
||||
then
|
||||
System.out.println( "Draw in the House" );
|
||||
end
|
||||
|
||||
/**
|
||||
* Go Right
|
||||
*/
|
||||
rule GoRight dialect "mvel" salience (Math.abs( $df.colDiff )) when
|
||||
$df : DirectionDiff(colDiff > 0 )
|
||||
$target : Cell( row == $df.row, col == ($df.col + 1) )
|
||||
CellContents( cell == $target, cellType != CellType.WALL )
|
||||
not Direction(character == $df.fromChar, horizontal == Direction.RIGHT )
|
||||
then
|
||||
System.out.println( "monster right" );
|
||||
retract( $df );
|
||||
insert( new Direction($df.fromChar, Direction.RIGHT, Direction.NONE ) );
|
||||
end
|
|
@ -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,33 +0,0 @@
|
|||
#include "globalDefines.h"
|
||||
|
||||
!=========================================================
|
||||
program main
|
||||
!=========================================================
|
||||
use params_module, only : nx, ny, nz
|
||||
|
||||
implicit none
|
||||
|
||||
integer, parameter :: g = 9.81
|
||||
real, allocatable, dimension(:,:,:) :: array
|
||||
integer :: a, b, c
|
||||
real*8 :: x, y, z
|
||||
|
||||
b = 5
|
||||
c = 7
|
||||
|
||||
#ifdef ARRAY_COMP
|
||||
allocate(array(10,10,10), status=a)
|
||||
|
||||
write(c,'(i5.5)') b
|
||||
#endif
|
||||
|
||||
if(x.lt.5.0) then
|
||||
array(:,:,:) = g
|
||||
else
|
||||
array(:,:,:) = x - y
|
||||
endif
|
||||
|
||||
return
|
||||
!========================================================
|
||||
end program main
|
||||
!========================================================
|
|
@ -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,77 +0,0 @@
|
|||
name: reload
|
||||
version: 0.1.0.0
|
||||
synopsis: Initial project template from stack
|
||||
Description:
|
||||
The \'cabal\' command-line program simplifies the process of managing
|
||||
Haskell software by automating the fetching, configuration, compilation
|
||||
and installation of Haskell libraries and programs.
|
||||
homepage: https://github.com/jpmoresmau/dbIDE/reload#readme
|
||||
license: BSD3
|
||||
license-file: LICENSE
|
||||
author: JP Moresmau
|
||||
maintainer: jpmoresmau@gmail.com
|
||||
copyright: 2016 JP Moresmau
|
||||
category: Web
|
||||
build-type: Simple
|
||||
-- extra-source-files:
|
||||
cabal-version: >=1.10
|
||||
|
||||
Flag network-uri
|
||||
description: Get Network.URI from the network-uri package
|
||||
default: True
|
||||
|
||||
library
|
||||
hs-source-dirs: src
|
||||
exposed-modules: Language.Haskell.Reload
|
||||
build-depends: base >= 4.7 && < 5
|
||||
, aeson
|
||||
, scotty
|
||||
, wai
|
||||
, text
|
||||
, directory
|
||||
, filepath
|
||||
, bytestring
|
||||
, containers
|
||||
, mime-types
|
||||
, transformers
|
||||
, wai-handler-launch
|
||||
, wai-middleware-static
|
||||
, wai-extra
|
||||
, http-types
|
||||
default-language: Haskell2010
|
||||
other-modules: Language.Haskell.Reload.FileBrowser
|
||||
ghc-options: -Wall -O2
|
||||
|
||||
executable reload-exe
|
||||
hs-source-dirs: app
|
||||
main-is: Main.hs
|
||||
ghc-options: -threaded -O2 -rtsopts -with-rtsopts=-N
|
||||
build-depends: base
|
||||
, reload
|
||||
default-language: Haskell2010
|
||||
|
||||
test-suite reload-test
|
||||
type: exitcode-stdio-1.0
|
||||
hs-source-dirs: test
|
||||
main-is: Spec.hs
|
||||
build-depends: base
|
||||
, reload
|
||||
, hspec
|
||||
, hspec-wai
|
||||
, hspec-wai-json
|
||||
, aeson
|
||||
, directory
|
||||
, filepath
|
||||
, text
|
||||
, containers
|
||||
, unordered-containers
|
||||
, bytestring
|
||||
, wai-extra
|
||||
ghc-options: -threaded -O2 -rtsopts -with-rtsopts=-N
|
||||
default-language: Haskell2010
|
||||
other-modules: Language.Haskell.Reload.FileBrowserSpec
|
||||
Language.Haskell.ReloadSpec
|
||||
|
||||
source-repository head
|
||||
type: git
|
||||
location: https://github.com/jpmoresmau/dbIDE/reload
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
# specify rate in requests/second (because comments are helpful!)
|
||||
rate: 1000
|
||||
|
||||
// prefer c-style comments?
|
||||
/* feeling old fashioned? */
|
||||
|
||||
# did you notice that rate doesn't need quotes?
|
||||
hey: look ma, no quotes for strings either!
|
||||
|
||||
# best of all
|
||||
notice: []
|
||||
anything: ?
|
||||
|
||||
# yes, commas are optional!
|
||||
}
|
|
@ -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,130 +0,0 @@
|
|||
/*Taken from http://try.kotlinlang.org/#/Examples/Longer%20examples/Life/Life.kt*/
|
||||
/**
|
||||
* This is a straightforward implementation of The Game of Life
|
||||
* See http://en.wikipedia.org/wiki/Conway's_Game_of_Life
|
||||
*/
|
||||
package life
|
||||
|
||||
/*
|
||||
* A field where cells live. Effectively immutable
|
||||
*/
|
||||
class Field(
|
||||
val width: Int,
|
||||
val height: Int,
|
||||
// This function tells the constructor which cells are alive
|
||||
// if init(i, j) is true, the cell (i, j) is alive
|
||||
init: (Int, Int) -> Boolean
|
||||
) {
|
||||
private val live: Array<Array<Boolean>> = Array(height) { i -> Array(width) { j -> init(i, j) } }
|
||||
|
||||
private fun liveCount(i: Int, j: Int)
|
||||
= if (i in 0..height - 1 &&
|
||||
j in 0..width - 1 &&
|
||||
live[i][j]) 1 else 0
|
||||
|
||||
// How many neighbors of (i, j) are alive?
|
||||
fun liveNeighbors(i: Int, j: Int) =
|
||||
liveCount(i - 1, j - 1) +
|
||||
liveCount(i - 1, j) +
|
||||
liveCount(i - 1, j + 1) +
|
||||
liveCount(i, j - 1) +
|
||||
liveCount(i, j + 1) +
|
||||
liveCount(i + 1, j - 1) +
|
||||
liveCount(i + 1, j) +
|
||||
liveCount(i + 1, j + 1)
|
||||
|
||||
// You can say field[i, j], and this function gets called
|
||||
operator fun get(i: Int, j: Int) = live[i][j]
|
||||
}
|
||||
|
||||
/**
|
||||
* This function takes the present state of the field
|
||||
* and returns a new field representing the next moment of time
|
||||
*/
|
||||
fun next(field: Field): Field {
|
||||
return Field(field.width, field.height) { i, j ->
|
||||
val n = field.liveNeighbors(i, j)
|
||||
if (field[i, j])
|
||||
// (i, j) is alive
|
||||
n in 2..3 // It remains alive iff it has 2 or 3 neighbors
|
||||
else
|
||||
// (i, j) is dead
|
||||
n == 3 // A new cell is born if there are 3 neighbors alive
|
||||
}
|
||||
}
|
||||
|
||||
/** A few colony examples here */
|
||||
fun main(args: Array<String>) {
|
||||
// Simplistic demo
|
||||
runGameOfLife("***", 3)
|
||||
// "Star burst"
|
||||
runGameOfLife("""
|
||||
_______
|
||||
___*___
|
||||
__***__
|
||||
___*___
|
||||
_______
|
||||
""", 10)
|
||||
// Stable colony
|
||||
runGameOfLife("""
|
||||
_____
|
||||
__*__
|
||||
_*_*_
|
||||
__*__
|
||||
_____
|
||||
""", 3)
|
||||
// Stable from the step 2
|
||||
runGameOfLife("""
|
||||
__**__
|
||||
__**__
|
||||
__**__
|
||||
""", 3)
|
||||
// Oscillating colony
|
||||
runGameOfLife("""
|
||||
__**____
|
||||
__**____
|
||||
____**__
|
||||
____**__
|
||||
""", 6)
|
||||
// A fancier oscillating colony
|
||||
runGameOfLife("""
|
||||
-------------------
|
||||
-------***---***---
|
||||
-------------------
|
||||
-----*----*-*----*-
|
||||
-----*----*-*----*-
|
||||
-----*----*-*----*-
|
||||
-------***---***---
|
||||
-------------------
|
||||
-------***---***---
|
||||
-----*----*-*----*-
|
||||
-----*----*-*----*-
|
||||
-----*----*-*----*-
|
||||
-------------------
|
||||
-------***---***---
|
||||
-------------------
|
||||
""", 10)
|
||||
}
|
||||
|
||||
// UTILITIES
|
||||
|
||||
fun runGameOfLife(fieldText: String, steps: Int) {
|
||||
var field = makeField(fieldText)
|
||||
for (step in 1..steps) {
|
||||
println("Step: $step")
|
||||
for (i in 0..field.height - 1) {
|
||||
for (j in 0..field.width - 1) {
|
||||
print(if (field[i, j]) "*" else " ")
|
||||
}
|
||||
println("")
|
||||
}
|
||||
field = next(field)
|
||||
}
|
||||
}
|
||||
|
||||
fun makeField(s: String): Field {
|
||||
val lines = s.replace(" ", "").split('\n').filter({ it.isNotEmpty() })
|
||||
val longestLine = lines.toList().maxBy { it.length } ?: ""
|
||||
|
||||
return Field(longestLine.length, lines.size) { i, j -> lines[i][j] == '*' }
|
||||
}
|
|
@ -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"
|
|
@ -1,2 +0,0 @@
|
|||
TODO add a nice demo!
|
||||
Try to keep it short!
|
|
@ -1,245 +0,0 @@
|
|||
# Defines an editing mode for [Ace](http://ace.ajax.org).
|
||||
#
|
||||
# Open [test/ace.html](../test/ace.html) to test.
|
||||
|
||||
require, exports, module <-! define \ace/mode/ls
|
||||
|
||||
identifier = /(?![\d\s])[$\w\xAA-\uFFDC](?:(?!\s)[$\w\xAA-\uFFDC]|-[A-Za-z])*/$
|
||||
|
||||
exports.Mode = class LiveScriptMode extends require(\ace/mode/text)Mode
|
||||
->
|
||||
@$tokenizer =
|
||||
new (require \ace/tokenizer)Tokenizer LiveScriptMode.Rules
|
||||
if require \ace/mode/matching_brace_outdent
|
||||
@$outdent = new that.MatchingBraceOutdent
|
||||
|
||||
indenter = // (?
|
||||
: [({[=:]
|
||||
| [-~]>
|
||||
| \b (?: e(?:lse|xport) | d(?:o|efault) | t(?:ry|hen) | finally |
|
||||
import (?:\s* all)? | const | var |
|
||||
let | new | catch (?:\s* #identifier)? )
|
||||
) \s* $ //
|
||||
|
||||
getNextLineIndent: (state, line, tab) ->
|
||||
indent = @$getIndent line
|
||||
{tokens} = @$tokenizer.getLineTokens line, state
|
||||
unless tokens.length and tokens[*-1]type is \comment
|
||||
indent += tab if state is \start and indenter.test line
|
||||
indent
|
||||
|
||||
toggleCommentLines: (state, doc, startRow, endRow) ->
|
||||
comment = /^(\s*)#/; range = new (require \ace/range)Range 0 0 0 0
|
||||
for i from startRow to endRow
|
||||
if out = comment.test line = doc.getLine i
|
||||
then line.=replace comment, \$1
|
||||
else line.=replace /^\s*/ \$&#
|
||||
range.end.row = range.start.row = i
|
||||
range.end.column = line.length + 1
|
||||
doc.replace range, line
|
||||
1 - out * 2
|
||||
|
||||
checkOutdent: (state, line, input) -> @$outdent?checkOutdent line, input
|
||||
|
||||
autoOutdent: (state, doc, row) -> @$outdent?autoOutdent doc, row
|
||||
|
||||
### Highlight Rules
|
||||
|
||||
keywordend = /(?![$\w]|-[A-Za-z]|\s*:(?![:=]))/$
|
||||
stringfill = token: \string, regex: '.+'
|
||||
|
||||
LiveScriptMode.Rules =
|
||||
start:
|
||||
* token: \keyword
|
||||
regex: //(?
|
||||
:t(?:h(?:is|row|en)|ry|ypeof!?)
|
||||
|c(?:on(?:tinue|st)|a(?:se|tch)|lass)
|
||||
|i(?:n(?:stanceof)?|mp(?:ort(?:\s+all)?|lements)|[fs])
|
||||
|d(?:e(?:fault|lete|bugger)|o)
|
||||
|f(?:or(?:\s+own)?|inally|unction)
|
||||
|s(?:uper|witch)
|
||||
|e(?:lse|x(?:tends|port)|val)
|
||||
|a(?:nd|rguments)
|
||||
|n(?:ew|ot)
|
||||
|un(?:less|til)
|
||||
|w(?:hile|ith)
|
||||
|o[fr]|return|break|let|var|loop
|
||||
)//$ + keywordend
|
||||
|
||||
* token: \constant.language
|
||||
regex: '(?:true|false|yes|no|on|off|null|void|undefined)' + keywordend
|
||||
|
||||
* token: \invalid.illegal
|
||||
regex: '(?
|
||||
:p(?:ackage|r(?:ivate|otected)|ublic)
|
||||
|i(?:mplements|nterface)
|
||||
|enum|static|yield
|
||||
)' + keywordend
|
||||
|
||||
* token: \language.support.class
|
||||
regex: '(?
|
||||
:R(?:e(?:gExp|ferenceError)|angeError)
|
||||
|S(?:tring|yntaxError)
|
||||
|E(?:rror|valError)
|
||||
|Array|Boolean|Date|Function|Number|Object|TypeError|URIError
|
||||
)' + keywordend
|
||||
|
||||
* token: \language.support.function
|
||||
regex: '(?
|
||||
:is(?:NaN|Finite)
|
||||
|parse(?:Int|Float)
|
||||
|Math|JSON
|
||||
|(?:en|de)codeURI(?:Component)?
|
||||
)' + keywordend
|
||||
|
||||
* token: \variable.language
|
||||
regex: '(?:t(?:hat|il|o)|f(?:rom|allthrough)|it|by|e)' + keywordend
|
||||
|
||||
* token: \identifier
|
||||
regex: identifier + /\s*:(?![:=])/$
|
||||
|
||||
* token: \variable
|
||||
regex: identifier
|
||||
|
||||
* token: \keyword.operator
|
||||
regex: /(?:\.{3}|\s+\?)/$
|
||||
|
||||
* token: \keyword.variable
|
||||
regex: /(?:@+|::|\.\.)/$
|
||||
next : \key
|
||||
|
||||
* token: \keyword.operator
|
||||
regex: /\.\s*/$
|
||||
next : \key
|
||||
|
||||
* token: \string
|
||||
regex: /\\\S[^\s,;)}\]]*/$
|
||||
|
||||
* token: \string.doc
|
||||
regex: \'''
|
||||
next : \qdoc
|
||||
|
||||
* token: \string.doc
|
||||
regex: \"""
|
||||
next : \qqdoc
|
||||
|
||||
* token: \string
|
||||
regex: \'
|
||||
next : \qstring
|
||||
|
||||
* token: \string
|
||||
regex: \"
|
||||
next : \qqstring
|
||||
|
||||
* token: \string
|
||||
regex: \`
|
||||
next : \js
|
||||
|
||||
* token: \string
|
||||
regex: '<\\['
|
||||
next : \words
|
||||
|
||||
* token: \string.regex
|
||||
regex: \//
|
||||
next : \heregex
|
||||
|
||||
* token: \comment.doc
|
||||
regex: '/\\*'
|
||||
next : \comment
|
||||
|
||||
* token: \comment
|
||||
regex: '#.*'
|
||||
|
||||
* token: \string.regex
|
||||
regex: //
|
||||
/(?: [^ [ / \n \\ ]*
|
||||
(?: (?: \\.
|
||||
| \[ [^\]\n\\]* (?:\\.[^\]\n\\]*)* \]
|
||||
) [^ [ / \n \\ ]*
|
||||
)*
|
||||
)/ [gimy$]{0,4}
|
||||
//$
|
||||
next : \key
|
||||
|
||||
* token: \constant.numeric
|
||||
regex: '(?:0x[\\da-fA-F][\\da-fA-F_]*
|
||||
|(?:[2-9]|[12]\\d|3[0-6])r[\\da-zA-Z][\\da-zA-Z_]*
|
||||
|(?:\\d[\\d_]*(?:\\.\\d[\\d_]*)?|\\.\\d[\\d_]*)
|
||||
(?:e[+-]?\\d[\\d_]*)?[\\w$]*)'
|
||||
|
||||
* token: \lparen
|
||||
regex: '[({[]'
|
||||
|
||||
* token: \rparen
|
||||
regex: '[)}\\]]'
|
||||
next : \key
|
||||
|
||||
* token: \keyword.operator
|
||||
regex: \\\S+
|
||||
|
||||
* token: \text
|
||||
regex: \\\s+
|
||||
|
||||
heregex:
|
||||
* token: \string.regex
|
||||
regex: '.*?//[gimy$?]{0,4}'
|
||||
next : \start
|
||||
* token: \string.regex
|
||||
regex: '\\s*#{'
|
||||
* token: \comment.regex
|
||||
regex: '\\s+(?:#.*)?'
|
||||
* token: \string.regex
|
||||
regex: '\\S+'
|
||||
|
||||
key:
|
||||
* token: \keyword.operator
|
||||
regex: '[.?@!]+'
|
||||
* token: \identifier
|
||||
regex: identifier
|
||||
next : \start
|
||||
* token: \text
|
||||
regex: '.'
|
||||
next : \start
|
||||
|
||||
comment:
|
||||
* token: \comment.doc
|
||||
regex: '.*?\\*/'
|
||||
next : \start
|
||||
* token: \comment.doc
|
||||
regex: '.+'
|
||||
|
||||
qdoc:
|
||||
token: \string
|
||||
regex: ".*?'''"
|
||||
next : \key
|
||||
stringfill
|
||||
|
||||
qqdoc:
|
||||
token: \string
|
||||
regex: '.*?"""'
|
||||
next : \key
|
||||
stringfill
|
||||
|
||||
qstring:
|
||||
token: \string
|
||||
regex: /[^\\']*(?:\\.[^\\']*)*'/$
|
||||
next : \key
|
||||
stringfill
|
||||
|
||||
qqstring:
|
||||
token: \string
|
||||
regex: /[^\\"]*(?:\\.[^\\"]*)*"/$
|
||||
next : \key
|
||||
stringfill
|
||||
|
||||
js:
|
||||
token: \string
|
||||
regex: /[^\\`]*(?:\\.[^\\`]*)*`/$
|
||||
next : \key
|
||||
stringfill
|
||||
|
||||
words:
|
||||
token: \string
|
||||
regex: '.*?\\]>'
|
||||
next : \key
|
||||
stringfill
|
|
@ -1,16 +0,0 @@
|
|||
// ancestors
|
||||
parentof("douglas", "john").
|
||||
parentof("john", "bob").
|
||||
parentof("bob", "ebbon").
|
||||
|
||||
parentof("douglas", "jane").
|
||||
parentof("jane", "jan").
|
||||
|
||||
ancestorof(A, B) <- parentof(A, B).
|
||||
ancestorof(A, C) <- ancestorof(A, B), parentof(B,C).
|
||||
|
||||
grandparentof(A, B) <- parentof(A, C), parentof(C, B).
|
||||
|
||||
cousins(A,B) <- grandparentof(C,A), grandparentof(C,B).
|
||||
|
||||
parentof[`arg](A, B) -> int[32](A), !string(B).
|
|
@ -1,75 +0,0 @@
|
|||
/*
|
||||
Testing syntax highlighting
|
||||
of Ace Editor
|
||||
for the Linden Scripting Language
|
||||
*/
|
||||
|
||||
integer someIntNormal = 3672;
|
||||
integer someIntHex = 0x00000000;
|
||||
integer someIntMath = PI_BY_TWO;
|
||||
|
||||
integer event = 5673; // invalid.illegal
|
||||
|
||||
key someKeyTexture = TEXTURE_DEFAULT;
|
||||
string someStringSpecial = EOF;
|
||||
|
||||
some_user_defined_function_without_return_type(string inputAsString)
|
||||
{
|
||||
llSay(PUBLIC_CHANNEL, inputAsString);
|
||||
}
|
||||
|
||||
string user_defined_function_returning_a_string(key inputAsKey)
|
||||
{
|
||||
return (string)inputAsKey;
|
||||
}
|
||||
|
||||
default
|
||||
{
|
||||
state_entry()
|
||||
{
|
||||
key someKey = NULL_KEY;
|
||||
someKey = llGetOwner();
|
||||
|
||||
string someString = user_defined_function_returning_a_string(someKey);
|
||||
|
||||
some_user_defined_function_without_return_type(someString);
|
||||
}
|
||||
|
||||
touch_start(integer num_detected)
|
||||
{
|
||||
list agentsInRegion = llGetAgentList(AGENT_LIST_REGION, []);
|
||||
integer numOfAgents = llGetListLength(agentsInRegion);
|
||||
|
||||
integer index; // defaults to 0
|
||||
for (; index <= numOfAgents - 1; index++) // for each agent in region
|
||||
{
|
||||
llRegionSayTo(llList2Key(agentsInRegion, index), PUBLIC_CHANNEL, "Hello, Avatar!");
|
||||
}
|
||||
}
|
||||
|
||||
touch_end(integer num_detected)
|
||||
{
|
||||
someIntNormal = 3672;
|
||||
someIntHex = 0x00000000;
|
||||
someIntMath = PI_BY_TWO;
|
||||
|
||||
event = 5673; // invalid.illegal
|
||||
|
||||
someKeyTexture = TEXTURE_DEFAULT;
|
||||
someStringSpecial = EOF;
|
||||
|
||||
llSetInventoryPermMask("some item", MASK_NEXT, PERM_ALL); // reserved.godmode
|
||||
|
||||
llWhisper(PUBLIC_CHANNEL, "Leaving \"default\" now...");
|
||||
state other;
|
||||
}
|
||||
}
|
||||
|
||||
state other
|
||||
{
|
||||
state_entry()
|
||||
{
|
||||
llWhisper(PUBLIC_CHANNEL, "Entered \"state other\", returning to \"default\" again...");
|
||||
state default;
|
||||
}
|
||||
}
|
|
@ -1,38 +0,0 @@
|
|||
--[[--
|
||||
num_args takes in 5.1 byte code and extracts the number of arguments
|
||||
from its function header.
|
||||
--]]--
|
||||
|
||||
function int(t)
|
||||
return t:byte(1)+t:byte(2)*0x100+t:byte(3)*0x10000+t:byte(4)*0x1000000
|
||||
end
|
||||
|
||||
function num_args(func)
|
||||
local dump = string.dump(func)
|
||||
local offset, cursor = int(dump:sub(13)), offset + 26
|
||||
--Get the params and var flag (whether there's a ... in the param)
|
||||
return dump:sub(cursor):byte(), dump:sub(cursor+1):byte()
|
||||
end
|
||||
|
||||
-- Usage:
|
||||
num_args(function(a,b,c,d, ...) end) -- return 4, 7
|
||||
|
||||
-- Python styled string format operator
|
||||
local gm = debug.getmetatable("")
|
||||
|
||||
gm.__mod=function(self, other)
|
||||
if type(other) ~= "table" then other = {other} end
|
||||
for i,v in ipairs(other) do other[i] = tostring(v) end
|
||||
return self:format(unpack(other))
|
||||
end
|
||||
|
||||
print([===[
|
||||
blah blah %s, (%d %d)
|
||||
]===]%{"blah", num_args(int)})
|
||||
|
||||
--[=[--
|
||||
table.maxn is deprecated, use # instead.
|
||||
--]=]--
|
||||
print(table.maxn{1,2,[4]=4,[8]=8) -- outputs 8 instead of 2
|
||||
|
||||
print(5 --[[ blah ]])
|
|
@ -1,71 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html>
|
||||
<% --[[--
|
||||
index.lp from the Kepler Project's LuaDoc HTML doclet.
|
||||
http://keplerproject.github.com/luadoc/
|
||||
--]] %>
|
||||
<head>
|
||||
<title>Reference</title>
|
||||
<link rel="stylesheet" href="<%=luadoc.doclet.html.link("luadoc.css")%>" type="text/css" />
|
||||
<!--meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="container">
|
||||
|
||||
<div id="product">
|
||||
<div id="product_logo"></div>
|
||||
<div id="product_name"><big><b></b></big></div>
|
||||
<div id="product_description"></div>
|
||||
</div> <!-- id="product" -->
|
||||
|
||||
<div id="main">
|
||||
|
||||
<div id="navigation">
|
||||
<%=luadoc.doclet.html.include("menu.lp", { doc=doc })%>
|
||||
|
||||
</div> <!-- id="navigation" -->
|
||||
|
||||
<div id="content">
|
||||
|
||||
|
||||
<%if not options.nomodules and #doc.modules > 0 then%>
|
||||
<h2>Modules</h2>
|
||||
<table class="module_list">
|
||||
<!--<tr><td colspan="2">Modules</td></tr>-->
|
||||
<%for _, modulename in ipairs(doc.modules) do%>
|
||||
<tr>
|
||||
<td class="name"><a href="<%=luadoc.doclet.html.module_link(modulename, doc)%>"><%=modulename%></a></td>
|
||||
<td class="summary"><%=doc.modules[modulename].summary%></td>
|
||||
</tr>
|
||||
<%end%>
|
||||
</table>
|
||||
<%end%>
|
||||
|
||||
|
||||
|
||||
<%if not options.nofiles and #doc.files > 0 then%>
|
||||
<h2>Files</h2>
|
||||
<table class="file_list">
|
||||
<!--<tr><td colspan="2">Files</td></tr>-->
|
||||
<%for _, filepath in ipairs(doc.files) do%>
|
||||
<tr>
|
||||
<td class="name"><a href="<%=luadoc.doclet.html.file_link(filepath)%>"><%=filepath%></a></td>
|
||||
<td class="summary"></td>
|
||||
</tr>
|
||||
<%end%>
|
||||
</table>
|
||||
<%end%>
|
||||
|
||||
</div> <!-- id="content" -->
|
||||
|
||||
</div> <!-- id="main" -->
|
||||
|
||||
<div id="about">
|
||||
<p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /></a></p>
|
||||
</div> <!-- id="about" -->
|
||||
|
||||
</div> <!-- id="container" -->
|
||||
</body>
|
||||
</html>
|
|
@ -1 +0,0 @@
|
|||
(title:"foo bar" AND body:"quick fox") OR title:fox
|
|
@ -1,186 +0,0 @@
|
|||
Ace (Ajax.org Cloud9 Editor)
|
||||
============================
|
||||
|
||||
Ace is a standalone code editor written in JavaScript. Our goal is to create a browser based editor that matches and extends the features, usability and performance of existing native editors such as TextMate, Vim or Eclipse. It can be easily embedded in any web page or JavaScript application. Ace is developed as the primary editor for [Cloud9 IDE](http://www.cloud9ide.com/) and the successor of the Mozilla Skywriter (Bespin) Project.
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
* Syntax highlighting
|
||||
* Automatic indent and outdent
|
||||
* An optional command line
|
||||
* Handles huge documents (100,000 lines and more are no problem)
|
||||
* Fully customizable key bindings including VI and Emacs modes
|
||||
* Themes (TextMate themes can be imported)
|
||||
* Search and replace with regular expressions
|
||||
* Highlight matching parentheses
|
||||
* Toggle between soft tabs and real tabs
|
||||
* Displays hidden characters
|
||||
* Drag and drop text using the mouse
|
||||
* Line wrapping
|
||||
* Unstructured / user code folding
|
||||
* Live syntax checker (currently JavaScript/CoffeeScript)
|
||||
|
||||
Take Ace for a spin!
|
||||
--------------------
|
||||
|
||||
Check out the Ace live [demo](http://ajaxorg.github.com/ace/) or get a [Cloud9 IDE account](http://run.cloud9ide.com) to experience Ace while editing one of your own GitHub projects.
|
||||
|
||||
If you want, you can use Ace as a textarea replacement thanks to the [Ace Bookmarklet](http://ajaxorg.github.com/ace/build/textarea/editor.html).
|
||||
|
||||
History
|
||||
-------
|
||||
|
||||
Previously known as “Bespin” and “Skywriter” it’s now known as Ace (Ajax.org Cloud9 Editor)! Bespin and Ace started as two independent projects, both aiming to build a no-compromise code editor component for the web. Bespin started as part of Mozilla Labs and was based on the canvas tag, while Ace is the Editor component of the Cloud9 IDE and is using the DOM for rendering. After the release of Ace at JSConf.eu 2010 in Berlin the Skywriter team decided to merge Ace with a simplified version of Skywriter's plugin system and some of Skywriter's extensibility points. All these changes have been merged back to Ace. Both Ajax.org and Mozilla are actively developing and maintaining Ace.
|
||||
|
||||
Getting the code
|
||||
----------------
|
||||
|
||||
Ace is a community project. We actively encourage and support contributions. The Ace source code is hosted on GitHub. It is released under the BSD License. This license is very simple, and is friendly to all kinds of projects, whether open source or not. Take charge of your editor and add your favorite language highlighting and keybindings!
|
||||
|
||||
```bash
|
||||
git clone git://github.com/ajaxorg/ace.git
|
||||
cd ace
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
|
||||
Embedding Ace
|
||||
-------------
|
||||
|
||||
Ace can be easily embedded into any existing web page. The Ace git repository ships with a pre-packaged version of Ace inside of the `build` directory. The same packaged files are also available as a separate [download](https://github.com/ajaxorg/ace/downloads). Simply copy the contents of the `src` subdirectory somewhere into your project and take a look at the included demos of how to use Ace.
|
||||
|
||||
The easiest version is simply:
|
||||
|
||||
```html
|
||||
<div id="editor">some text</div>
|
||||
<script src="src/ace.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script>
|
||||
window.onload = function() {
|
||||
var editor = ace.edit("editor");
|
||||
};
|
||||
</script>
|
||||
```
|
||||
|
||||
With "editor" being the id of the DOM element, which should be converted to an editor. Note that this element must be explicitly sized and positioned `absolute` or `relative` for Ace to work. e.g.
|
||||
|
||||
```css
|
||||
#editor {
|
||||
position: absolute;
|
||||
width: 500px;
|
||||
height: 400px;
|
||||
}
|
||||
```
|
||||
|
||||
To change the theme simply include the Theme's JavaScript file
|
||||
|
||||
```html
|
||||
<script src="src/theme-twilight.js" type="text/javascript" charset="utf-8"></script>
|
||||
```
|
||||
|
||||
and configure the editor to use the theme:
|
||||
|
||||
```javascript
|
||||
editor.setTheme("ace/theme/twilight");
|
||||
```
|
||||
|
||||
By default the editor only supports plain text mode; many other languages are available as separate modules. After including the mode's JavaScript file:
|
||||
|
||||
```html
|
||||
<script src="src/mode-javascript.js" type="text/javascript" charset="utf-8"></script>
|
||||
```
|
||||
|
||||
Then the mode can be used like this:
|
||||
|
||||
```javascript
|
||||
var JavaScriptMode = require("ace/mode/javascript").Mode;
|
||||
editor.getSession().setMode(new JavaScriptMode());
|
||||
```
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
You find a lot more sample code in the [demo app](https://github.com/ajaxorg/ace/blob/master/demo/demo.js).
|
||||
|
||||
There is also some documentation on the [wiki page](https://github.com/ajaxorg/ace/wiki).
|
||||
|
||||
If you still need help, feel free to drop a mail on the [ace mailing list](http://groups.google.com/group/ace-discuss).
|
||||
|
||||
Running Ace
|
||||
-----------
|
||||
|
||||
After the checkout Ace works out of the box. No build step is required. Open 'editor.html' in any browser except Google Chrome. Google Chrome doesn't allow XMLHTTPRequests from files loaded from disc (i.e. with a file:/// URL). To open Ace in Chrome simply start the bundled mini HTTP server:
|
||||
|
||||
```bash
|
||||
./static.py
|
||||
```
|
||||
|
||||
Or using Node.JS
|
||||
|
||||
```bash
|
||||
./static.js
|
||||
```
|
||||
|
||||
The editor can then be opened at http://localhost:8888/index.html.
|
||||
|
||||
Package Ace
|
||||
-----------
|
||||
|
||||
To package Ace we use the dryice build tool developed by the Mozilla Skywriter team. Before you can build you need to make sure that the submodules are up to date.
|
||||
|
||||
```bash
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
|
||||
Afterwards Ace can be built by calling
|
||||
|
||||
```bash
|
||||
./Makefile.dryice.js normal
|
||||
```
|
||||
|
||||
The packaged Ace will be put in the 'build' folder.
|
||||
|
||||
To build the bookmarklet version execute
|
||||
|
||||
```bash
|
||||
./Makefile.dryice.js bm
|
||||
```
|
||||
|
||||
Running the Unit Tests
|
||||
----------------------
|
||||
|
||||
The Ace unit tests run on node.js. Before the first run a couple of node modules have to be installed. The easiest way to do this is by using the node package manager (npm). In the Ace base directory simply call
|
||||
|
||||
```bash
|
||||
npm link .
|
||||
```
|
||||
|
||||
To run the tests call:
|
||||
|
||||
```bash
|
||||
node lib/ace/test/all.js
|
||||
```
|
||||
|
||||
You can also run the tests in your browser by serving:
|
||||
|
||||
http://localhost:8888/lib/ace/test/tests.html
|
||||
|
||||
This makes debugging failing tests way more easier.
|
||||
|
||||
Contributing
|
||||
------------
|
||||
|
||||
Ace wouldn't be what it is without contributions! Feel free to fork and improve/enhance Ace any way you want. If you feel that the editor or the Ace community will benefit from your changes, please open a pull request. To protect the interests of the Ace contributors and users we require contributors to sign a Contributors License Agreement (CLA) before we pull the changes into the main repository. Our CLA is the simplest of agreements, requiring that the contributions you make to an ajax.org project are only those you're allowed to make. This helps us significantly reduce future legal risk for everyone involved. It is easy, helps everyone, takes ten minutes, and only needs to be completed once. There are two versions of the agreement:
|
||||
|
||||
1. [The Individual CLA](https://github.com/ajaxorg/ace/raw/master/doc/Contributor_License_Agreement-v2.pdf): use this version if you're working on an ajax.org in your spare time, or can clearly claim ownership of copyright in what you'll be submitting.
|
||||
2. [The Corporate CLA](https://github.com/ajaxorg/ace/raw/master/doc/Corporate_Contributor_License_Agreement-v2.pdf): have your corporate lawyer review and submit this if your company is going to be contributing to ajax.org projects
|
||||
|
||||
If you want to contribute to an ajax.org project please print the CLA and fill it out and sign it. Then either send it by snail mail or fax to us or send it back scanned (or as a photo) by email.
|
||||
|
||||
Email: fabian.jakobs@web.de
|
||||
|
||||
Fax: +31 (0) 206388953
|
||||
|
||||
Address: Ajax.org B.V.
|
||||
Keizersgracht 241
|
||||
1016 EA, Amsterdam
|
||||
the Netherlands
|