remove ace...
Former-commit-id: 30b46ff403abdb12c42dbc1ec2adc988b3a1ca2e [formerly 22716c4ced871d21efbaf71252d92267cc1add24] [formerly e1da1f434def1dee6f361f4f0c06e462675bf708 [formerly 2d33b664b509bf717537526c3f77487a700bd46b]] Former-commit-id: defe5fdb1a55d990e2c52f005a9fd69a13ab2fd8 [formerly a550d60db4b89ccd6cd4cbe4fcd9dd5fb597795f] Former-commit-id: 00011b53402546d7b2545a7ffb59e05eba58e4d6
| 
						 | 
				
			
			@ -1,3 +0,0 @@
 | 
			
		|||
[submodule "_assets/js/vendor/ace"]
 | 
			
		||||
	path = _assets/js/vendor/ace
 | 
			
		||||
	url = https://github.com/ajaxorg/ace-builds
 | 
			
		||||
| 
						 | 
				
			
			@ -1,380 +0,0 @@
 | 
			
		|||
2017.06.18 Version 1.2.7
 | 
			
		||||
 | 
			
		||||
* Added Support for arrow keys on external IPad keyboard (Emanuele Tamponi)
 | 
			
		||||
* added match counter to searchbox extension
 | 
			
		||||
 | 
			
		||||
- implemented higlighting of multiline strings in yaml mode (Maxim Trushin)
 | 
			
		||||
- improved haml syntax highlighter (Andrés Álvarez)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
============================
 | 
			
		||||
[](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,37 +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; /*
 | 
			
		||||
        */
 | 
			
		||||
        opacity: 1
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    40.5%, 100% {
 | 
			
		||||
        opacity: 1
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@document url(http://c9.io/), url-prefix(http://ace.c9.io/build/),
 | 
			
		||||
   domain(c9.io), regexp("https:.*") /**/
 | 
			
		||||
{
 | 
			
		||||
    /**/
 | 
			
		||||
    img[title]:before 
 | 
			
		||||
    {
 | 
			
		||||
        content: attr(title) "\AImage \
 | 
			
		||||
            retrieved from"
 | 
			
		||||
            attr(src); /*
 | 
			
		||||
            */
 | 
			
		||||
        white-space: pre;
 | 
			
		||||
        display: block;
 | 
			
		||||
        background: url(asdasd); "err
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -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,73 +0,0 @@
 | 
			
		|||
# Main Schema
 | 
			
		||||
schema {
 | 
			
		||||
	query: Query;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
scalar Date;
 | 
			
		||||
 | 
			
		||||
# Simple type to contain all scalar types
 | 
			
		||||
type AllTypes {
 | 
			
		||||
	# Field Description for String
 | 
			
		||||
	testString: String;
 | 
			
		||||
	# Field Description for Int
 | 
			
		||||
	testInt: Int;
 | 
			
		||||
	# Field Description for ID
 | 
			
		||||
	testID: ID;
 | 
			
		||||
	# Field Description for Boolean
 | 
			
		||||
	testBoolean: Boolean;
 | 
			
		||||
	# Field Description for Float
 | 
			
		||||
	testFloat: Float;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
interface ISearchable {
 | 
			
		||||
    searchPreview: String!;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
union ProductTypes = Movie | Book;
 | 
			
		||||
 | 
			
		||||
# Testing enum
 | 
			
		||||
enum MovieGenere {
 | 
			
		||||
    ACTION
 | 
			
		||||
    COMEDY
 | 
			
		||||
    THRILLER
 | 
			
		||||
    DRAMA
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Testing Input
 | 
			
		||||
input SearchByGenere {
 | 
			
		||||
	before: Date;
 | 
			
		||||
	after: Date;
 | 
			
		||||
	genere: MovieGenere!;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Testing Interface
 | 
			
		||||
type Movie implements ISearchable {
 | 
			
		||||
	id: ID!;
 | 
			
		||||
	searchPreview: String!;
 | 
			
		||||
	rentPrice: Float;
 | 
			
		||||
	publishDate: Date;
 | 
			
		||||
	genere: MovieGenere;
 | 
			
		||||
	cast: [String];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Testing Interface
 | 
			
		||||
type Book implements ISearchable {
 | 
			
		||||
    id: ID!;
 | 
			
		||||
	searchPreview: String!;
 | 
			
		||||
	price: Float;
 | 
			
		||||
	publishDate: Date;
 | 
			
		||||
	authors: [String];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type Query {
 | 
			
		||||
	testString: String;
 | 
			
		||||
	testDate; Date;
 | 
			
		||||
	allTypes: AllTypes;
 | 
			
		||||
	allProducts: [ProductTypes];
 | 
			
		||||
 | 
			
		||||
	# searches only movies by genere with sophisticated argument
 | 
			
		||||
	searchMovieByGenere(searchObject: SearchByGenere!): [Movie];
 | 
			
		||||
 | 
			
		||||
	# Searchs all products by text string
 | 
			
		||||
	searchProduct(text: String!): [ISearchable];
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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,75 +0,0 @@
 | 
			
		|||
!!!5
 | 
			
		||||
 | 
			
		||||
/[if IE]
 | 
			
		||||
  %a{ :href => 'http://www.mozilla.com/en-US/firefox/' }
 | 
			
		||||
    %h1 Get Firefox
 | 
			
		||||
 | 
			
		||||
-# This is a HAML comment. It will not show in the output HTML
 | 
			
		||||
 | 
			
		||||
-#
 | 
			
		||||
  This is a HAML multiline comment
 | 
			
		||||
  This won't be displayed
 | 
			
		||||
    Nor will this
 | 
			
		||||
                   Nor will this.
 | 
			
		||||
 | 
			
		||||
/ This is a HTML comment. It will be rendered as HTML
 | 
			
		||||
 | 
			
		||||
/
 | 
			
		||||
  %p This doesn't render...
 | 
			
		||||
  %div
 | 
			
		||||
    %h1 Because it's commented out!
 | 
			
		||||
 | 
			
		||||
.row
 | 
			
		||||
  .col-md-6
 | 
			
		||||
 | 
			
		||||
  .col-md-6
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#users.row.green
 | 
			
		||||
  #articles{:style => "border: 5px;"}
 | 
			
		||||
  #lists.list-inline
 | 
			
		||||
 | 
			
		||||
%div#todos.bg-green{:id => "#{@item.type}_#{@item.number}", :class => '#{@item.type} #{@item.urgency}', :phoney => `asdasdasd`}
 | 
			
		||||
 | 
			
		||||
/ file: app/views/movies/index.html.haml
 | 
			
		||||
 | 
			
		||||
%ads:{:bleh => 33}
 | 
			
		||||
%p
 | 
			
		||||
  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]
 | 
			
		||||
 | 
			
		||||
/ This is a comment
 | 
			
		||||
 | 
			
		||||
/ This is another comment with line break above
 | 
			
		||||
 | 
			
		||||
.row
 | 
			
		||||
  .col-md-6
 | 
			
		||||
  .col-md-6
 | 
			
		||||
 | 
			
		||||
  .col-md-6
 | 
			
		||||
 | 
			
		||||
.row
 | 
			
		||||
  .col-md-6
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  .col-md-6
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||