├── .gitignore ├── 20201006_175332.jpg ├── README.md ├── StrategyCelery ├── __init__.py ├── celery.py ├── settings.py ├── urls.py └── wsgi.py ├── db.sqlite3 ├── manage.py ├── monthly.png ├── monthly_result_1.png ├── monthly_result_2.png ├── qstrader ├── __init__.py ├── custom_position.py ├── custom_strategy.py └── strategy_backtest.py ├── requirements.txt ├── static ├── hackIDE │ └── ace-builds │ │ └── src │ │ ├── ace.js │ │ ├── ext-beautify.js │ │ ├── ext-chromevox.js │ │ ├── ext-elastic_tabstops_lite.js │ │ ├── ext-emmet.js │ │ ├── ext-error_marker.js │ │ ├── ext-keybinding_menu.js │ │ ├── ext-language_tools.js │ │ ├── ext-linking.js │ │ ├── ext-modelist.js │ │ ├── ext-old_ie.js │ │ ├── ext-searchbox.js │ │ ├── ext-settings_menu.js │ │ ├── ext-spellcheck.js │ │ ├── ext-split.js │ │ ├── ext-static_highlight.js │ │ ├── ext-statusbar.js │ │ ├── ext-textarea.js │ │ ├── ext-themelist.js │ │ ├── ext-whitespace.js │ │ ├── keybinding-emacs.js │ │ ├── keybinding-vim.js │ │ ├── mode-abap.js │ │ ├── mode-abc.js │ │ ├── mode-actionscript.js │ │ ├── mode-ada.js │ │ ├── mode-apache_conf.js │ │ ├── mode-applescript.js │ │ ├── mode-asciidoc.js │ │ ├── mode-assembly_x86.js │ │ ├── mode-autohotkey.js │ │ ├── mode-batchfile.js │ │ ├── mode-bro.js │ │ ├── mode-c9search.js │ │ ├── mode-c_cpp.js │ │ ├── mode-cirru.js │ │ ├── mode-clojure.js │ │ ├── mode-cobol.js │ │ ├── mode-coffee.js │ │ ├── mode-coldfusion.js │ │ ├── mode-csharp.js │ │ ├── mode-css.js │ │ ├── mode-curly.js │ │ ├── mode-d.js │ │ ├── mode-dart.js │ │ ├── mode-diff.js │ │ ├── mode-django.js │ │ ├── mode-dockerfile.js │ │ ├── mode-dot.js │ │ ├── mode-drools.js │ │ ├── mode-eiffel.js │ │ ├── mode-ejs.js │ │ ├── mode-elixir.js │ │ ├── mode-elm.js │ │ ├── mode-erlang.js │ │ ├── mode-forth.js │ │ ├── mode-fortran.js │ │ ├── mode-ftl.js │ │ ├── mode-gcode.js │ │ ├── mode-gherkin.js │ │ ├── mode-gitignore.js │ │ ├── mode-glsl.js │ │ ├── mode-gobstones.js │ │ ├── mode-golang.js │ │ ├── mode-groovy.js │ │ ├── mode-haml.js │ │ ├── mode-handlebars.js │ │ ├── mode-haskell.js │ │ ├── mode-haskell_cabal.js │ │ ├── mode-haxe.js │ │ ├── mode-hjson.js │ │ ├── mode-html.js │ │ ├── mode-html_elixir.js │ │ ├── mode-html_ruby.js │ │ ├── mode-ini.js │ │ ├── mode-io.js │ │ ├── mode-jack.js │ │ ├── mode-jade.js │ │ ├── mode-java.js │ │ ├── mode-javascript.js │ │ ├── mode-json.js │ │ ├── mode-jsoniq.js │ │ ├── mode-jsp.js │ │ ├── mode-jsx.js │ │ ├── mode-julia.js │ │ ├── mode-kotlin.js │ │ ├── mode-latex.js │ │ ├── mode-lean.js │ │ ├── mode-less.js │ │ ├── mode-liquid.js │ │ ├── mode-lisp.js │ │ ├── mode-live_script.js │ │ ├── mode-livescript.js │ │ ├── mode-logiql.js │ │ ├── mode-lsl.js │ │ ├── mode-lua.js │ │ ├── mode-luapage.js │ │ ├── mode-lucene.js │ │ ├── mode-makefile.js │ │ ├── mode-markdown.js │ │ ├── mode-mask.js │ │ ├── mode-matlab.js │ │ ├── mode-mavens_mate_log.js │ │ ├── mode-maze.js │ │ ├── mode-mel.js │ │ ├── mode-mips_assembler.js │ │ ├── mode-mipsassembler.js │ │ ├── mode-mushcode.js │ │ ├── mode-mysql.js │ │ ├── mode-nix.js │ │ ├── mode-nsis.js │ │ ├── mode-objectivec.js │ │ ├── mode-ocaml.js │ │ ├── mode-pascal.js │ │ ├── mode-perl.js │ │ ├── mode-pgsql.js │ │ ├── mode-php.js │ │ ├── mode-plain_text.js │ │ ├── mode-powershell.js │ │ ├── mode-praat.js │ │ ├── mode-prolog.js │ │ ├── mode-properties.js │ │ ├── mode-protobuf.js │ │ ├── mode-python.js │ │ ├── mode-r.js │ │ ├── mode-razor.js │ │ ├── mode-rdoc.js │ │ ├── mode-rhtml.js │ │ ├── mode-rst.js │ │ ├── mode-ruby.js │ │ ├── mode-rust.js │ │ ├── mode-sass.js │ │ ├── mode-scad.js │ │ ├── mode-scala.js │ │ ├── mode-scheme.js │ │ ├── mode-scss.js │ │ ├── mode-sh.js │ │ ├── mode-sjs.js │ │ ├── mode-smarty.js │ │ ├── mode-snippets.js │ │ ├── mode-soy_template.js │ │ ├── mode-space.js │ │ ├── mode-sql.js │ │ ├── mode-sqlserver.js │ │ ├── mode-stylus.js │ │ ├── mode-svg.js │ │ ├── mode-swift.js │ │ ├── mode-swig.js │ │ ├── mode-tcl.js │ │ ├── mode-tex.js │ │ ├── mode-text.js │ │ ├── mode-textile.js │ │ ├── mode-toml.js │ │ ├── mode-tsx.js │ │ ├── mode-twig.js │ │ ├── mode-typescript.js │ │ ├── mode-vala.js │ │ ├── mode-vbscript.js │ │ ├── mode-velocity.js │ │ ├── mode-verilog.js │ │ ├── mode-vhdl.js │ │ ├── mode-wollok.js │ │ ├── mode-xml.js │ │ ├── mode-xquery.js │ │ ├── mode-yaml.js │ │ ├── snippets │ │ ├── abap.js │ │ ├── abc.js │ │ ├── actionscript.js │ │ ├── ada.js │ │ ├── apache_conf.js │ │ ├── applescript.js │ │ ├── asciidoc.js │ │ ├── assembly_x86.js │ │ ├── autohotkey.js │ │ ├── batchfile.js │ │ ├── bro.js │ │ ├── c9search.js │ │ ├── c_cpp.js │ │ ├── cirru.js │ │ ├── clojure.js │ │ ├── cobol.js │ │ ├── coffee.js │ │ ├── coldfusion.js │ │ ├── csharp.js │ │ ├── css.js │ │ ├── curly.js │ │ ├── d.js │ │ ├── dart.js │ │ ├── diff.js │ │ ├── django.js │ │ ├── dockerfile.js │ │ ├── dot.js │ │ ├── drools.js │ │ ├── eiffel.js │ │ ├── ejs.js │ │ ├── elixir.js │ │ ├── elm.js │ │ ├── erlang.js │ │ ├── forth.js │ │ ├── fortran.js │ │ ├── ftl.js │ │ ├── gcode.js │ │ ├── gherkin.js │ │ ├── gitignore.js │ │ ├── glsl.js │ │ ├── gobstones.js │ │ ├── golang.js │ │ ├── groovy.js │ │ ├── haml.js │ │ ├── handlebars.js │ │ ├── haskell.js │ │ ├── haskell_cabal.js │ │ ├── haxe.js │ │ ├── hjson.js │ │ ├── html.js │ │ ├── html_elixir.js │ │ ├── html_ruby.js │ │ ├── ini.js │ │ ├── io.js │ │ ├── jack.js │ │ ├── jade.js │ │ ├── java.js │ │ ├── javascript.js │ │ ├── json.js │ │ ├── jsoniq.js │ │ ├── jsp.js │ │ ├── jsx.js │ │ ├── julia.js │ │ ├── kotlin.js │ │ ├── latex.js │ │ ├── lean.js │ │ ├── less.js │ │ ├── liquid.js │ │ ├── lisp.js │ │ ├── live_script.js │ │ ├── livescript.js │ │ ├── logiql.js │ │ ├── lsl.js │ │ ├── lua.js │ │ ├── luapage.js │ │ ├── lucene.js │ │ ├── makefile.js │ │ ├── markdown.js │ │ ├── mask.js │ │ ├── matlab.js │ │ ├── maze.js │ │ ├── mel.js │ │ ├── mips_assembler.js │ │ ├── mipsassembler.js │ │ ├── mushcode.js │ │ ├── mysql.js │ │ ├── nix.js │ │ ├── nsis.js │ │ ├── objectivec.js │ │ ├── ocaml.js │ │ ├── pascal.js │ │ ├── perl.js │ │ ├── pgsql.js │ │ ├── php.js │ │ ├── plain_text.js │ │ ├── powershell.js │ │ ├── praat.js │ │ ├── prolog.js │ │ ├── properties.js │ │ ├── protobuf.js │ │ ├── python.js │ │ ├── r.js │ │ ├── razor.js │ │ ├── rdoc.js │ │ ├── rhtml.js │ │ ├── rst.js │ │ ├── ruby.js │ │ ├── rust.js │ │ ├── sass.js │ │ ├── scad.js │ │ ├── scala.js │ │ ├── scheme.js │ │ ├── scss.js │ │ ├── sh.js │ │ ├── sjs.js │ │ ├── smarty.js │ │ ├── snippets.js │ │ ├── soy_template.js │ │ ├── space.js │ │ ├── sql.js │ │ ├── sqlserver.js │ │ ├── stylus.js │ │ ├── svg.js │ │ ├── swift.js │ │ ├── swig.js │ │ ├── tcl.js │ │ ├── tex.js │ │ ├── text.js │ │ ├── textile.js │ │ ├── toml.js │ │ ├── tsx.js │ │ ├── twig.js │ │ ├── typescript.js │ │ ├── vala.js │ │ ├── vbscript.js │ │ ├── velocity.js │ │ ├── verilog.js │ │ ├── vhdl.js │ │ ├── wollok.js │ │ ├── xml.js │ │ ├── xquery.js │ │ └── yaml.js │ │ ├── theme-ambiance.js │ │ ├── theme-chaos.js │ │ ├── theme-chrome.js │ │ ├── theme-clouds.js │ │ ├── theme-clouds_midnight.js │ │ ├── theme-cobalt.js │ │ ├── theme-crimson_editor.js │ │ ├── theme-dawn.js │ │ ├── theme-dreamweaver.js │ │ ├── theme-eclipse.js │ │ ├── theme-github.js │ │ ├── theme-idle_fingers.js │ │ ├── theme-iplastic.js │ │ ├── theme-katzenmilch.js │ │ ├── theme-kr_theme.js │ │ ├── theme-kuroir.js │ │ ├── theme-merbivore.js │ │ ├── theme-merbivore_soft.js │ │ ├── theme-mono_industrial.js │ │ ├── theme-monokai.js │ │ ├── theme-pastel_on_dark.js │ │ ├── theme-solarized_dark.js │ │ ├── theme-solarized_light.js │ │ ├── theme-sqlserver.js │ │ ├── theme-terminal.js │ │ ├── theme-textmate.js │ │ ├── theme-tomorrow.js │ │ ├── theme-tomorrow_night.js │ │ ├── theme-tomorrow_night_blue.js │ │ ├── theme-tomorrow_night_bright.js │ │ ├── theme-tomorrow_night_eighties.js │ │ ├── theme-twilight.js │ │ ├── theme-vibrant_ink.js │ │ ├── theme-xcode.js │ │ ├── worker-coffee.js │ │ ├── worker-css.js │ │ ├── worker-html.js │ │ ├── worker-javascript.js │ │ ├── worker-json.js │ │ ├── worker-lua.js │ │ ├── worker-php.js │ │ ├── worker-xml.js │ │ └── worker-xquery.js ├── img │ ├── Loading.gif │ └── backtest_result.png └── js │ ├── new_strategy.js │ ├── running_jobs.js │ ├── strategy.js │ ├── strategy_page.js │ └── strategy_run.js ├── strategyceleryapp ├── __init__.py ├── admin.py ├── apps.py ├── forms.py ├── migrations │ ├── 0001_initial.py │ ├── 0002_daily_price_symbol.py │ ├── 0003_strategy_output.py │ ├── 0004_auto_20170220_0912.py │ ├── 0005_auto_20170221_0341.py │ ├── 0006_auto_20170614_0629.py │ └── __init__.py ├── models.py ├── tasks.py ├── tests.py └── views.py ├── templates ├── base.html ├── contact.html ├── header.html ├── index.html ├── login.html ├── new_strategy.html ├── running_jobs.html ├── strategy.html ├── strategy_page.html └── strategy_run.html └── website_backtest_result.png /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | 5 | # C extensions 6 | *.so 7 | 8 | # Distribution / packaging 9 | .Python 10 | env/ 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | *.egg-info/ 23 | .installed.cfg 24 | *.egg 25 | 26 | # PyInstaller 27 | # Usually these files are written by a python script from a template 28 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 29 | *.manifest 30 | *.spec 31 | 32 | # Installer logs 33 | pip-log.txt 34 | pip-delete-this-directory.txt 35 | 36 | # Unit test / coverage reports 37 | htmlcov/ 38 | .tox/ 39 | .coverage 40 | .coverage.* 41 | .cache 42 | nosetests.xml 43 | coverage.xml 44 | *,cover 45 | 46 | # Translations 47 | *.mo 48 | *.pot 49 | 50 | # Django stuff: 51 | *.log 52 | 53 | # Sphinx documentation 54 | docs/_build/ 55 | 56 | # PyBuilder 57 | target/ 58 | 59 | # IPython 60 | .ipynb_checkpoints 61 | 62 | #ignore my file 63 | .idea 64 | *.log 65 | 66 | -------------------------------------------------------------------------------- /20201006_175332.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easytrader/StrategyCeleryWebsite/08b75404b035f60e5b46be897a2e791afbd455d4/20201006_175332.jpg -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # StrategyCeleryWebsite 2 | 3 | username: `leo`
4 | password: `qweasdzxc` 5 | 6 | ```bash 7 | $ mkdir github 8 | $ cd github 9 | $ git clone https://github.com/easytrader/StrategyCeleryWebsite.git 10 | $ pip install -r https://raw.githubusercontent.com/easytrader/StrategyCeleryWebsite/master/requirements.txt 11 | $ sudo pip install celery 12 | $ sudo pip install celery-with-redis 13 | $ sudo apt install redis-server 14 | $ sudo pip install django-celery 15 | $ sudo pip install apscheduler 16 | $ cd StrategyCeleryWebsite 17 | $ python manage.py runserver 18 | ``` 19 | ***************************************************************************************************************** 20 | I have modified the qstrader. You should use my qstrader code. 21 | ```bash 22 | $ git clone https://github.com/easytrader/qstrader.git 23 | $ cd qstrader 24 | $ uninstall -- sudo pip uninstall qstrader 25 | $ install -- sudo python setup.py install 26 | ``` 27 | ***************************************************************************************************************** 28 | ![alt tag](https://github.com/easytrader/StrategyCeleryWebsite/blob/master/monthly.png) 29 | ![alt tag](https://github.com/easytrader/StrategyCeleryWebsite/blob/master/monthly_result_1.png) 30 | ![alt tag](https://github.com/easytrader/StrategyCeleryWebsite/blob/master/monthly_result_2.png) 31 | ***************************************************************************************************************** 32 | 33 | 20170614- add new feature, running specific strategy on specific time everyday. It can be added jobs on the fly. 34 | -------------------------------------------------------------------------------- /StrategyCelery/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easytrader/StrategyCeleryWebsite/08b75404b035f60e5b46be897a2e791afbd455d4/StrategyCelery/__init__.py -------------------------------------------------------------------------------- /StrategyCelery/celery.py: -------------------------------------------------------------------------------- 1 | # @Author: Chen yunsheng(Leo YS CHen) 2 | # @Location: Taiwan 3 | # @E-mail:leoyenschen@gmail.com 4 | # @Date: 2017-02-14 00:11:27 5 | # @Last Modified by: Chen yunsheng 6 | 7 | from __future__ import absolute_import 8 | 9 | import os 10 | import django 11 | 12 | from celery import Celery 13 | from django.conf import settings 14 | 15 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'StrategyCelery.settings') 16 | django.setup() 17 | 18 | app = Celery('StrategyCelery') 19 | 20 | app.config_from_object('django.conf:settings') 21 | app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) 22 | -------------------------------------------------------------------------------- /StrategyCelery/urls.py: -------------------------------------------------------------------------------- 1 | """UseradminTest URL Configuration 2 | 3 | The `urlpatterns` list routes URLs to views. For more information please see: 4 | https://docs.djangoproject.com/en/1.9/topics/http/urls/ 5 | Examples: 6 | Function views 7 | 1. Add an import: from my_app import views 8 | 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') 9 | Class-based views 10 | 1. Add an import: from other_app.views import Home 11 | 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') 12 | Including another URLconf 13 | 1. Import the include() function: from django.conf.urls import url, include 14 | 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) 15 | """ 16 | from django.conf.urls import url 17 | from django.contrib import admin 18 | from strategyceleryapp.views import index,login,logout,strategy,new_strategy,strategy_page,strategy_del,new_strategy_save,strategy_modify,strategy_run 19 | from strategyceleryapp.views import running_jobs,daily_run_strategy,del_daily_run_strategy,aps_del 20 | 21 | urlpatterns = [ 22 | url(r'^admin/', admin.site.urls), 23 | url(r'^$', index), 24 | url(r'^login/$', login), 25 | url(r'^logout/$', logout), 26 | url(r'^strategy/$', strategy), 27 | url(r'^running_jobs/$', running_jobs), 28 | url(r'^strategy/del/$', strategy_del), 29 | url(r'^strategy/(?P[0-9]+)', strategy_page, name="strategy_page"), 30 | url(r'^new_strategy/$', new_strategy), 31 | url(r'^new_strategy_save/$', new_strategy_save), 32 | url(r'^strategy_modify/$', strategy_modify), 33 | url(r'^strategy_run/(?P[0-9]+)', strategy_run, name="strategy_run"), 34 | url(r'^daily_run_strategy/$', daily_run_strategy), 35 | url(r'^del_daily_run_strategy/$', del_daily_run_strategy), 36 | url(r'^aps/del/', aps_del), 37 | ] -------------------------------------------------------------------------------- /StrategyCelery/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for StrategyCelery project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/1.9/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "StrategyCelery.settings") 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /db.sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easytrader/StrategyCeleryWebsite/08b75404b035f60e5b46be897a2e791afbd455d4/db.sqlite3 -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import sys 4 | 5 | if __name__ == "__main__": 6 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "StrategyCelery.settings") 7 | 8 | from django.core.management import execute_from_command_line 9 | 10 | execute_from_command_line(sys.argv) 11 | -------------------------------------------------------------------------------- /monthly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easytrader/StrategyCeleryWebsite/08b75404b035f60e5b46be897a2e791afbd455d4/monthly.png -------------------------------------------------------------------------------- /monthly_result_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easytrader/StrategyCeleryWebsite/08b75404b035f60e5b46be897a2e791afbd455d4/monthly_result_1.png -------------------------------------------------------------------------------- /monthly_result_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easytrader/StrategyCeleryWebsite/08b75404b035f60e5b46be897a2e791afbd455d4/monthly_result_2.png -------------------------------------------------------------------------------- /qstrader/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easytrader/StrategyCeleryWebsite/08b75404b035f60e5b46be897a2e791afbd455d4/qstrader/__init__.py -------------------------------------------------------------------------------- /qstrader/custom_position.py: -------------------------------------------------------------------------------- 1 | from math import floor 2 | 3 | from qstrader.position_sizer.base import AbstractPositionSizer 4 | from qstrader.price_parser import PriceParser 5 | 6 | 7 | class CustomPositionSizer(AbstractPositionSizer): 8 | """ 9 | Carries out a periodic full liquidation and rebalance of 10 | the Portfolio. 11 | 12 | This is achieved by determining whether an order type type 13 | is "EXIT" or "BOT/SLD". 14 | 15 | If the former, the current quantity of shares in the ticker 16 | is determined and then BOT or SLD to net the position to zero. 17 | 18 | If the latter, the current quantity of shares to obtain is 19 | determined by prespecified weights and adjusted to reflect 20 | current account equity. 21 | """ 22 | def __init__(self): 23 | ticker_weights = { 24 | "SPY": 0.6, 25 | "ABT": 0.4, 26 | } 27 | self.ticker_weights = ticker_weights 28 | 29 | def size_order(self, portfolio, initial_order): 30 | """ 31 | Size the order to reflect the dollar-weighting of the 32 | current equity account size based on pre-specified 33 | ticker weights. 34 | """ 35 | ticker = initial_order.ticker 36 | if initial_order.action == "EXIT": 37 | # Obtain current quantity and liquidate 38 | cur_quantity = portfolio.positions[ticker].quantity 39 | if cur_quantity > 0: 40 | initial_order.action = "SLD" 41 | initial_order.quantity = cur_quantity 42 | elif cur_quantity < 0: 43 | initial_order.action = "BOT" 44 | initial_order.quantity = cur_quantity 45 | else: 46 | initial_order.quantity = 0 47 | else: 48 | weight = self.ticker_weights[ticker] 49 | # Determine total portfolio value, work out dollar weight 50 | # and finally determine integer quantity of shares to purchase 51 | price = portfolio.price_handler.tickers[ticker]["adj_close"] 52 | price /= PriceParser.PRICE_MULTIPLIER 53 | equity = portfolio.equity / PriceParser.PRICE_MULTIPLIER 54 | dollar_weight = weight * equity 55 | weighted_quantity = int(floor(dollar_weight / price)) 56 | # Update quantity 57 | initial_order.quantity = weighted_quantity 58 | return initial_order 59 | -------------------------------------------------------------------------------- /qstrader/custom_strategy.py: -------------------------------------------------------------------------------- 1 | import calendar 2 | from qstrader.strategy.base import AbstractStrategy 3 | from qstrader.event import (SignalEvent, EventType) 4 | 5 | 6 | class CustomStrategy(AbstractStrategy): 7 | """ 8 | A generic strategy that allows monthly rebalancing of a 9 | set of tickers, via full liquidation and dollar-weighting 10 | of new positions. 11 | Must be used in conjunction with the 12 | LiquidateRebalancePositionSizer object to work correctly. 13 | """ 14 | def __init__(self, tickers, events_queue): 15 | self.tickers = tickers 16 | self.events_queue = events_queue 17 | self.tickers_invested = self._create_invested_list() 18 | 19 | def _end_of_month(self, cur_time): 20 | """ 21 | Determine if the current day is at the end of the month. 22 | """ 23 | cur_day = cur_time.day 24 | end_day = calendar.monthrange(cur_time.year, cur_time.month)[1] 25 | return cur_day == end_day 26 | 27 | def _create_invested_list(self): 28 | """ 29 | Create a dictionary with each ticker as a key, with 30 | a boolean value depending upon whether the ticker has 31 | been "invested" yet. This is necessary to avoid sending 32 | a liquidation signal on the first allocation. 33 | """ 34 | tickers_invested = {ticker: False for ticker in self.tickers} 35 | return tickers_invested 36 | 37 | def calculate_signals(self, event): 38 | """ 39 | For a particular received BarEvent, determine whether 40 | it is the end of the month (for that bar) and generate 41 | a liquidation signal, as well as a purchase signal, 42 | for each ticker. 43 | """ 44 | if ( 45 | event.type in [EventType.BAR, EventType.TICK] and 46 | self._end_of_month(event.time) 47 | ): 48 | ticker = event.ticker 49 | if self.tickers_invested[ticker]: 50 | liquidate_signal = SignalEvent(ticker, "EXIT") 51 | self.events_queue.put(liquidate_signal) 52 | long_signal = SignalEvent(ticker, "BOT") 53 | self.events_queue.put(long_signal) 54 | self.tickers_invested[ticker] = True -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | Django==1.10.5 2 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/ext-error_marker.js: -------------------------------------------------------------------------------- 1 | 2 | ; 3 | (function() { 4 | ace.require(["ace/ext/error_marker"], function() {}); 5 | })(); 6 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/ext-linking.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/ext/linking",["require","exports","module","ace/editor","ace/config"], function(require, exports, module) { 2 | 3 | var Editor = require("ace/editor").Editor; 4 | 5 | require("../config").defineOptions(Editor.prototype, "editor", { 6 | enableLinking: { 7 | set: function(val) { 8 | if (val) { 9 | this.on("click", onClick); 10 | this.on("mousemove", onMouseMove); 11 | } else { 12 | this.off("click", onClick); 13 | this.off("mousemove", onMouseMove); 14 | } 15 | }, 16 | value: false 17 | } 18 | }) 19 | 20 | function onMouseMove(e) { 21 | var editor = e.editor; 22 | var ctrl = e.getAccelKey(); 23 | 24 | if (ctrl) { 25 | var editor = e.editor; 26 | var docPos = e.getDocumentPosition(); 27 | var session = editor.session; 28 | var token = session.getTokenAt(docPos.row, docPos.column); 29 | 30 | editor._emit("linkHover", {position: docPos, token: token}); 31 | } 32 | } 33 | 34 | function onClick(e) { 35 | var ctrl = e.getAccelKey(); 36 | var button = e.getButton(); 37 | 38 | if (button == 0 && ctrl) { 39 | var editor = e.editor; 40 | var docPos = e.getDocumentPosition(); 41 | var session = editor.session; 42 | var token = session.getTokenAt(docPos.row, docPos.column); 43 | 44 | editor._emit("linkClick", {position: docPos, token: token}); 45 | } 46 | } 47 | 48 | }); 49 | (function() { 50 | ace.require(["ace/ext/linking"], function() {}); 51 | })(); 52 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/ext-spellcheck.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/ext/spellcheck",["require","exports","module","ace/lib/event","ace/editor","ace/config"], function(require, exports, module) { 2 | "use strict"; 3 | var event = require("../lib/event"); 4 | 5 | exports.contextMenuHandler = function(e){ 6 | var host = e.target; 7 | var text = host.textInput.getElement(); 8 | if (!host.selection.isEmpty()) 9 | return; 10 | var c = host.getCursorPosition(); 11 | var r = host.session.getWordRange(c.row, c.column); 12 | var w = host.session.getTextRange(r); 13 | 14 | host.session.tokenRe.lastIndex = 0; 15 | if (!host.session.tokenRe.test(w)) 16 | return; 17 | var PLACEHOLDER = "\x01\x01"; 18 | var value = w + " " + PLACEHOLDER; 19 | text.value = value; 20 | text.setSelectionRange(w.length, w.length + 1); 21 | text.setSelectionRange(0, 0); 22 | text.setSelectionRange(0, w.length); 23 | 24 | var afterKeydown = false; 25 | event.addListener(text, "keydown", function onKeydown() { 26 | event.removeListener(text, "keydown", onKeydown); 27 | afterKeydown = true; 28 | }); 29 | 30 | host.textInput.setInputHandler(function(newVal) { 31 | console.log(newVal , value, text.selectionStart, text.selectionEnd) 32 | if (newVal == value) 33 | return ''; 34 | if (newVal.lastIndexOf(value, 0) === 0) 35 | return newVal.slice(value.length); 36 | if (newVal.substr(text.selectionEnd) == value) 37 | return newVal.slice(0, -value.length); 38 | if (newVal.slice(-2) == PLACEHOLDER) { 39 | var val = newVal.slice(0, -2); 40 | if (val.slice(-1) == " ") { 41 | if (afterKeydown) 42 | return val.substring(0, text.selectionEnd); 43 | val = val.slice(0, -1); 44 | host.session.replace(r, val); 45 | return ""; 46 | } 47 | } 48 | 49 | return newVal; 50 | }); 51 | }; 52 | var Editor = require("../editor").Editor; 53 | require("../config").defineOptions(Editor.prototype, "editor", { 54 | spellcheck: { 55 | set: function(val) { 56 | var text = this.textInput.getElement(); 57 | text.spellcheck = !!val; 58 | if (!val) 59 | this.removeListener("nativecontextmenu", exports.contextMenuHandler); 60 | else 61 | this.on("nativecontextmenu", exports.contextMenuHandler); 62 | }, 63 | value: true 64 | } 65 | }); 66 | 67 | }); 68 | (function() { 69 | ace.require(["ace/ext/spellcheck"], function() {}); 70 | })(); 71 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/ext-statusbar.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/ext/statusbar",["require","exports","module","ace/lib/dom","ace/lib/lang"], function(require, exports, module) { 2 | "use strict"; 3 | var dom = require("ace/lib/dom"); 4 | var lang = require("ace/lib/lang"); 5 | 6 | var StatusBar = function(editor, parentNode) { 7 | this.element = dom.createElement("div"); 8 | this.element.className = "ace_status-indicator"; 9 | this.element.style.cssText = "display: inline-block;"; 10 | parentNode.appendChild(this.element); 11 | 12 | var statusUpdate = lang.delayedCall(function(){ 13 | this.updateStatus(editor) 14 | }.bind(this)).schedule.bind(null, 100); 15 | 16 | editor.on("changeStatus", statusUpdate); 17 | editor.on("changeSelection", statusUpdate); 18 | editor.on("keyboardActivity", statusUpdate); 19 | }; 20 | 21 | (function(){ 22 | this.updateStatus = function(editor) { 23 | var status = []; 24 | function add(str, separator) { 25 | str && status.push(str, separator || "|"); 26 | } 27 | 28 | add(editor.keyBinding.getStatusText(editor)); 29 | if (editor.commands.recording) 30 | add("REC"); 31 | 32 | var sel = editor.selection; 33 | var c = sel.lead; 34 | 35 | if (!sel.isEmpty()) { 36 | var r = editor.getSelectionRange(); 37 | add("(" + (r.end.row - r.start.row) + ":" +(r.end.column - r.start.column) + ")", " "); 38 | } 39 | add(c.row + ":" + c.column, " "); 40 | if (sel.rangeCount) 41 | add("[" + sel.rangeCount + "]", " "); 42 | status.pop(); 43 | this.element.textContent = status.join(""); 44 | }; 45 | }).call(StatusBar.prototype); 46 | 47 | exports.StatusBar = StatusBar; 48 | 49 | }); 50 | (function() { 51 | ace.require(["ace/ext/statusbar"], function() {}); 52 | })(); 53 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/ext-themelist.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/ext/themelist",["require","exports","module","ace/lib/fixoldbrowsers"], function(require, exports, module) { 2 | "use strict"; 3 | require("ace/lib/fixoldbrowsers"); 4 | 5 | var themeData = [ 6 | ["Chrome" ], 7 | ["Clouds" ], 8 | ["Crimson Editor" ], 9 | ["Dawn" ], 10 | ["Dreamweaver" ], 11 | ["Eclipse" ], 12 | ["GitHub" ], 13 | ["IPlastic" ], 14 | ["Solarized Light"], 15 | ["TextMate" ], 16 | ["Tomorrow" ], 17 | ["XCode" ], 18 | ["Kuroir"], 19 | ["KatzenMilch"], 20 | ["SQL Server" ,"sqlserver" , "light"], 21 | ["Ambiance" ,"ambiance" , "dark"], 22 | ["Chaos" ,"chaos" , "dark"], 23 | ["Clouds Midnight" ,"clouds_midnight" , "dark"], 24 | ["Cobalt" ,"cobalt" , "dark"], 25 | ["Gruvbox" ,"gruvbox" , "dark"], 26 | ["idle Fingers" ,"idle_fingers" , "dark"], 27 | ["krTheme" ,"kr_theme" , "dark"], 28 | ["Merbivore" ,"merbivore" , "dark"], 29 | ["Merbivore Soft" ,"merbivore_soft" , "dark"], 30 | ["Mono Industrial" ,"mono_industrial" , "dark"], 31 | ["Monokai" ,"monokai" , "dark"], 32 | ["Pastel on dark" ,"pastel_on_dark" , "dark"], 33 | ["Solarized Dark" ,"solarized_dark" , "dark"], 34 | ["Terminal" ,"terminal" , "dark"], 35 | ["Tomorrow Night" ,"tomorrow_night" , "dark"], 36 | ["Tomorrow Night Blue" ,"tomorrow_night_blue" , "dark"], 37 | ["Tomorrow Night Bright","tomorrow_night_bright" , "dark"], 38 | ["Tomorrow Night 80s" ,"tomorrow_night_eighties" , "dark"], 39 | ["Twilight" ,"twilight" , "dark"], 40 | ["Vibrant Ink" ,"vibrant_ink" , "dark"] 41 | ]; 42 | 43 | 44 | exports.themesByName = {}; 45 | exports.themes = themeData.map(function(data) { 46 | var name = data[1] || data[0].replace(/ /g, "_").toLowerCase(); 47 | var theme = { 48 | caption: data[0], 49 | theme: "ace/theme/" + name, 50 | isDark: data[2] == "dark", 51 | name: name 52 | }; 53 | exports.themesByName[name] = theme; 54 | return theme; 55 | }); 56 | 57 | }); 58 | (function() { 59 | ace.require(["ace/ext/themelist"], function() {}); 60 | })(); 61 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/mode-ada.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/mode/ada_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | var oop = require("../lib/oop"); 5 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 6 | 7 | var AdaHighlightRules = function() { 8 | var keywords = "abort|else|new|return|abs|elsif|not|reverse|abstract|end|null|accept|entry|select|" + 9 | "access|exception|of|separate|aliased|exit|or|some|all|others|subtype|and|for|out|synchronized|" + 10 | "array|function|overriding|at|tagged|generic|package|task|begin|goto|pragma|terminate|" + 11 | "body|private|then|if|procedure|type|case|in|protected|constant|interface|until|" + 12 | "|is|raise|use|declare|range|delay|limited|record|when|delta|loop|rem|while|digits|renames|with|do|mod|requeue|xor"; 13 | 14 | var builtinConstants = ( 15 | "true|false|null" 16 | ); 17 | 18 | var builtinFunctions = ( 19 | "count|min|max|avg|sum|rank|now|coalesce|main" 20 | ); 21 | 22 | var keywordMapper = this.createKeywordMapper({ 23 | "support.function": builtinFunctions, 24 | "keyword": keywords, 25 | "constant.language": builtinConstants 26 | }, "identifier", true); 27 | 28 | this.$rules = { 29 | "start" : [ { 30 | token : "comment", 31 | regex : "--.*$" 32 | }, { 33 | token : "string", // " string 34 | regex : '".*?"' 35 | }, { 36 | token : "string", // ' string 37 | regex : "'.*?'" 38 | }, { 39 | token : "constant.numeric", // float 40 | regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b" 41 | }, { 42 | token : keywordMapper, 43 | regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" 44 | }, { 45 | token : "keyword.operator", 46 | regex : "\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|=" 47 | }, { 48 | token : "paren.lparen", 49 | regex : "[\\(]" 50 | }, { 51 | token : "paren.rparen", 52 | regex : "[\\)]" 53 | }, { 54 | token : "text", 55 | regex : "\\s+" 56 | } ] 57 | }; 58 | }; 59 | 60 | oop.inherits(AdaHighlightRules, TextHighlightRules); 61 | 62 | exports.AdaHighlightRules = AdaHighlightRules; 63 | }); 64 | 65 | ace.define("ace/mode/ada",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ada_highlight_rules"], function(require, exports, module) { 66 | "use strict"; 67 | 68 | var oop = require("../lib/oop"); 69 | var TextMode = require("./text").Mode; 70 | var AdaHighlightRules = require("./ada_highlight_rules").AdaHighlightRules; 71 | 72 | var Mode = function() { 73 | this.HighlightRules = AdaHighlightRules; 74 | this.$behaviour = this.$defaultBehaviour; 75 | }; 76 | oop.inherits(Mode, TextMode); 77 | 78 | (function() { 79 | 80 | this.lineCommentStart = "--"; 81 | 82 | this.$id = "ace/mode/ada"; 83 | }).call(Mode.prototype); 84 | 85 | exports.Mode = Mode; 86 | 87 | }); 88 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/mode-gcode.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/mode/gcode_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | var oop = require("../lib/oop"); 5 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 6 | 7 | var GcodeHighlightRules = function() { 8 | 9 | var keywords = ( 10 | "IF|DO|WHILE|ENDWHILE|CALL|ENDIF|SUB|ENDSUB|GOTO|REPEAT|ENDREPEAT|CALL" 11 | ); 12 | 13 | var builtinConstants = ( 14 | "PI" 15 | ); 16 | 17 | var builtinFunctions = ( 18 | "ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN" 19 | ); 20 | var keywordMapper = this.createKeywordMapper({ 21 | "support.function": builtinFunctions, 22 | "keyword": keywords, 23 | "constant.language": builtinConstants 24 | }, "identifier", true); 25 | 26 | this.$rules = { 27 | "start" : [ { 28 | token : "comment", 29 | regex : "\\(.*\\)" 30 | }, { 31 | token : "comment", // block number 32 | regex : "([N])([0-9]+)" 33 | }, { 34 | token : "string", // " string 35 | regex : "([G])([0-9]+\\.?[0-9]?)" 36 | }, { 37 | token : "string", // ' string 38 | regex : "([M])([0-9]+\\.?[0-9]?)" 39 | }, { 40 | token : "constant.numeric", // float 41 | regex : "([-+]?([0-9]*\\.?[0-9]+\\.?))|(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)" 42 | }, { 43 | token : keywordMapper, 44 | regex : "[A-Z]" 45 | }, { 46 | token : "keyword.operator", 47 | regex : "EQ|LT|GT|NE|GE|LE|OR|XOR" 48 | }, { 49 | token : "paren.lparen", 50 | regex : "[\\[]" 51 | }, { 52 | token : "paren.rparen", 53 | regex : "[\\]]" 54 | }, { 55 | token : "text", 56 | regex : "\\s+" 57 | } ] 58 | }; 59 | }; 60 | 61 | oop.inherits(GcodeHighlightRules, TextHighlightRules); 62 | 63 | exports.GcodeHighlightRules = GcodeHighlightRules; 64 | }); 65 | 66 | ace.define("ace/mode/gcode",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gcode_highlight_rules","ace/range"], function(require, exports, module) { 67 | "use strict"; 68 | 69 | var oop = require("../lib/oop"); 70 | var TextMode = require("./text").Mode; 71 | var GcodeHighlightRules = require("./gcode_highlight_rules").GcodeHighlightRules; 72 | var Range = require("../range").Range; 73 | 74 | var Mode = function() { 75 | this.HighlightRules = GcodeHighlightRules; 76 | this.$behaviour = this.$defaultBehaviour; 77 | }; 78 | oop.inherits(Mode, TextMode); 79 | 80 | (function() { 81 | this.$id = "ace/mode/gcode"; 82 | }).call(Mode.prototype); 83 | 84 | exports.Mode = Mode; 85 | 86 | }); 87 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/mode-gitignore.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/mode/gitignore_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | var oop = require("../lib/oop"); 5 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 6 | 7 | var GitignoreHighlightRules = function() { 8 | this.$rules = { 9 | "start" : [ 10 | { 11 | token : "comment", 12 | regex : /^\s*#.*$/ 13 | }, { 14 | token : "keyword", // negated patterns 15 | regex : /^\s*!.*$/ 16 | } 17 | ] 18 | }; 19 | 20 | this.normalizeRules(); 21 | }; 22 | 23 | GitignoreHighlightRules.metaData = { 24 | fileTypes: ['gitignore'], 25 | name: 'Gitignore' 26 | }; 27 | 28 | oop.inherits(GitignoreHighlightRules, TextHighlightRules); 29 | 30 | exports.GitignoreHighlightRules = GitignoreHighlightRules; 31 | }); 32 | 33 | ace.define("ace/mode/gitignore",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gitignore_highlight_rules"], function(require, exports, module) { 34 | "use strict"; 35 | 36 | var oop = require("../lib/oop"); 37 | var TextMode = require("./text").Mode; 38 | var GitignoreHighlightRules = require("./gitignore_highlight_rules").GitignoreHighlightRules; 39 | 40 | var Mode = function() { 41 | this.HighlightRules = GitignoreHighlightRules; 42 | this.$behaviour = this.$defaultBehaviour; 43 | }; 44 | oop.inherits(Mode, TextMode); 45 | 46 | (function() { 47 | this.lineCommentStart = "#"; 48 | this.$id = "ace/mode/gitignore"; 49 | }).call(Mode.prototype); 50 | 51 | exports.Mode = Mode; 52 | }); 53 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/mode-lucene.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/mode/lucene_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | var oop = require("../lib/oop"); 5 | var lang = require("../lib/lang"); 6 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 7 | 8 | var LuceneHighlightRules = function() { 9 | this.$rules = { 10 | "start" : [ 11 | { 12 | token : "constant.character.negation", 13 | regex : "[\\-]" 14 | }, { 15 | token : "constant.character.interro", 16 | regex : "[\\?]" 17 | }, { 18 | token : "constant.character.asterisk", 19 | regex : "[\\*]" 20 | }, { 21 | token: 'constant.character.proximity', 22 | regex: '~[0-9]+\\b' 23 | }, { 24 | token : 'keyword.operator', 25 | regex: '(?:AND|OR|NOT)\\b' 26 | }, { 27 | token : "paren.lparen", 28 | regex : "[\\(]" 29 | }, { 30 | token : "paren.rparen", 31 | regex : "[\\)]" 32 | }, { 33 | token : "keyword", 34 | regex : "[\\S]+:" 35 | }, { 36 | token : "string", // " string 37 | regex : '".*?"' 38 | }, { 39 | token : "text", 40 | regex : "\\s+" 41 | } 42 | ] 43 | }; 44 | }; 45 | 46 | oop.inherits(LuceneHighlightRules, TextHighlightRules); 47 | 48 | exports.LuceneHighlightRules = LuceneHighlightRules; 49 | }); 50 | 51 | ace.define("ace/mode/lucene",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/lucene_highlight_rules"], function(require, exports, module) { 52 | 'use strict'; 53 | 54 | var oop = require("../lib/oop"); 55 | var TextMode = require("./text").Mode; 56 | var LuceneHighlightRules = require("./lucene_highlight_rules").LuceneHighlightRules; 57 | 58 | var Mode = function() { 59 | this.HighlightRules = LuceneHighlightRules; 60 | this.$behaviour = this.$defaultBehaviour; 61 | }; 62 | 63 | oop.inherits(Mode, TextMode); 64 | 65 | (function() { 66 | this.$id = "ace/mode/lucene"; 67 | }).call(Mode.prototype); 68 | 69 | exports.Mode = Mode; 70 | }); 71 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/mode-plain_text.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/mode/plain_text",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/behaviour"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | var oop = require("../lib/oop"); 5 | var TextMode = require("./text").Mode; 6 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 7 | var Behaviour = require("./behaviour").Behaviour; 8 | 9 | var Mode = function() { 10 | this.HighlightRules = TextHighlightRules; 11 | this.$behaviour = new Behaviour(); 12 | }; 13 | 14 | oop.inherits(Mode, TextMode); 15 | 16 | (function() { 17 | this.type = "text"; 18 | this.getNextLineIndent = function(state, line, tab) { 19 | return ''; 20 | }; 21 | this.$id = "ace/mode/plain_text"; 22 | }).call(Mode.prototype); 23 | 24 | exports.Mode = Mode; 25 | }); 26 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/mode-properties.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/mode/properties_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | var oop = require("../lib/oop"); 5 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 6 | 7 | var PropertiesHighlightRules = function() { 8 | 9 | var escapeRe = /\\u[0-9a-fA-F]{4}|\\/; 10 | 11 | this.$rules = { 12 | "start" : [ 13 | { 14 | token : "comment", 15 | regex : /[!#].*$/ 16 | }, { 17 | token : "keyword", 18 | regex : /[=:]$/ 19 | }, { 20 | token : "keyword", 21 | regex : /[=:]/, 22 | next : "value" 23 | }, { 24 | token : "constant.language.escape", 25 | regex : escapeRe 26 | }, { 27 | defaultToken: "variable" 28 | } 29 | ], 30 | "value" : [ 31 | { 32 | regex : /\\$/, 33 | token : "string", 34 | next : "value" 35 | }, { 36 | regex : /$/, 37 | token : "string", 38 | next : "start" 39 | }, { 40 | token : "constant.language.escape", 41 | regex : escapeRe 42 | }, { 43 | defaultToken: "string" 44 | } 45 | ] 46 | }; 47 | 48 | }; 49 | 50 | oop.inherits(PropertiesHighlightRules, TextHighlightRules); 51 | 52 | exports.PropertiesHighlightRules = PropertiesHighlightRules; 53 | }); 54 | 55 | ace.define("ace/mode/properties",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/properties_highlight_rules"], function(require, exports, module) { 56 | "use strict"; 57 | 58 | var oop = require("../lib/oop"); 59 | var TextMode = require("./text").Mode; 60 | var PropertiesHighlightRules = require("./properties_highlight_rules").PropertiesHighlightRules; 61 | 62 | var Mode = function() { 63 | this.HighlightRules = PropertiesHighlightRules; 64 | this.$behaviour = this.$defaultBehaviour; 65 | }; 66 | oop.inherits(Mode, TextMode); 67 | 68 | (function() { 69 | this.$id = "ace/mode/properties"; 70 | }).call(Mode.prototype); 71 | 72 | exports.Mode = Mode; 73 | }); 74 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/mode-sql.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/mode/sql_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | var oop = require("../lib/oop"); 5 | var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 6 | 7 | var SqlHighlightRules = function() { 8 | 9 | var keywords = ( 10 | "select|insert|update|delete|from|where|and|or|group|by|order|limit|offset|having|as|case|" + 11 | "when|else|end|type|left|right|join|on|outer|desc|asc|union|create|table|primary|key|if|" + 12 | "foreign|not|references|default|null|inner|cross|natural|database|drop|grant" 13 | ); 14 | 15 | var builtinConstants = ( 16 | "true|false" 17 | ); 18 | 19 | var builtinFunctions = ( 20 | "avg|count|first|last|max|min|sum|ucase|lcase|mid|len|round|rank|now|format|" + 21 | "coalesce|ifnull|isnull|nvl" 22 | ); 23 | 24 | var dataTypes = ( 25 | "int|numeric|decimal|date|varchar|char|bigint|float|double|bit|binary|text|set|timestamp|" + 26 | "money|real|number|integer" 27 | ); 28 | 29 | var keywordMapper = this.createKeywordMapper({ 30 | "support.function": builtinFunctions, 31 | "keyword": keywords, 32 | "constant.language": builtinConstants, 33 | "storage.type": dataTypes 34 | }, "identifier", true); 35 | 36 | this.$rules = { 37 | "start" : [ { 38 | token : "comment", 39 | regex : "--.*$" 40 | }, { 41 | token : "comment", 42 | start : "/\\*", 43 | end : "\\*/" 44 | }, { 45 | token : "string", // " string 46 | regex : '".*?"' 47 | }, { 48 | token : "string", // ' string 49 | regex : "'.*?'" 50 | }, { 51 | token : "constant.numeric", // float 52 | regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b" 53 | }, { 54 | token : keywordMapper, 55 | regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" 56 | }, { 57 | token : "keyword.operator", 58 | regex : "\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|=" 59 | }, { 60 | token : "paren.lparen", 61 | regex : "[\\(]" 62 | }, { 63 | token : "paren.rparen", 64 | regex : "[\\)]" 65 | }, { 66 | token : "text", 67 | regex : "\\s+" 68 | } ] 69 | }; 70 | this.normalizeRules(); 71 | }; 72 | 73 | oop.inherits(SqlHighlightRules, TextHighlightRules); 74 | 75 | exports.SqlHighlightRules = SqlHighlightRules; 76 | }); 77 | 78 | ace.define("ace/mode/sql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sql_highlight_rules"], function(require, exports, module) { 79 | "use strict"; 80 | 81 | var oop = require("../lib/oop"); 82 | var TextMode = require("./text").Mode; 83 | var SqlHighlightRules = require("./sql_highlight_rules").SqlHighlightRules; 84 | 85 | var Mode = function() { 86 | this.HighlightRules = SqlHighlightRules; 87 | this.$behaviour = this.$defaultBehaviour; 88 | }; 89 | oop.inherits(Mode, TextMode); 90 | 91 | (function() { 92 | 93 | this.lineCommentStart = "--"; 94 | 95 | this.$id = "ace/mode/sql"; 96 | }).call(Mode.prototype); 97 | 98 | exports.Mode = Mode; 99 | 100 | }); 101 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/mode-text.js: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/abap.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/abap",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "abap"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/abc.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/abc",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "\n\ 5 | snippet zupfnoter.print\n\ 6 | %%%%hn.print {\"startpos\": ${1:pos_y}, \"t\":\"${2:title}\", \"v\":[${3:voices}], \"s\":[[${4:syncvoices}1,2]], \"f\":[${5:flowlines}], \"sf\":[${6:subflowlines}], \"j\":[${7:jumplines}]}\n\ 7 | \n\ 8 | snippet zupfnoter.note\n\ 9 | %%%%hn.note {\"pos\": [${1:pos_x},${2:pos_y}], \"text\": \"${3:text}\", \"style\": \"${4:style}\"}\n\ 10 | \n\ 11 | snippet zupfnoter.annotation\n\ 12 | %%%%hn.annotation {\"id\": \"${1:id}\", \"pos\": [${2:pos}], \"text\": \"${3:text}\"}\n\ 13 | \n\ 14 | snippet zupfnoter.lyrics\n\ 15 | %%%%hn.lyrics {\"pos\": [${1:x_pos},${2:y_pos}]}\n\ 16 | \n\ 17 | snippet zupfnoter.legend\n\ 18 | %%%%hn.legend {\"pos\": [${1:x_pos},${2:y_pos}]}\n\ 19 | \n\ 20 | \n\ 21 | \n\ 22 | snippet zupfnoter.target\n\ 23 | \"^:${1:target}\"\n\ 24 | \n\ 25 | snippet zupfnoter.goto\n\ 26 | \"^@${1:target}@${2:distance}\"\n\ 27 | \n\ 28 | snippet zupfnoter.annotationref\n\ 29 | \"^#${1:target}\"\n\ 30 | \n\ 31 | snippet zupfnoter.annotation\n\ 32 | \"^!${1:text}@${2:x_offset},${3:y_offset}\"\n\ 33 | \n\ 34 | \n\ 35 | "; 36 | exports.scope = "abc"; 37 | 38 | }); 39 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/ada.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/ada",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "ada"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/apache_conf.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/apache_conf",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "apache_conf"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/applescript.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/applescript",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "applescript"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/asciidoc.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/asciidoc",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "asciidoc"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/assembly_x86.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/assembly_x86",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "assembly_x86"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/autohotkey.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/autohotkey",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "autohotkey"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/batchfile.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/batchfile",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "batchfile"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/bro.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/bro",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = ""; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/c9search.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/c9search",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "c9search"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/cirru.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/cirru",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "cirru"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/clojure.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/clojure",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet comm\n\ 5 | (comment\n\ 6 | ${1}\n\ 7 | )\n\ 8 | snippet condp\n\ 9 | (condp ${1:pred} ${2:expr}\n\ 10 | ${3})\n\ 11 | snippet def\n\ 12 | (def ${1})\n\ 13 | snippet defm\n\ 14 | (defmethod ${1:multifn} \"${2:doc-string}\" ${3:dispatch-val} [${4:args}]\n\ 15 | ${5})\n\ 16 | snippet defmm\n\ 17 | (defmulti ${1:name} \"${2:doc-string}\" ${3:dispatch-fn})\n\ 18 | snippet defma\n\ 19 | (defmacro ${1:name} \"${2:doc-string}\" ${3:dispatch-fn})\n\ 20 | snippet defn\n\ 21 | (defn ${1:name} \"${2:doc-string}\" [${3:arg-list}]\n\ 22 | ${4})\n\ 23 | snippet defp\n\ 24 | (defprotocol ${1:name}\n\ 25 | ${2})\n\ 26 | snippet defr\n\ 27 | (defrecord ${1:name} [${2:fields}]\n\ 28 | ${3:protocol}\n\ 29 | ${4})\n\ 30 | snippet deft\n\ 31 | (deftest ${1:name}\n\ 32 | (is (= ${2:assertion})))\n\ 33 | ${3})\n\ 34 | snippet is\n\ 35 | (is (= ${1} ${2}))\n\ 36 | snippet defty\n\ 37 | (deftype ${1:Name} [${2:fields}]\n\ 38 | ${3:Protocol}\n\ 39 | ${4})\n\ 40 | snippet doseq\n\ 41 | (doseq [${1:elem} ${2:coll}]\n\ 42 | ${3})\n\ 43 | snippet fn\n\ 44 | (fn [${1:arg-list}] ${2})\n\ 45 | snippet if\n\ 46 | (if ${1:test-expr}\n\ 47 | ${2:then-expr}\n\ 48 | ${3:else-expr})\n\ 49 | snippet if-let \n\ 50 | (if-let [${1:result} ${2:test-expr}]\n\ 51 | (${3:then-expr} $1)\n\ 52 | (${4:else-expr}))\n\ 53 | snippet imp\n\ 54 | (:import [${1:package}])\n\ 55 | & {:keys [${1:keys}] :or {${2:defaults}}}\n\ 56 | snippet let\n\ 57 | (let [${1:name} ${2:expr}]\n\ 58 | ${3})\n\ 59 | snippet letfn\n\ 60 | (letfn [(${1:name) [${2:args}]\n\ 61 | ${3})])\n\ 62 | snippet map\n\ 63 | (map ${1:func} ${2:coll})\n\ 64 | snippet mapl\n\ 65 | (map #(${1:lambda}) ${2:coll})\n\ 66 | snippet met\n\ 67 | (${1:name} [${2:this} ${3:args}]\n\ 68 | ${4})\n\ 69 | snippet ns\n\ 70 | (ns ${1:name}\n\ 71 | ${2})\n\ 72 | snippet dotimes\n\ 73 | (dotimes [_ 10]\n\ 74 | (time\n\ 75 | (dotimes [_ ${1:times}]\n\ 76 | ${2})))\n\ 77 | snippet pmethod\n\ 78 | (${1:name} [${2:this} ${3:args}])\n\ 79 | snippet refer\n\ 80 | (:refer-clojure :exclude [${1}])\n\ 81 | snippet require\n\ 82 | (:require [${1:namespace} :as [${2}]])\n\ 83 | snippet use\n\ 84 | (:use [${1:namespace} :only [${2}]])\n\ 85 | snippet print\n\ 86 | (println ${1})\n\ 87 | snippet reduce\n\ 88 | (reduce ${1:(fn [p n] ${3})} ${2})\n\ 89 | snippet when\n\ 90 | (when ${1:test} ${2:body})\n\ 91 | snippet when-let\n\ 92 | (when-let [${1:result} ${2:test}]\n\ 93 | ${3:body})\n\ 94 | "; 95 | exports.scope = "clojure"; 96 | 97 | }); 98 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/cobol.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/cobol",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "cobol"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/coffee.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/coffee",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# Closure loop\n\ 5 | snippet forindo\n\ 6 | for ${1:name} in ${2:array}\n\ 7 | do ($1) ->\n\ 8 | ${3:// body}\n\ 9 | # Array comprehension\n\ 10 | snippet fora\n\ 11 | for ${1:name} in ${2:array}\n\ 12 | ${3:// body...}\n\ 13 | # Object comprehension\n\ 14 | snippet foro\n\ 15 | for ${1:key}, ${2:value} of ${3:object}\n\ 16 | ${4:// body...}\n\ 17 | # Range comprehension (inclusive)\n\ 18 | snippet forr\n\ 19 | for ${1:name} in [${2:start}..${3:finish}]\n\ 20 | ${4:// body...}\n\ 21 | snippet forrb\n\ 22 | for ${1:name} in [${2:start}..${3:finish}] by ${4:step}\n\ 23 | ${5:// body...}\n\ 24 | # Range comprehension (exclusive)\n\ 25 | snippet forrex\n\ 26 | for ${1:name} in [${2:start}...${3:finish}]\n\ 27 | ${4:// body...}\n\ 28 | snippet forrexb\n\ 29 | for ${1:name} in [${2:start}...${3:finish}] by ${4:step}\n\ 30 | ${5:// body...}\n\ 31 | # Function\n\ 32 | snippet fun\n\ 33 | (${1:args}) ->\n\ 34 | ${2:// body...}\n\ 35 | # Function (bound)\n\ 36 | snippet bfun\n\ 37 | (${1:args}) =>\n\ 38 | ${2:// body...}\n\ 39 | # Class\n\ 40 | snippet cla class ..\n\ 41 | class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\ 42 | ${2}\n\ 43 | snippet cla class .. constructor: ..\n\ 44 | class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\ 45 | constructor: (${2:args}) ->\n\ 46 | ${3}\n\ 47 | \n\ 48 | ${4}\n\ 49 | snippet cla class .. extends ..\n\ 50 | class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} extends ${2:ParentClass}\n\ 51 | ${3}\n\ 52 | snippet cla class .. extends .. constructor: ..\n\ 53 | class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} extends ${2:ParentClass}\n\ 54 | constructor: (${3:args}) ->\n\ 55 | ${4}\n\ 56 | \n\ 57 | ${5}\n\ 58 | # If\n\ 59 | snippet if\n\ 60 | if ${1:condition}\n\ 61 | ${2:// body...}\n\ 62 | # If __ Else\n\ 63 | snippet ife\n\ 64 | if ${1:condition}\n\ 65 | ${2:// body...}\n\ 66 | else\n\ 67 | ${3:// body...}\n\ 68 | # Else if\n\ 69 | snippet elif\n\ 70 | else if ${1:condition}\n\ 71 | ${2:// body...}\n\ 72 | # Ternary If\n\ 73 | snippet ifte\n\ 74 | if ${1:condition} then ${2:value} else ${3:other}\n\ 75 | # Unless\n\ 76 | snippet unl\n\ 77 | ${1:action} unless ${2:condition}\n\ 78 | # Switch\n\ 79 | snippet swi\n\ 80 | switch ${1:object}\n\ 81 | when ${2:value}\n\ 82 | ${3:// body...}\n\ 83 | \n\ 84 | # Log\n\ 85 | snippet log\n\ 86 | console.log ${1}\n\ 87 | # Try __ Catch\n\ 88 | snippet try\n\ 89 | try\n\ 90 | ${1}\n\ 91 | catch ${2:error}\n\ 92 | ${3}\n\ 93 | # Require\n\ 94 | snippet req\n\ 95 | ${2:$1} = require '${1:sys}'${3}\n\ 96 | # Export\n\ 97 | snippet exp\n\ 98 | ${1:root} = exports ? this\n\ 99 | "; 100 | exports.scope = "coffee"; 101 | 102 | }); 103 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/coldfusion.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/coldfusion",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "coldfusion"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/csharp.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/csharp",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "csharp"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/curly.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/curly",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "curly"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/d.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/d",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "d"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/dart.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/dart",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet lib\n\ 5 | library ${1};\n\ 6 | ${2}\n\ 7 | snippet im\n\ 8 | import '${1}';\n\ 9 | ${2}\n\ 10 | snippet pa\n\ 11 | part '${1}';\n\ 12 | ${2}\n\ 13 | snippet pao\n\ 14 | part of ${1};\n\ 15 | ${2}\n\ 16 | snippet main\n\ 17 | void main() {\n\ 18 | ${1:/* code */}\n\ 19 | }\n\ 20 | snippet st\n\ 21 | static ${1}\n\ 22 | snippet fi\n\ 23 | final ${1}\n\ 24 | snippet re\n\ 25 | return ${1}\n\ 26 | snippet br\n\ 27 | break;\n\ 28 | snippet th\n\ 29 | throw ${1}\n\ 30 | snippet cl\n\ 31 | class ${1:`Filename(\"\", \"untitled\")`} ${2}\n\ 32 | snippet imp\n\ 33 | implements ${1}\n\ 34 | snippet ext\n\ 35 | extends ${1}\n\ 36 | snippet if\n\ 37 | if (${1:true}) {\n\ 38 | ${2}\n\ 39 | }\n\ 40 | snippet ife\n\ 41 | if (${1:true}) {\n\ 42 | ${2}\n\ 43 | } else {\n\ 44 | ${3}\n\ 45 | }\n\ 46 | snippet el\n\ 47 | else\n\ 48 | snippet sw\n\ 49 | switch (${1}) {\n\ 50 | ${2}\n\ 51 | }\n\ 52 | snippet cs\n\ 53 | case ${1}:\n\ 54 | ${2}\n\ 55 | snippet de\n\ 56 | default:\n\ 57 | ${1}\n\ 58 | snippet for\n\ 59 | for (var ${2:i} = 0, len = ${1:things}.length; $2 < len; ${3:++}$2) {\n\ 60 | ${4:$1[$2]}\n\ 61 | }\n\ 62 | snippet fore\n\ 63 | for (final ${2:item} in ${1:itemList}) {\n\ 64 | ${3:/* code */}\n\ 65 | }\n\ 66 | snippet wh\n\ 67 | while (${1:/* condition */}) {\n\ 68 | ${2:/* code */}\n\ 69 | }\n\ 70 | snippet dowh\n\ 71 | do {\n\ 72 | ${2:/* code */}\n\ 73 | } while (${1:/* condition */});\n\ 74 | snippet as\n\ 75 | assert(${1:/* condition */});\n\ 76 | snippet try\n\ 77 | try {\n\ 78 | ${2}\n\ 79 | } catch (${1:Exception e}) {\n\ 80 | }\n\ 81 | snippet tryf\n\ 82 | try {\n\ 83 | ${2}\n\ 84 | } catch (${1:Exception e}) {\n\ 85 | } finally {\n\ 86 | }\n\ 87 | "; 88 | exports.scope = "dart"; 89 | 90 | }); 91 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/diff.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/diff",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# DEP-3 (http://dep.debian.net/deps/dep3/) style patch header\n\ 5 | snippet header DEP-3 style header\n\ 6 | Description: ${1}\n\ 7 | Origin: ${2:vendor|upstream|other}, ${3:url of the original patch}\n\ 8 | Bug: ${4:url in upstream bugtracker}\n\ 9 | Forwarded: ${5:no|not-needed|url}\n\ 10 | Author: ${6:`g:snips_author`}\n\ 11 | Reviewed-by: ${7:name and email}\n\ 12 | Last-Update: ${8:`strftime(\"%Y-%m-%d\")`}\n\ 13 | Applied-Upstream: ${9:upstream version|url|commit}\n\ 14 | \n\ 15 | "; 16 | exports.scope = "diff"; 17 | 18 | }); 19 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/dockerfile.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/dockerfile",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "dockerfile"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/dot.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/dot",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "dot"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/drools.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/drools",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "\n\ 5 | snippet rule\n\ 6 | rule \"${1?:rule_name}\"\n\ 7 | when\n\ 8 | ${2:// when...} \n\ 9 | then\n\ 10 | ${3:// then...}\n\ 11 | end\n\ 12 | \n\ 13 | snippet query\n\ 14 | query ${1?:query_name}\n\ 15 | ${2:// find} \n\ 16 | end\n\ 17 | \n\ 18 | snippet declare\n\ 19 | declare ${1?:type_name}\n\ 20 | ${2:// attributes} \n\ 21 | end\n\ 22 | \n\ 23 | "; 24 | exports.scope = "drools"; 25 | 26 | }); 27 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/eiffel.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/eiffel",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "eiffel"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/ejs.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/ejs",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "ejs"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/elixir.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/elixir",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = ""; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/elm.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/elm",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "elm"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/forth.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/forth",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "forth"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/fortran.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/fortran",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "fortran"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/ftl.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/ftl",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "ftl"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/gcode.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/gcode",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "gcode"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/gherkin.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/gherkin",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "gherkin"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/gitignore.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/gitignore",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "gitignore"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/glsl.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/glsl",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "glsl"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/gobstones.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/gobstones",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# Procedure\n\ 5 | snippet proc\n\ 6 | procedure ${1?:name}(${2:argument}) {\n\ 7 | ${3:// body...}\n\ 8 | }\n\ 9 | \n\ 10 | # Function\n\ 11 | snippet fun\n\ 12 | function ${1?:name}(${2:argument}) {\n\ 13 | return ${3:// body...}\n\ 14 | }\n\ 15 | \n\ 16 | # Repeat\n\ 17 | snippet rep\n\ 18 | repeat ${1?:times} {\n\ 19 | ${2:// body...}\n\ 20 | }\n\ 21 | \n\ 22 | # For\n\ 23 | snippet for\n\ 24 | foreach ${1?:e} in ${2?:list} {\n\ 25 | ${3:// body...} \n\ 26 | }\n\ 27 | \n\ 28 | # If\n\ 29 | snippet if\n\ 30 | if (${1?:condition}) {\n\ 31 | ${3:// body...} \n\ 32 | }\n\ 33 | \n\ 34 | # While\n\ 35 | while (${1?:condition}) {\n\ 36 | ${2:// body...} \n\ 37 | }\n\ 38 | "; 39 | exports.scope = "gobstones"; 40 | 41 | }); 42 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/golang.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/golang",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "golang"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/groovy.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/groovy",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "groovy"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/haml.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/haml",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet t\n\ 5 | %table\n\ 6 | %tr\n\ 7 | %th\n\ 8 | ${1:headers}\n\ 9 | %tr\n\ 10 | %td\n\ 11 | ${2:headers}\n\ 12 | snippet ul\n\ 13 | %ul\n\ 14 | %li\n\ 15 | ${1:item}\n\ 16 | %li\n\ 17 | snippet =rp\n\ 18 | = render :partial => '${1:partial}'\n\ 19 | snippet =rpl\n\ 20 | = render :partial => '${1:partial}', :locals => {}\n\ 21 | snippet =rpc\n\ 22 | = render :partial => '${1:partial}', :collection => @$1\n\ 23 | \n\ 24 | "; 25 | exports.scope = "haml"; 26 | 27 | }); 28 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/handlebars.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/handlebars",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "handlebars"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/haskell.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/haskell",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet lang\n\ 5 | {-# LANGUAGE ${1:OverloadedStrings} #-}\n\ 6 | snippet info\n\ 7 | -- |\n\ 8 | -- Module : ${1:Module.Namespace}\n\ 9 | -- Copyright : ${2:Author} ${3:2011-2012}\n\ 10 | -- License : ${4:BSD3}\n\ 11 | --\n\ 12 | -- Maintainer : ${5:email@something.com}\n\ 13 | -- Stability : ${6:experimental}\n\ 14 | -- Portability : ${7:unknown}\n\ 15 | --\n\ 16 | -- ${8:Description}\n\ 17 | --\n\ 18 | snippet import\n\ 19 | import ${1:Data.Text}\n\ 20 | snippet import2\n\ 21 | import ${1:Data.Text} (${2:head})\n\ 22 | snippet importq\n\ 23 | import qualified ${1:Data.Text} as ${2:T}\n\ 24 | snippet inst\n\ 25 | instance ${1:Monoid} ${2:Type} where\n\ 26 | ${3}\n\ 27 | snippet type\n\ 28 | type ${1:Type} = ${2:Type}\n\ 29 | snippet data\n\ 30 | data ${1:Type} = ${2:$1} ${3:Int}\n\ 31 | snippet newtype\n\ 32 | newtype ${1:Type} = ${2:$1} ${3:Int}\n\ 33 | snippet class\n\ 34 | class ${1:Class} a where\n\ 35 | ${2}\n\ 36 | snippet module\n\ 37 | module `substitute(substitute(expand('%:r'), '[/\\\\]','.','g'),'^\\%(\\l*\\.\\)\\?','','')` (\n\ 38 | ) where\n\ 39 | `expand('%') =~ 'Main' ? \"\\n\\nmain = do\\n print \\\"hello world\\\"\" : \"\"`\n\ 40 | \n\ 41 | snippet const\n\ 42 | ${1:name} :: ${2:a}\n\ 43 | $1 = ${3:undefined}\n\ 44 | snippet fn\n\ 45 | ${1:fn} :: ${2:a} -> ${3:a}\n\ 46 | $1 ${4} = ${5:undefined}\n\ 47 | snippet fn2\n\ 48 | ${1:fn} :: ${2:a} -> ${3:a} -> ${4:a}\n\ 49 | $1 ${5} = ${6:undefined}\n\ 50 | snippet ap\n\ 51 | ${1:map} ${2:fn} ${3:list}\n\ 52 | snippet do\n\ 53 | do\n\ 54 | \n\ 55 | snippet λ\n\ 56 | \\${1:x} -> ${2}\n\ 57 | snippet \\\n\ 58 | \\${1:x} -> ${2}\n\ 59 | snippet <-\n\ 60 | ${1:a} <- ${2:m a}\n\ 61 | snippet ←\n\ 62 | ${1:a} <- ${2:m a}\n\ 63 | snippet ->\n\ 64 | ${1:m a} -> ${2:a}\n\ 65 | snippet →\n\ 66 | ${1:m a} -> ${2:a}\n\ 67 | snippet tup\n\ 68 | (${1:a}, ${2:b})\n\ 69 | snippet tup2\n\ 70 | (${1:a}, ${2:b}, ${3:c})\n\ 71 | snippet tup3\n\ 72 | (${1:a}, ${2:b}, ${3:c}, ${4:d})\n\ 73 | snippet rec\n\ 74 | ${1:Record} { ${2:recFieldA} = ${3:undefined}\n\ 75 | , ${4:recFieldB} = ${5:undefined}\n\ 76 | }\n\ 77 | snippet case\n\ 78 | case ${1:something} of\n\ 79 | ${2} -> ${3}\n\ 80 | snippet let\n\ 81 | let ${1} = ${2}\n\ 82 | in ${3}\n\ 83 | snippet where\n\ 84 | where\n\ 85 | ${1:fn} = ${2:undefined}\n\ 86 | "; 87 | exports.scope = "haskell"; 88 | 89 | }); 90 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/haskell_cabal.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/haskell_cabal",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "haskell_cabal"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/haxe.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/haxe",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "haxe"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/hjson.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/hjson",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = ""; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/html_elixir.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/html_elixir",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "html_elixir"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/html_ruby.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/html_ruby",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "html_ruby"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/ini.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/ini",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "ini"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/io.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/io",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippets = [ 5 | { 6 | "content": "assertEquals(${1:expected}, ${2:expr})", 7 | "name": "assertEquals", 8 | "scope": "io", 9 | "tabTrigger": "ae" 10 | }, 11 | { 12 | "content": "${1:${2:newValue} := ${3:Object} }clone do(\n\t$0\n)", 13 | "name": "clone do", 14 | "scope": "io", 15 | "tabTrigger": "cdo" 16 | }, 17 | { 18 | "content": "docSlot(\"${1:slotName}\", \"${2:documentation}\")", 19 | "name": "docSlot", 20 | "scope": "io", 21 | "tabTrigger": "ds" 22 | }, 23 | { 24 | "content": "(${1:header,}\n\t${2:body}\n)$0", 25 | "keyEquivalent": "@(", 26 | "name": "Indented Bracketed Line", 27 | "scope": "io", 28 | "tabTrigger": "(" 29 | }, 30 | { 31 | "content": "\n\t$0\n", 32 | "keyEquivalent": "\r", 33 | "name": "Special: Return Inside Empty Parenthesis", 34 | "scope": "io meta.empty-parenthesis.io, io meta.comma-parenthesis.io" 35 | }, 36 | { 37 | "content": "${1:methodName} := method(${2:args,}\n\t$0\n)", 38 | "name": "method", 39 | "scope": "io", 40 | "tabTrigger": "m" 41 | }, 42 | { 43 | "content": "newSlot(\"${1:slotName}\", ${2:defaultValue}, \"${3:docString}\")$0", 44 | "name": "newSlot", 45 | "scope": "io", 46 | "tabTrigger": "ns" 47 | }, 48 | { 49 | "content": "${1:name} := Object clone do(\n\t$0\n)", 50 | "name": "Object clone do", 51 | "scope": "io", 52 | "tabTrigger": "ocdo" 53 | }, 54 | { 55 | "content": "test${1:SomeFeature} := method(\n\t$0\n)", 56 | "name": "testMethod", 57 | "scope": "io", 58 | "tabTrigger": "ts" 59 | }, 60 | { 61 | "content": "${1:Something}Test := ${2:UnitTest} clone do(\n\t$0\n)", 62 | "name": "UnitTest", 63 | "scope": "io", 64 | "tabTrigger": "ut" 65 | } 66 | ]; 67 | exports.scope = "io"; 68 | 69 | }); 70 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/jack.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/jack",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "jack"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/jade.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/jade",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "jade"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/json.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/json",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "json"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/jsoniq.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/jsoniq",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet for\n\ 5 | for $${1:item} in ${2:expr}\n\ 6 | snippet return\n\ 7 | return ${1:expr}\n\ 8 | snippet import\n\ 9 | import module namespace ${1:ns} = \"${2:http://www.example.com/}\";\n\ 10 | snippet some\n\ 11 | some $${1:varname} in ${2:expr} satisfies ${3:expr}\n\ 12 | snippet every\n\ 13 | every $${1:varname} in ${2:expr} satisfies ${3:expr}\n\ 14 | snippet if\n\ 15 | if(${1:true}) then ${2:expr} else ${3:true}\n\ 16 | snippet switch\n\ 17 | switch(${1:\"foo\"})\n\ 18 | case ${2:\"foo\"}\n\ 19 | return ${3:true}\n\ 20 | default return ${4:false}\n\ 21 | snippet try\n\ 22 | try { ${1:expr} } catch ${2:*} { ${3:expr} }\n\ 23 | snippet tumbling\n\ 24 | for tumbling window $${1:varname} in ${2:expr}\n\ 25 | start at $${3:start} when ${4:expr}\n\ 26 | end at $${5:end} when ${6:expr}\n\ 27 | return ${7:expr}\n\ 28 | snippet sliding\n\ 29 | for sliding window $${1:varname} in ${2:expr}\n\ 30 | start at $${3:start} when ${4:expr}\n\ 31 | end at $${5:end} when ${6:expr}\n\ 32 | return ${7:expr}\n\ 33 | snippet let\n\ 34 | let $${1:varname} := ${2:expr}\n\ 35 | snippet group\n\ 36 | group by $${1:varname} := ${2:expr}\n\ 37 | snippet order\n\ 38 | order by ${1:expr} ${2:descending}\n\ 39 | snippet stable\n\ 40 | stable order by ${1:expr}\n\ 41 | snippet count\n\ 42 | count $${1:varname}\n\ 43 | snippet ordered\n\ 44 | ordered { ${1:expr} }\n\ 45 | snippet unordered\n\ 46 | unordered { ${1:expr} }\n\ 47 | snippet treat \n\ 48 | treat as ${1:expr}\n\ 49 | snippet castable\n\ 50 | castable as ${1:atomicType}\n\ 51 | snippet cast\n\ 52 | cast as ${1:atomicType}\n\ 53 | snippet typeswitch\n\ 54 | typeswitch(${1:expr})\n\ 55 | case ${2:type} return ${3:expr}\n\ 56 | default return ${4:expr}\n\ 57 | snippet var\n\ 58 | declare variable $${1:varname} := ${2:expr};\n\ 59 | snippet fn\n\ 60 | declare function ${1:ns}:${2:name}(){\n\ 61 | ${3:expr}\n\ 62 | };\n\ 63 | snippet module\n\ 64 | module namespace ${1:ns} = \"${2:http://www.example.com}\";\n\ 65 | "; 66 | exports.scope = "jsoniq"; 67 | 68 | }); 69 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/jsx.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/jsx",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "jsx"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/julia.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/julia",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "julia"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/kotlin.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/kotlin",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = ""; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/latex.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/latex",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "latex"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/lean.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/lean",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "lean"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/less.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/less",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "less"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/liquid.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/liquid",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "liquid"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/lisp.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/lisp",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "lisp"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/live_script.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/live_script",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = ""; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/livescript.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/livescript",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "livescript"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/logiql.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/logiql",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "logiql"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/lua.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/lua",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet #!\n\ 5 | #!/usr/bin/env lua\n\ 6 | $1\n\ 7 | snippet local\n\ 8 | local ${1:x} = ${2:1}\n\ 9 | snippet fun\n\ 10 | function ${1:fname}(${2:...})\n\ 11 | ${3:-- body}\n\ 12 | end\n\ 13 | snippet for\n\ 14 | for ${1:i}=${2:1},${3:10} do\n\ 15 | ${4:print(i)}\n\ 16 | end\n\ 17 | snippet forp\n\ 18 | for ${1:i},${2:v} in pairs(${3:table_name}) do\n\ 19 | ${4:-- body}\n\ 20 | end\n\ 21 | snippet fori\n\ 22 | for ${1:i},${2:v} in ipairs(${3:table_name}) do\n\ 23 | ${4:-- body}\n\ 24 | end\n\ 25 | "; 26 | exports.scope = "lua"; 27 | 28 | }); 29 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/luapage.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/luapage",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "luapage"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/lucene.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/lucene",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "lucene"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/makefile.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/makefile",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet ifeq\n\ 5 | ifeq (${1:cond0},${2:cond1})\n\ 6 | ${3:code}\n\ 7 | endif\n\ 8 | "; 9 | exports.scope = "makefile"; 10 | 11 | }); 12 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/markdown.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/markdown",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# Markdown\n\ 5 | \n\ 6 | # Includes octopress (http://octopress.org/) snippets\n\ 7 | \n\ 8 | snippet [\n\ 9 | [${1:text}](http://${2:address} \"${3:title}\")\n\ 10 | snippet [*\n\ 11 | [${1:link}](${2:`@*`} \"${3:title}\")${4}\n\ 12 | \n\ 13 | snippet [:\n\ 14 | [${1:id}]: http://${2:url} \"${3:title}\"\n\ 15 | snippet [:*\n\ 16 | [${1:id}]: ${2:`@*`} \"${3:title}\"\n\ 17 | \n\ 18 | snippet ![\n\ 19 | ![${1:alttext}](${2:/images/image.jpg} \"${3:title}\")\n\ 20 | snippet ![*\n\ 21 | ![${1:alt}](${2:`@*`} \"${3:title}\")${4}\n\ 22 | \n\ 23 | snippet ![:\n\ 24 | ![${1:id}]: ${2:url} \"${3:title}\"\n\ 25 | snippet ![:*\n\ 26 | ![${1:id}]: ${2:`@*`} \"${3:title}\"\n\ 27 | \n\ 28 | snippet ===\n\ 29 | regex /^/=+/=*//\n\ 30 | ${PREV_LINE/./=/g}\n\ 31 | \n\ 32 | ${0}\n\ 33 | snippet ---\n\ 34 | regex /^/-+/-*//\n\ 35 | ${PREV_LINE/./-/g}\n\ 36 | \n\ 37 | ${0}\n\ 38 | snippet blockquote\n\ 39 | {% blockquote %}\n\ 40 | ${1:quote}\n\ 41 | {% endblockquote %}\n\ 42 | \n\ 43 | snippet blockquote-author\n\ 44 | {% blockquote ${1:author}, ${2:title} %}\n\ 45 | ${3:quote}\n\ 46 | {% endblockquote %}\n\ 47 | \n\ 48 | snippet blockquote-link\n\ 49 | {% blockquote ${1:author} ${2:URL} ${3:link_text} %}\n\ 50 | ${4:quote}\n\ 51 | {% endblockquote %}\n\ 52 | \n\ 53 | snippet bt-codeblock-short\n\ 54 | ```\n\ 55 | ${1:code_snippet}\n\ 56 | ```\n\ 57 | \n\ 58 | snippet bt-codeblock-full\n\ 59 | ``` ${1:language} ${2:title} ${3:URL} ${4:link_text}\n\ 60 | ${5:code_snippet}\n\ 61 | ```\n\ 62 | \n\ 63 | snippet codeblock-short\n\ 64 | {% codeblock %}\n\ 65 | ${1:code_snippet}\n\ 66 | {% endcodeblock %}\n\ 67 | \n\ 68 | snippet codeblock-full\n\ 69 | {% codeblock ${1:title} lang:${2:language} ${3:URL} ${4:link_text} %}\n\ 70 | ${5:code_snippet}\n\ 71 | {% endcodeblock %}\n\ 72 | \n\ 73 | snippet gist-full\n\ 74 | {% gist ${1:gist_id} ${2:filename} %}\n\ 75 | \n\ 76 | snippet gist-short\n\ 77 | {% gist ${1:gist_id} %}\n\ 78 | \n\ 79 | snippet img\n\ 80 | {% img ${1:class} ${2:URL} ${3:width} ${4:height} ${5:title_text} ${6:alt_text} %}\n\ 81 | \n\ 82 | snippet youtube\n\ 83 | {% youtube ${1:video_id} %}\n\ 84 | \n\ 85 | # The quote should appear only once in the text. It is inherently part of it.\n\ 86 | # See http://octopress.org/docs/plugins/pullquote/ for more info.\n\ 87 | \n\ 88 | snippet pullquote\n\ 89 | {% pullquote %}\n\ 90 | ${1:text} {\" ${2:quote} \"} ${3:text}\n\ 91 | {% endpullquote %}\n\ 92 | "; 93 | exports.scope = "markdown"; 94 | 95 | }); 96 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/mask.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/mask",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "mask"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/matlab.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/matlab",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "matlab"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/maze.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/maze",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet >\n\ 5 | description assignment\n\ 6 | scope maze\n\ 7 | -> ${1}= ${2}\n\ 8 | \n\ 9 | snippet >\n\ 10 | description if\n\ 11 | scope maze\n\ 12 | -> IF ${2:**} THEN %${3:L} ELSE %${4:R}\n\ 13 | "; 14 | exports.scope = "maze"; 15 | 16 | }); 17 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/mel.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/mel",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "mel"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/mips_assembler.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/mips_assembler",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "mips_assembler"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/mipsassembler.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/mipsassembler",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = ""; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/mushcode.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/mushcode",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "mushcode"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/mysql.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/mysql",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "mysql"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/nix.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/nix",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "nix"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/nsis.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/nsis",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = ""; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/objectivec.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/objectivec",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "objectivec"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/ocaml.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/ocaml",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "ocaml"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/pascal.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/pascal",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "pascal"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/pgsql.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/pgsql",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "pgsql"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/plain_text.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/plain_text",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "plain_text"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/powershell.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/powershell",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "powershell"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/praat.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/praat",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "praat"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/prolog.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/prolog",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "prolog"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/properties.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/properties",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "properties"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/protobuf.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/protobuf",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = ""; 5 | exports.scope = "protobuf"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/r.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/r",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet #!\n\ 5 | #!/usr/bin/env Rscript\n\ 6 | \n\ 7 | # includes\n\ 8 | snippet lib\n\ 9 | library(${1:package})\n\ 10 | snippet req\n\ 11 | require(${1:package})\n\ 12 | snippet source\n\ 13 | source('${1:file}')\n\ 14 | \n\ 15 | # conditionals\n\ 16 | snippet if\n\ 17 | if (${1:condition}) {\n\ 18 | ${2:code}\n\ 19 | }\n\ 20 | snippet el\n\ 21 | else {\n\ 22 | ${1:code}\n\ 23 | }\n\ 24 | snippet ei\n\ 25 | else if (${1:condition}) {\n\ 26 | ${2:code}\n\ 27 | }\n\ 28 | \n\ 29 | # functions\n\ 30 | snippet fun\n\ 31 | ${1:name} = function (${2:variables}) {\n\ 32 | ${3:code}\n\ 33 | }\n\ 34 | snippet ret\n\ 35 | return(${1:code})\n\ 36 | \n\ 37 | # dataframes, lists, etc\n\ 38 | snippet df\n\ 39 | ${1:name}[${2:rows}, ${3:cols}]\n\ 40 | snippet c\n\ 41 | c(${1:items})\n\ 42 | snippet li\n\ 43 | list(${1:items})\n\ 44 | snippet mat\n\ 45 | matrix(${1:data}, nrow=${2:rows}, ncol=${3:cols})\n\ 46 | \n\ 47 | # apply functions\n\ 48 | snippet apply\n\ 49 | apply(${1:array}, ${2:margin}, ${3:function})\n\ 50 | snippet lapply\n\ 51 | lapply(${1:list}, ${2:function})\n\ 52 | snippet sapply\n\ 53 | sapply(${1:list}, ${2:function})\n\ 54 | snippet vapply\n\ 55 | vapply(${1:list}, ${2:function}, ${3:type})\n\ 56 | snippet mapply\n\ 57 | mapply(${1:function}, ${2:...})\n\ 58 | snippet tapply\n\ 59 | tapply(${1:vector}, ${2:index}, ${3:function})\n\ 60 | snippet rapply\n\ 61 | rapply(${1:list}, ${2:function})\n\ 62 | \n\ 63 | # plyr functions\n\ 64 | snippet dd\n\ 65 | ddply(${1:frame}, ${2:variables}, ${3:function})\n\ 66 | snippet dl\n\ 67 | dlply(${1:frame}, ${2:variables}, ${3:function})\n\ 68 | snippet da\n\ 69 | daply(${1:frame}, ${2:variables}, ${3:function})\n\ 70 | snippet d_\n\ 71 | d_ply(${1:frame}, ${2:variables}, ${3:function})\n\ 72 | \n\ 73 | snippet ad\n\ 74 | adply(${1:array}, ${2:margin}, ${3:function})\n\ 75 | snippet al\n\ 76 | alply(${1:array}, ${2:margin}, ${3:function})\n\ 77 | snippet aa\n\ 78 | aaply(${1:array}, ${2:margin}, ${3:function})\n\ 79 | snippet a_\n\ 80 | a_ply(${1:array}, ${2:margin}, ${3:function})\n\ 81 | \n\ 82 | snippet ld\n\ 83 | ldply(${1:list}, ${2:function})\n\ 84 | snippet ll\n\ 85 | llply(${1:list}, ${2:function})\n\ 86 | snippet la\n\ 87 | laply(${1:list}, ${2:function})\n\ 88 | snippet l_\n\ 89 | l_ply(${1:list}, ${2:function})\n\ 90 | \n\ 91 | snippet md\n\ 92 | mdply(${1:matrix}, ${2:function})\n\ 93 | snippet ml\n\ 94 | mlply(${1:matrix}, ${2:function})\n\ 95 | snippet ma\n\ 96 | maply(${1:matrix}, ${2:function})\n\ 97 | snippet m_\n\ 98 | m_ply(${1:matrix}, ${2:function})\n\ 99 | \n\ 100 | # plot functions\n\ 101 | snippet pl\n\ 102 | plot(${1:x}, ${2:y})\n\ 103 | snippet ggp\n\ 104 | ggplot(${1:data}, aes(${2:aesthetics}))\n\ 105 | snippet img\n\ 106 | ${1:(jpeg,bmp,png,tiff)}(filename=\"${2:filename}\", width=${3}, height=${4}, unit=\"${5}\")\n\ 107 | ${6:plot}\n\ 108 | dev.off()\n\ 109 | \n\ 110 | # statistical test functions\n\ 111 | snippet fis\n\ 112 | fisher.test(${1:x}, ${2:y})\n\ 113 | snippet chi\n\ 114 | chisq.test(${1:x}, ${2:y})\n\ 115 | snippet tt\n\ 116 | t.test(${1:x}, ${2:y})\n\ 117 | snippet wil\n\ 118 | wilcox.test(${1:x}, ${2:y})\n\ 119 | snippet cor\n\ 120 | cor.test(${1:x}, ${2:y})\n\ 121 | snippet fte\n\ 122 | var.test(${1:x}, ${2:y})\n\ 123 | snippet kvt \n\ 124 | kv.test(${1:x}, ${2:y})\n\ 125 | "; 126 | exports.scope = "r"; 127 | 128 | }); 129 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/razor.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/razor",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet if\n\ 5 | (${1} == ${2}) {\n\ 6 | ${3}\n\ 7 | }"; 8 | exports.scope = "razor"; 9 | 10 | }); 11 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/rdoc.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/rdoc",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "rdoc"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/rhtml.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/rhtml",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "rhtml"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/rst.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/rst",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# rst\n\ 5 | \n\ 6 | snippet :\n\ 7 | :${1:field name}: ${2:field body}\n\ 8 | snippet *\n\ 9 | *${1:Emphasis}*\n\ 10 | snippet **\n\ 11 | **${1:Strong emphasis}**\n\ 12 | snippet _\n\ 13 | \\`${1:hyperlink-name}\\`_\n\ 14 | .. _\\`$1\\`: ${2:link-block}\n\ 15 | snippet =\n\ 16 | ${1:Title}\n\ 17 | =====${2:=}\n\ 18 | ${3}\n\ 19 | snippet -\n\ 20 | ${1:Title}\n\ 21 | -----${2:-}\n\ 22 | ${3}\n\ 23 | snippet cont:\n\ 24 | .. contents::\n\ 25 | \n\ 26 | "; 27 | exports.scope = "rst"; 28 | 29 | }); 30 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/rust.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/rust",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "rust"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/sass.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/sass",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "sass"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/scad.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/scad",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "scad"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/scala.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/scala",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "scala"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/scheme.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/scheme",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "scheme"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/scss.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/scss",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "scss"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/sh.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/sh",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# Shebang. Executing bash via /usr/bin/env makes scripts more portable.\n\ 5 | snippet #!\n\ 6 | #!/usr/bin/env bash\n\ 7 | \n\ 8 | snippet if\n\ 9 | if [[ ${1:condition} ]]; then\n\ 10 | ${2:#statements}\n\ 11 | fi\n\ 12 | snippet elif\n\ 13 | elif [[ ${1:condition} ]]; then\n\ 14 | ${2:#statements}\n\ 15 | snippet for\n\ 16 | for (( ${2:i} = 0; $2 < ${1:count}; $2++ )); do\n\ 17 | ${3:#statements}\n\ 18 | done\n\ 19 | snippet fori\n\ 20 | for ${1:needle} in ${2:haystack} ; do\n\ 21 | ${3:#statements}\n\ 22 | done\n\ 23 | snippet wh\n\ 24 | while [[ ${1:condition} ]]; do\n\ 25 | ${2:#statements}\n\ 26 | done\n\ 27 | snippet until\n\ 28 | until [[ ${1:condition} ]]; do\n\ 29 | ${2:#statements}\n\ 30 | done\n\ 31 | snippet case\n\ 32 | case ${1:word} in\n\ 33 | ${2:pattern})\n\ 34 | ${3};;\n\ 35 | esac\n\ 36 | snippet go \n\ 37 | while getopts '${1:o}' ${2:opts} \n\ 38 | do \n\ 39 | case $$2 in\n\ 40 | ${3:o0})\n\ 41 | ${4:#staments};;\n\ 42 | esac\n\ 43 | done\n\ 44 | # Set SCRIPT_DIR variable to directory script is located.\n\ 45 | snippet sdir\n\ 46 | SCRIPT_DIR=\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && pwd )\"\n\ 47 | # getopt\n\ 48 | snippet getopt\n\ 49 | __ScriptVersion=\"${1:version}\"\n\ 50 | \n\ 51 | #=== FUNCTION ================================================================\n\ 52 | # NAME: usage\n\ 53 | # DESCRIPTION: Display usage information.\n\ 54 | #===============================================================================\n\ 55 | function usage ()\n\ 56 | {\n\ 57 | cat <<- EOT\n\ 58 | \n\ 59 | Usage : $${0:0} [options] [--] \n\ 60 | \n\ 61 | Options: \n\ 62 | -h|help Display this message\n\ 63 | -v|version Display script version\n\ 64 | \n\ 65 | EOT\n\ 66 | } # ---------- end of function usage ----------\n\ 67 | \n\ 68 | #-----------------------------------------------------------------------\n\ 69 | # Handle command line arguments\n\ 70 | #-----------------------------------------------------------------------\n\ 71 | \n\ 72 | while getopts \":hv\" opt\n\ 73 | do\n\ 74 | case $opt in\n\ 75 | \n\ 76 | h|help ) usage; exit 0 ;;\n\ 77 | \n\ 78 | v|version ) echo \"$${0:0} -- Version $__ScriptVersion\"; exit 0 ;;\n\ 79 | \n\ 80 | \\? ) echo -e \"\\n Option does not exist : $OPTARG\\n\"\n\ 81 | usage; exit 1 ;;\n\ 82 | \n\ 83 | esac # --- end of case ---\n\ 84 | done\n\ 85 | shift $(($OPTIND-1))\n\ 86 | \n\ 87 | "; 88 | exports.scope = "sh"; 89 | 90 | }); 91 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/sjs.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/sjs",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "sjs"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/smarty.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/smarty",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "smarty"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/snippets.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/snippets",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# snippets for making snippets :)\n\ 5 | snippet snip\n\ 6 | snippet ${1:trigger}\n\ 7 | ${2}\n\ 8 | snippet msnip\n\ 9 | snippet ${1:trigger} ${2:description}\n\ 10 | ${3}\n\ 11 | snippet v\n\ 12 | {VISUAL}\n\ 13 | "; 14 | exports.scope = "snippets"; 15 | 16 | }); 17 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/soy_template.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/soy_template",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "soy_template"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/space.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/space",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "space"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/sql.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/sql",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet tbl\n\ 5 | create table ${1:table} (\n\ 6 | ${2:columns}\n\ 7 | );\n\ 8 | snippet col\n\ 9 | ${1:name} ${2:type} ${3:default ''} ${4:not null}\n\ 10 | snippet ccol\n\ 11 | ${1:name} varchar2(${2:size}) ${3:default ''} ${4:not null}\n\ 12 | snippet ncol\n\ 13 | ${1:name} number ${3:default 0} ${4:not null}\n\ 14 | snippet dcol\n\ 15 | ${1:name} date ${3:default sysdate} ${4:not null}\n\ 16 | snippet ind\n\ 17 | create index ${3:$1_$2} on ${1:table}(${2:column});\n\ 18 | snippet uind\n\ 19 | create unique index ${1:name} on ${2:table}(${3:column});\n\ 20 | snippet tblcom\n\ 21 | comment on table ${1:table} is '${2:comment}';\n\ 22 | snippet colcom\n\ 23 | comment on column ${1:table}.${2:column} is '${3:comment}';\n\ 24 | snippet addcol\n\ 25 | alter table ${1:table} add (${2:column} ${3:type});\n\ 26 | snippet seq\n\ 27 | create sequence ${1:name} start with ${2:1} increment by ${3:1} minvalue ${4:1};\n\ 28 | snippet s*\n\ 29 | select * from ${1:table}\n\ 30 | "; 31 | exports.scope = "sql"; 32 | 33 | }); 34 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/sqlserver.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/sqlserver",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# ISNULL\n\ 5 | snippet isnull\n\ 6 | ISNULL(${1:check_expression}, ${2:replacement_value})\n\ 7 | # FORMAT\n\ 8 | snippet format\n\ 9 | FORMAT(${1:value}, ${2:format})\n\ 10 | # CAST\n\ 11 | snippet cast\n\ 12 | CAST(${1:expression} AS ${2:data_type})\n\ 13 | # CONVERT\n\ 14 | snippet convert\n\ 15 | CONVERT(${1:data_type}, ${2:expression})\n\ 16 | # DATEPART\n\ 17 | snippet datepart\n\ 18 | DATEPART(${1:datepart}, ${2:date})\n\ 19 | # DATEDIFF\n\ 20 | snippet datediff\n\ 21 | DATEDIFF(${1:datepart}, ${2:startdate}, ${3:enddate})\n\ 22 | # DATEADD\n\ 23 | snippet dateadd\n\ 24 | DATEADD(${1:datepart}, ${2:number}, ${3:date})\n\ 25 | # DATEFROMPARTS \n\ 26 | snippet datefromparts\n\ 27 | DATEFROMPARTS(${1:year}, ${2:month}, ${3:day})\n\ 28 | # OBJECT_DEFINITION\n\ 29 | snippet objectdef\n\ 30 | SELECT OBJECT_DEFINITION(OBJECT_ID('${1:sys.server_permissions /*object name*/}'))\n\ 31 | # STUFF XML\n\ 32 | snippet stuffxml\n\ 33 | STUFF((SELECT ', ' + ${1:ColumnName}\n\ 34 | FROM ${2:TableName}\n\ 35 | WHERE ${3:WhereClause}\n\ 36 | FOR XML PATH('')), 1, 1, '') AS ${4:Alias}\n\ 37 | ${5:/*https://msdn.microsoft.com/en-us/library/ms188043.aspx*/}\n\ 38 | # Create Procedure\n\ 39 | snippet createproc\n\ 40 | -- =============================================\n\ 41 | -- Author: ${1:Author}\n\ 42 | -- Create date: ${2:Date}\n\ 43 | -- Description: ${3:Description}\n\ 44 | -- =============================================\n\ 45 | CREATE PROCEDURE ${4:Procedure_Name}\n\ 46 | ${5:/*Add the parameters for the stored procedure here*/}\n\ 47 | AS\n\ 48 | BEGIN\n\ 49 | -- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.\n\ 50 | SET NOCOUNT ON;\n\ 51 | \n\ 52 | ${6:/*Add the T-SQL statements to compute the return value here*/}\n\ 53 | \n\ 54 | END\n\ 55 | GO\n\ 56 | # Create Scalar Function\n\ 57 | snippet createfn\n\ 58 | -- =============================================\n\ 59 | -- Author: ${1:Author}\n\ 60 | -- Create date: ${2:Date}\n\ 61 | -- Description: ${3:Description}\n\ 62 | -- =============================================\n\ 63 | CREATE FUNCTION ${4:Scalar_Function_Name}\n\ 64 | -- Add the parameters for the function here\n\ 65 | RETURNS ${5:Function_Data_Type}\n\ 66 | AS\n\ 67 | BEGIN\n\ 68 | DECLARE @Result ${5:Function_Data_Type}\n\ 69 | \n\ 70 | ${6:/*Add the T-SQL statements to compute the return value here*/}\n\ 71 | \n\ 72 | END\n\ 73 | GO"; 74 | exports.scope = "sqlserver"; 75 | 76 | }); 77 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/stylus.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/stylus",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "stylus"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/svg.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/svg",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "svg"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/swift.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/swift",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "swift"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/swig.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/swig",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "swig"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/tcl.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/tcl",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# #!/usr/bin/env tclsh\n\ 5 | snippet #!\n\ 6 | #!/usr/bin/env tclsh\n\ 7 | \n\ 8 | # Process\n\ 9 | snippet pro\n\ 10 | proc ${1:function_name} {${2:args}} {\n\ 11 | ${3:#body ...}\n\ 12 | }\n\ 13 | #xif\n\ 14 | snippet xif\n\ 15 | ${1:expr}? ${2:true} : ${3:false}\n\ 16 | # Conditional\n\ 17 | snippet if\n\ 18 | if {${1}} {\n\ 19 | ${2:# body...}\n\ 20 | }\n\ 21 | # Conditional if..else\n\ 22 | snippet ife\n\ 23 | if {${1}} {\n\ 24 | ${2:# body...}\n\ 25 | } else {\n\ 26 | ${3:# else...}\n\ 27 | }\n\ 28 | # Conditional if..elsif..else\n\ 29 | snippet ifee\n\ 30 | if {${1}} {\n\ 31 | ${2:# body...}\n\ 32 | } elseif {${3}} {\n\ 33 | ${4:# elsif...}\n\ 34 | } else {\n\ 35 | ${5:# else...}\n\ 36 | }\n\ 37 | # If catch then\n\ 38 | snippet ifc\n\ 39 | if { [catch {${1:#do something...}} ${2:err}] } {\n\ 40 | ${3:# handle failure...}\n\ 41 | }\n\ 42 | # Catch\n\ 43 | snippet catch\n\ 44 | catch {${1}} ${2:err} ${3:options}\n\ 45 | # While Loop\n\ 46 | snippet wh\n\ 47 | while {${1}} {\n\ 48 | ${2:# body...}\n\ 49 | }\n\ 50 | # For Loop\n\ 51 | snippet for\n\ 52 | for {set ${2:var} 0} {$$2 < ${1:count}} {${3:incr} $2} {\n\ 53 | ${4:# body...}\n\ 54 | }\n\ 55 | # Foreach Loop\n\ 56 | snippet fore\n\ 57 | foreach ${1:x} {${2:#list}} {\n\ 58 | ${3:# body...}\n\ 59 | }\n\ 60 | # after ms script...\n\ 61 | snippet af\n\ 62 | after ${1:ms} ${2:#do something}\n\ 63 | # after cancel id\n\ 64 | snippet afc\n\ 65 | after cancel ${1:id or script}\n\ 66 | # after idle\n\ 67 | snippet afi\n\ 68 | after idle ${1:script}\n\ 69 | # after info id\n\ 70 | snippet afin\n\ 71 | after info ${1:id}\n\ 72 | # Expr\n\ 73 | snippet exp\n\ 74 | expr {${1:#expression here}}\n\ 75 | # Switch\n\ 76 | snippet sw\n\ 77 | switch ${1:var} {\n\ 78 | ${3:pattern 1} {\n\ 79 | ${4:#do something}\n\ 80 | }\n\ 81 | default {\n\ 82 | ${2:#do something}\n\ 83 | }\n\ 84 | }\n\ 85 | # Case\n\ 86 | snippet ca\n\ 87 | ${1:pattern} {\n\ 88 | ${2:#do something}\n\ 89 | }${3}\n\ 90 | # Namespace eval\n\ 91 | snippet ns\n\ 92 | namespace eval ${1:path} {${2:#script...}}\n\ 93 | # Namespace current\n\ 94 | snippet nsc\n\ 95 | namespace current\n\ 96 | "; 97 | exports.scope = "tcl"; 98 | 99 | }); 100 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/text.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/text",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "text"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/textile.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/textile",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# Jekyll post header\n\ 5 | snippet header\n\ 6 | ---\n\ 7 | title: ${1:title}\n\ 8 | layout: post\n\ 9 | date: ${2:date} ${3:hour:minute:second} -05:00\n\ 10 | ---\n\ 11 | \n\ 12 | # Image\n\ 13 | snippet img\n\ 14 | !${1:url}(${2:title}):${3:link}!\n\ 15 | \n\ 16 | # Table\n\ 17 | snippet |\n\ 18 | |${1}|${2}\n\ 19 | \n\ 20 | # Link\n\ 21 | snippet link\n\ 22 | \"${1:link text}\":${2:url}\n\ 23 | \n\ 24 | # Acronym\n\ 25 | snippet (\n\ 26 | (${1:Expand acronym})${2}\n\ 27 | \n\ 28 | # Footnote\n\ 29 | snippet fn\n\ 30 | [${1:ref number}] ${3}\n\ 31 | \n\ 32 | fn$1. ${2:footnote}\n\ 33 | \n\ 34 | "; 35 | exports.scope = "textile"; 36 | 37 | }); 38 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/toml.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/toml",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "toml"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/tsx.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/tsx",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "tsx"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/twig.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/twig",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "twig"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/typescript.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/typescript",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "typescript"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/vbscript.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/vbscript",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "vbscript"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/velocity.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/velocity",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "# macro\n\ 5 | snippet #macro\n\ 6 | #macro ( ${1:macroName} ${2:\\$var1, [\\$var2, ...]} )\n\ 7 | ${3:## macro code}\n\ 8 | #end\n\ 9 | # foreach\n\ 10 | snippet #foreach\n\ 11 | #foreach ( ${1:\\$item} in ${2:\\$collection} )\n\ 12 | ${3:## foreach code}\n\ 13 | #end\n\ 14 | # if\n\ 15 | snippet #if\n\ 16 | #if ( ${1:true} )\n\ 17 | ${0}\n\ 18 | #end\n\ 19 | # if ... else\n\ 20 | snippet #ife\n\ 21 | #if ( ${1:true} )\n\ 22 | ${2}\n\ 23 | #else\n\ 24 | ${0}\n\ 25 | #end\n\ 26 | #import\n\ 27 | snippet #import\n\ 28 | #import ( \"${1:path/to/velocity/format}\" )\n\ 29 | # set\n\ 30 | snippet #set\n\ 31 | #set ( $${1:var} = ${0} )\n\ 32 | "; 33 | exports.scope = "velocity"; 34 | exports.includeScopes = ["html", "javascript", "css"]; 35 | 36 | }); 37 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/verilog.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/verilog",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "verilog"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/vhdl.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/vhdl",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "vhdl"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/wollok.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/wollok",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "##\n\ 5 | ## Basic Java packages and import\n\ 6 | snippet im\n\ 7 | import\n\ 8 | snippet w.l\n\ 9 | wollok.lang\n\ 10 | snippet w.i\n\ 11 | wollok.lib\n\ 12 | \n\ 13 | ## Class and object\n\ 14 | snippet cl\n\ 15 | class ${1:`Filename(\"\", \"untitled\")`} ${2}\n\ 16 | snippet obj\n\ 17 | object ${1:`Filename(\"\", \"untitled\")`} ${2:inherits Parent}${3}\n\ 18 | snippet te\n\ 19 | test ${1:`Filename(\"\", \"untitled\")`}\n\ 20 | \n\ 21 | ##\n\ 22 | ## Enhancements\n\ 23 | snippet inh\n\ 24 | inherits\n\ 25 | \n\ 26 | ##\n\ 27 | ## Comments\n\ 28 | snippet /*\n\ 29 | /*\n\ 30 | * ${1}\n\ 31 | */\n\ 32 | \n\ 33 | ##\n\ 34 | ## Control Statements\n\ 35 | snippet el\n\ 36 | else\n\ 37 | snippet if\n\ 38 | if (${1}) ${2}\n\ 39 | \n\ 40 | ##\n\ 41 | ## Create a Method\n\ 42 | snippet m\n\ 43 | method ${1:method}(${2}) ${5}\n\ 44 | \n\ 45 | ## \n\ 46 | ## Tests\n\ 47 | snippet as\n\ 48 | assert.equals(${1:expected}, ${2:actual})\n\ 49 | \n\ 50 | ##\n\ 51 | ## Exceptions\n\ 52 | snippet ca\n\ 53 | catch ${1:e} : (${2:Exception} ) ${3}\n\ 54 | snippet thr\n\ 55 | throw\n\ 56 | snippet try\n\ 57 | try {\n\ 58 | ${3}\n\ 59 | } catch ${1:e} : ${2:Exception} {\n\ 60 | }\n\ 61 | \n\ 62 | ##\n\ 63 | ## Javadocs\n\ 64 | snippet /**\n\ 65 | /**\n\ 66 | * ${1}\n\ 67 | */\n\ 68 | \n\ 69 | ##\n\ 70 | ## Print Methods\n\ 71 | snippet print\n\ 72 | console.println(\"${1:Message}\")\n\ 73 | \n\ 74 | ##\n\ 75 | ## Setter and Getter Methods\n\ 76 | snippet set\n\ 77 | method set${1:}(${2:}) {\n\ 78 | $1 = $2\n\ 79 | }\n\ 80 | snippet get\n\ 81 | method get${1:}() {\n\ 82 | return ${1:};\n\ 83 | }\n\ 84 | \n\ 85 | ##\n\ 86 | ## Terminate Methods or Loops\n\ 87 | snippet re\n\ 88 | return"; 89 | exports.scope = "wollok"; 90 | 91 | }); 92 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/xml.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/xml",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "xml"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/xquery.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/xquery",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText = "snippet for\n\ 5 | for $${1:item} in ${2:expr}\n\ 6 | snippet return\n\ 7 | return ${1:expr}\n\ 8 | snippet import\n\ 9 | import module namespace ${1:ns} = \"${2:http://www.example.com/}\";\n\ 10 | snippet some\n\ 11 | some $${1:varname} in ${2:expr} satisfies ${3:expr}\n\ 12 | snippet every\n\ 13 | every $${1:varname} in ${2:expr} satisfies ${3:expr}\n\ 14 | snippet if\n\ 15 | if(${1:true}) then ${2:expr} else ${3:true}\n\ 16 | snippet switch\n\ 17 | switch(${1:\"foo\"})\n\ 18 | case ${2:\"foo\"}\n\ 19 | return ${3:true}\n\ 20 | default return ${4:false}\n\ 21 | snippet try\n\ 22 | try { ${1:expr} } catch ${2:*} { ${3:expr} }\n\ 23 | snippet tumbling\n\ 24 | for tumbling window $${1:varname} in ${2:expr}\n\ 25 | start at $${3:start} when ${4:expr}\n\ 26 | end at $${5:end} when ${6:expr}\n\ 27 | return ${7:expr}\n\ 28 | snippet sliding\n\ 29 | for sliding window $${1:varname} in ${2:expr}\n\ 30 | start at $${3:start} when ${4:expr}\n\ 31 | end at $${5:end} when ${6:expr}\n\ 32 | return ${7:expr}\n\ 33 | snippet let\n\ 34 | let $${1:varname} := ${2:expr}\n\ 35 | snippet group\n\ 36 | group by $${1:varname} := ${2:expr}\n\ 37 | snippet order\n\ 38 | order by ${1:expr} ${2:descending}\n\ 39 | snippet stable\n\ 40 | stable order by ${1:expr}\n\ 41 | snippet count\n\ 42 | count $${1:varname}\n\ 43 | snippet ordered\n\ 44 | ordered { ${1:expr} }\n\ 45 | snippet unordered\n\ 46 | unordered { ${1:expr} }\n\ 47 | snippet treat \n\ 48 | treat as ${1:expr}\n\ 49 | snippet castable\n\ 50 | castable as ${1:atomicType}\n\ 51 | snippet cast\n\ 52 | cast as ${1:atomicType}\n\ 53 | snippet typeswitch\n\ 54 | typeswitch(${1:expr})\n\ 55 | case ${2:type} return ${3:expr}\n\ 56 | default return ${4:expr}\n\ 57 | snippet var\n\ 58 | declare variable $${1:varname} := ${2:expr};\n\ 59 | snippet fn\n\ 60 | declare function ${1:ns}:${2:name}(){\n\ 61 | ${3:expr}\n\ 62 | };\n\ 63 | snippet module\n\ 64 | module namespace ${1:ns} = \"${2:http://www.example.com}\";\n\ 65 | "; 66 | exports.scope = "xquery"; 67 | 68 | }); 69 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/snippets/yaml.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/snippets/yaml",["require","exports","module"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.snippetText =undefined; 5 | exports.scope = "yaml"; 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-clouds.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/clouds",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = false; 4 | exports.cssClass = "ace-clouds"; 5 | exports.cssText = ".ace-clouds .ace_gutter {\ 6 | background: #ebebeb;\ 7 | color: #333\ 8 | }\ 9 | .ace-clouds .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #e8e8e8\ 12 | }\ 13 | .ace-clouds {\ 14 | background-color: #FFFFFF;\ 15 | color: #000000\ 16 | }\ 17 | .ace-clouds .ace_cursor {\ 18 | color: #000000\ 19 | }\ 20 | .ace-clouds .ace_marker-layer .ace_selection {\ 21 | background: #BDD5FC\ 22 | }\ 23 | .ace-clouds.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #FFFFFF;\ 25 | }\ 26 | .ace-clouds .ace_marker-layer .ace_step {\ 27 | background: rgb(255, 255, 0)\ 28 | }\ 29 | .ace-clouds .ace_marker-layer .ace_bracket {\ 30 | margin: -1px 0 0 -1px;\ 31 | border: 1px solid #BFBFBF\ 32 | }\ 33 | .ace-clouds .ace_marker-layer .ace_active-line {\ 34 | background: #FFFBD1\ 35 | }\ 36 | .ace-clouds .ace_gutter-active-line {\ 37 | background-color : #dcdcdc\ 38 | }\ 39 | .ace-clouds .ace_marker-layer .ace_selected-word {\ 40 | border: 1px solid #BDD5FC\ 41 | }\ 42 | .ace-clouds .ace_invisible {\ 43 | color: #BFBFBF\ 44 | }\ 45 | .ace-clouds .ace_keyword,\ 46 | .ace-clouds .ace_meta,\ 47 | .ace-clouds .ace_support.ace_constant.ace_property-value {\ 48 | color: #AF956F\ 49 | }\ 50 | .ace-clouds .ace_keyword.ace_operator {\ 51 | color: #484848\ 52 | }\ 53 | .ace-clouds .ace_keyword.ace_other.ace_unit {\ 54 | color: #96DC5F\ 55 | }\ 56 | .ace-clouds .ace_constant.ace_language {\ 57 | color: #39946A\ 58 | }\ 59 | .ace-clouds .ace_constant.ace_numeric {\ 60 | color: #46A609\ 61 | }\ 62 | .ace-clouds .ace_constant.ace_character.ace_entity {\ 63 | color: #BF78CC\ 64 | }\ 65 | .ace-clouds .ace_invalid {\ 66 | background-color: #FF002A\ 67 | }\ 68 | .ace-clouds .ace_fold {\ 69 | background-color: #AF956F;\ 70 | border-color: #000000\ 71 | }\ 72 | .ace-clouds .ace_storage,\ 73 | .ace-clouds .ace_support.ace_class,\ 74 | .ace-clouds .ace_support.ace_function,\ 75 | .ace-clouds .ace_support.ace_other,\ 76 | .ace-clouds .ace_support.ace_type {\ 77 | color: #C52727\ 78 | }\ 79 | .ace-clouds .ace_string {\ 80 | color: #5D90CD\ 81 | }\ 82 | .ace-clouds .ace_comment {\ 83 | color: #BCC8BA\ 84 | }\ 85 | .ace-clouds .ace_entity.ace_name.ace_tag,\ 86 | .ace-clouds .ace_entity.ace_other.ace_attribute-name {\ 87 | color: #606060\ 88 | }\ 89 | .ace-clouds .ace_indent-guide {\ 90 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y\ 91 | }"; 92 | 93 | var dom = require("../lib/dom"); 94 | dom.importCssString(exports.cssText, exports.cssClass); 95 | }); 96 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-clouds_midnight.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/clouds_midnight",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-clouds-midnight"; 5 | exports.cssText = ".ace-clouds-midnight .ace_gutter {\ 6 | background: #232323;\ 7 | color: #929292\ 8 | }\ 9 | .ace-clouds-midnight .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #232323\ 12 | }\ 13 | .ace-clouds-midnight {\ 14 | background-color: #191919;\ 15 | color: #929292\ 16 | }\ 17 | .ace-clouds-midnight .ace_cursor {\ 18 | color: #7DA5DC\ 19 | }\ 20 | .ace-clouds-midnight .ace_marker-layer .ace_selection {\ 21 | background: #000000\ 22 | }\ 23 | .ace-clouds-midnight.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #191919;\ 25 | }\ 26 | .ace-clouds-midnight .ace_marker-layer .ace_step {\ 27 | background: rgb(102, 82, 0)\ 28 | }\ 29 | .ace-clouds-midnight .ace_marker-layer .ace_bracket {\ 30 | margin: -1px 0 0 -1px;\ 31 | border: 1px solid #BFBFBF\ 32 | }\ 33 | .ace-clouds-midnight .ace_marker-layer .ace_active-line {\ 34 | background: rgba(215, 215, 215, 0.031)\ 35 | }\ 36 | .ace-clouds-midnight .ace_gutter-active-line {\ 37 | background-color: rgba(215, 215, 215, 0.031)\ 38 | }\ 39 | .ace-clouds-midnight .ace_marker-layer .ace_selected-word {\ 40 | border: 1px solid #000000\ 41 | }\ 42 | .ace-clouds-midnight .ace_invisible {\ 43 | color: #666\ 44 | }\ 45 | .ace-clouds-midnight .ace_keyword,\ 46 | .ace-clouds-midnight .ace_meta,\ 47 | .ace-clouds-midnight .ace_support.ace_constant.ace_property-value {\ 48 | color: #927C5D\ 49 | }\ 50 | .ace-clouds-midnight .ace_keyword.ace_operator {\ 51 | color: #4B4B4B\ 52 | }\ 53 | .ace-clouds-midnight .ace_keyword.ace_other.ace_unit {\ 54 | color: #366F1A\ 55 | }\ 56 | .ace-clouds-midnight .ace_constant.ace_language {\ 57 | color: #39946A\ 58 | }\ 59 | .ace-clouds-midnight .ace_constant.ace_numeric {\ 60 | color: #46A609\ 61 | }\ 62 | .ace-clouds-midnight .ace_constant.ace_character.ace_entity {\ 63 | color: #A165AC\ 64 | }\ 65 | .ace-clouds-midnight .ace_invalid {\ 66 | color: #FFFFFF;\ 67 | background-color: #E92E2E\ 68 | }\ 69 | .ace-clouds-midnight .ace_fold {\ 70 | background-color: #927C5D;\ 71 | border-color: #929292\ 72 | }\ 73 | .ace-clouds-midnight .ace_storage,\ 74 | .ace-clouds-midnight .ace_support.ace_class,\ 75 | .ace-clouds-midnight .ace_support.ace_function,\ 76 | .ace-clouds-midnight .ace_support.ace_other,\ 77 | .ace-clouds-midnight .ace_support.ace_type {\ 78 | color: #E92E2E\ 79 | }\ 80 | .ace-clouds-midnight .ace_string {\ 81 | color: #5D90CD\ 82 | }\ 83 | .ace-clouds-midnight .ace_comment {\ 84 | color: #3C403B\ 85 | }\ 86 | .ace-clouds-midnight .ace_entity.ace_name.ace_tag,\ 87 | .ace-clouds-midnight .ace_entity.ace_other.ace_attribute-name {\ 88 | color: #606060\ 89 | }\ 90 | .ace-clouds-midnight .ace_indent-guide {\ 91 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHB3d/8PAAOIAdULw8qMAAAAAElFTkSuQmCC) right repeat-y\ 92 | }"; 93 | 94 | var dom = require("../lib/dom"); 95 | dom.importCssString(exports.cssText, exports.cssClass); 96 | }); 97 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-cobalt.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/cobalt",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-cobalt"; 5 | exports.cssText = ".ace-cobalt .ace_gutter {\ 6 | background: #011e3a;\ 7 | color: rgb(128,145,160)\ 8 | }\ 9 | .ace-cobalt .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #555555\ 12 | }\ 13 | .ace-cobalt {\ 14 | background-color: #002240;\ 15 | color: #FFFFFF\ 16 | }\ 17 | .ace-cobalt .ace_cursor {\ 18 | color: #FFFFFF\ 19 | }\ 20 | .ace-cobalt .ace_marker-layer .ace_selection {\ 21 | background: rgba(179, 101, 57, 0.75)\ 22 | }\ 23 | .ace-cobalt.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #002240;\ 25 | }\ 26 | .ace-cobalt .ace_marker-layer .ace_step {\ 27 | background: rgb(127, 111, 19)\ 28 | }\ 29 | .ace-cobalt .ace_marker-layer .ace_bracket {\ 30 | margin: -1px 0 0 -1px;\ 31 | border: 1px solid rgba(255, 255, 255, 0.15)\ 32 | }\ 33 | .ace-cobalt .ace_marker-layer .ace_active-line {\ 34 | background: rgba(0, 0, 0, 0.35)\ 35 | }\ 36 | .ace-cobalt .ace_gutter-active-line {\ 37 | background-color: rgba(0, 0, 0, 0.35)\ 38 | }\ 39 | .ace-cobalt .ace_marker-layer .ace_selected-word {\ 40 | border: 1px solid rgba(179, 101, 57, 0.75)\ 41 | }\ 42 | .ace-cobalt .ace_invisible {\ 43 | color: rgba(255, 255, 255, 0.15)\ 44 | }\ 45 | .ace-cobalt .ace_keyword,\ 46 | .ace-cobalt .ace_meta {\ 47 | color: #FF9D00\ 48 | }\ 49 | .ace-cobalt .ace_constant,\ 50 | .ace-cobalt .ace_constant.ace_character,\ 51 | .ace-cobalt .ace_constant.ace_character.ace_escape,\ 52 | .ace-cobalt .ace_constant.ace_other {\ 53 | color: #FF628C\ 54 | }\ 55 | .ace-cobalt .ace_invalid {\ 56 | color: #F8F8F8;\ 57 | background-color: #800F00\ 58 | }\ 59 | .ace-cobalt .ace_support {\ 60 | color: #80FFBB\ 61 | }\ 62 | .ace-cobalt .ace_support.ace_constant {\ 63 | color: #EB939A\ 64 | }\ 65 | .ace-cobalt .ace_fold {\ 66 | background-color: #FF9D00;\ 67 | border-color: #FFFFFF\ 68 | }\ 69 | .ace-cobalt .ace_support.ace_function {\ 70 | color: #FFB054\ 71 | }\ 72 | .ace-cobalt .ace_storage {\ 73 | color: #FFEE80\ 74 | }\ 75 | .ace-cobalt .ace_entity {\ 76 | color: #FFDD00\ 77 | }\ 78 | .ace-cobalt .ace_string {\ 79 | color: #3AD900\ 80 | }\ 81 | .ace-cobalt .ace_string.ace_regexp {\ 82 | color: #80FFC2\ 83 | }\ 84 | .ace-cobalt .ace_comment {\ 85 | font-style: italic;\ 86 | color: #0088FF\ 87 | }\ 88 | .ace-cobalt .ace_heading,\ 89 | .ace-cobalt .ace_markup.ace_heading {\ 90 | color: #C8E4FD;\ 91 | background-color: #001221\ 92 | }\ 93 | .ace-cobalt .ace_list,\ 94 | .ace-cobalt .ace_markup.ace_list {\ 95 | background-color: #130D26\ 96 | }\ 97 | .ace-cobalt .ace_variable {\ 98 | color: #CCCCCC\ 99 | }\ 100 | .ace-cobalt .ace_variable.ace_language {\ 101 | color: #FF80E1\ 102 | }\ 103 | .ace-cobalt .ace_meta.ace_tag {\ 104 | color: #9EFFFF\ 105 | }\ 106 | .ace-cobalt .ace_indent-guide {\ 107 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHCLSvkPAAP3AgSDTRd4AAAAAElFTkSuQmCC) right repeat-y\ 108 | }\ 109 | "; 110 | 111 | var dom = require("../lib/dom"); 112 | dom.importCssString(exports.cssText, exports.cssClass); 113 | }); 114 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-dawn.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/dawn",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = false; 4 | exports.cssClass = "ace-dawn"; 5 | exports.cssText = ".ace-dawn .ace_gutter {\ 6 | background: #ebebeb;\ 7 | color: #333\ 8 | }\ 9 | .ace-dawn .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #e8e8e8\ 12 | }\ 13 | .ace-dawn {\ 14 | background-color: #F9F9F9;\ 15 | color: #080808\ 16 | }\ 17 | .ace-dawn .ace_cursor {\ 18 | color: #000000\ 19 | }\ 20 | .ace-dawn .ace_marker-layer .ace_selection {\ 21 | background: rgba(39, 95, 255, 0.30)\ 22 | }\ 23 | .ace-dawn.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #F9F9F9;\ 25 | }\ 26 | .ace-dawn .ace_marker-layer .ace_step {\ 27 | background: rgb(255, 255, 0)\ 28 | }\ 29 | .ace-dawn .ace_marker-layer .ace_bracket {\ 30 | margin: -1px 0 0 -1px;\ 31 | border: 1px solid rgba(75, 75, 126, 0.50)\ 32 | }\ 33 | .ace-dawn .ace_marker-layer .ace_active-line {\ 34 | background: rgba(36, 99, 180, 0.12)\ 35 | }\ 36 | .ace-dawn .ace_gutter-active-line {\ 37 | background-color : #dcdcdc\ 38 | }\ 39 | .ace-dawn .ace_marker-layer .ace_selected-word {\ 40 | border: 1px solid rgba(39, 95, 255, 0.30)\ 41 | }\ 42 | .ace-dawn .ace_invisible {\ 43 | color: rgba(75, 75, 126, 0.50)\ 44 | }\ 45 | .ace-dawn .ace_keyword,\ 46 | .ace-dawn .ace_meta {\ 47 | color: #794938\ 48 | }\ 49 | .ace-dawn .ace_constant,\ 50 | .ace-dawn .ace_constant.ace_character,\ 51 | .ace-dawn .ace_constant.ace_character.ace_escape,\ 52 | .ace-dawn .ace_constant.ace_other {\ 53 | color: #811F24\ 54 | }\ 55 | .ace-dawn .ace_invalid.ace_illegal {\ 56 | text-decoration: underline;\ 57 | font-style: italic;\ 58 | color: #F8F8F8;\ 59 | background-color: #B52A1D\ 60 | }\ 61 | .ace-dawn .ace_invalid.ace_deprecated {\ 62 | text-decoration: underline;\ 63 | font-style: italic;\ 64 | color: #B52A1D\ 65 | }\ 66 | .ace-dawn .ace_support {\ 67 | color: #691C97\ 68 | }\ 69 | .ace-dawn .ace_support.ace_constant {\ 70 | color: #B4371F\ 71 | }\ 72 | .ace-dawn .ace_fold {\ 73 | background-color: #794938;\ 74 | border-color: #080808\ 75 | }\ 76 | .ace-dawn .ace_list,\ 77 | .ace-dawn .ace_markup.ace_list,\ 78 | .ace-dawn .ace_support.ace_function {\ 79 | color: #693A17\ 80 | }\ 81 | .ace-dawn .ace_storage {\ 82 | font-style: italic;\ 83 | color: #A71D5D\ 84 | }\ 85 | .ace-dawn .ace_string {\ 86 | color: #0B6125\ 87 | }\ 88 | .ace-dawn .ace_string.ace_regexp {\ 89 | color: #CF5628\ 90 | }\ 91 | .ace-dawn .ace_comment {\ 92 | font-style: italic;\ 93 | color: #5A525F\ 94 | }\ 95 | .ace-dawn .ace_heading,\ 96 | .ace-dawn .ace_markup.ace_heading {\ 97 | color: #19356D\ 98 | }\ 99 | .ace-dawn .ace_variable {\ 100 | color: #234A97\ 101 | }\ 102 | .ace-dawn .ace_indent-guide {\ 103 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYLh/5+x/AAizA4hxNNsZAAAAAElFTkSuQmCC) right repeat-y\ 104 | }"; 105 | 106 | var dom = require("../lib/dom"); 107 | dom.importCssString(exports.cssText, exports.cssClass); 108 | }); 109 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-eclipse.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/eclipse",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.isDark = false; 5 | exports.cssText = ".ace-eclipse .ace_gutter {\ 6 | background: #ebebeb;\ 7 | border-right: 1px solid rgb(159, 159, 159);\ 8 | color: rgb(136, 136, 136);\ 9 | }\ 10 | .ace-eclipse .ace_print-margin {\ 11 | width: 1px;\ 12 | background: #ebebeb;\ 13 | }\ 14 | .ace-eclipse {\ 15 | background-color: #FFFFFF;\ 16 | color: black;\ 17 | }\ 18 | .ace-eclipse .ace_fold {\ 19 | background-color: rgb(60, 76, 114);\ 20 | }\ 21 | .ace-eclipse .ace_cursor {\ 22 | color: black;\ 23 | }\ 24 | .ace-eclipse .ace_storage,\ 25 | .ace-eclipse .ace_keyword,\ 26 | .ace-eclipse .ace_variable {\ 27 | color: rgb(127, 0, 85);\ 28 | }\ 29 | .ace-eclipse .ace_constant.ace_buildin {\ 30 | color: rgb(88, 72, 246);\ 31 | }\ 32 | .ace-eclipse .ace_constant.ace_library {\ 33 | color: rgb(6, 150, 14);\ 34 | }\ 35 | .ace-eclipse .ace_function {\ 36 | color: rgb(60, 76, 114);\ 37 | }\ 38 | .ace-eclipse .ace_string {\ 39 | color: rgb(42, 0, 255);\ 40 | }\ 41 | .ace-eclipse .ace_comment {\ 42 | color: rgb(113, 150, 130);\ 43 | }\ 44 | .ace-eclipse .ace_comment.ace_doc {\ 45 | color: rgb(63, 95, 191);\ 46 | }\ 47 | .ace-eclipse .ace_comment.ace_doc.ace_tag {\ 48 | color: rgb(127, 159, 191);\ 49 | }\ 50 | .ace-eclipse .ace_constant.ace_numeric {\ 51 | color: darkblue;\ 52 | }\ 53 | .ace-eclipse .ace_tag {\ 54 | color: rgb(25, 118, 116);\ 55 | }\ 56 | .ace-eclipse .ace_type {\ 57 | color: rgb(127, 0, 127);\ 58 | }\ 59 | .ace-eclipse .ace_xml-pe {\ 60 | color: rgb(104, 104, 91);\ 61 | }\ 62 | .ace-eclipse .ace_marker-layer .ace_selection {\ 63 | background: rgb(181, 213, 255);\ 64 | }\ 65 | .ace-eclipse .ace_marker-layer .ace_bracket {\ 66 | margin: -1px 0 0 -1px;\ 67 | border: 1px solid rgb(192, 192, 192);\ 68 | }\ 69 | .ace-eclipse .ace_meta.ace_tag {\ 70 | color:rgb(25, 118, 116);\ 71 | }\ 72 | .ace-eclipse .ace_invisible {\ 73 | color: #ddd;\ 74 | }\ 75 | .ace-eclipse .ace_entity.ace_other.ace_attribute-name {\ 76 | color:rgb(127, 0, 127);\ 77 | }\ 78 | .ace-eclipse .ace_marker-layer .ace_step {\ 79 | background: rgb(255, 255, 0);\ 80 | }\ 81 | .ace-eclipse .ace_active-line {\ 82 | background: rgb(232, 242, 254);\ 83 | }\ 84 | .ace-eclipse .ace_gutter-active-line {\ 85 | background-color : #DADADA;\ 86 | }\ 87 | .ace-eclipse .ace_marker-layer .ace_selected-word {\ 88 | border: 1px solid rgb(181, 213, 255);\ 89 | }\ 90 | .ace-eclipse .ace_indent-guide {\ 91 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 92 | }"; 93 | 94 | exports.cssClass = "ace-eclipse"; 95 | 96 | var dom = require("../lib/dom"); 97 | dom.importCssString(exports.cssText, exports.cssClass); 98 | }); 99 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-github.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/github",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = false; 4 | exports.cssClass = "ace-github"; 5 | exports.cssText = "\ 6 | .ace-github .ace_gutter {\ 7 | background: #e8e8e8;\ 8 | color: #AAA;\ 9 | }\ 10 | .ace-github {\ 11 | background: #fff;\ 12 | color: #000;\ 13 | }\ 14 | .ace-github .ace_keyword {\ 15 | font-weight: bold;\ 16 | }\ 17 | .ace-github .ace_string {\ 18 | color: #D14;\ 19 | }\ 20 | .ace-github .ace_variable.ace_class {\ 21 | color: teal;\ 22 | }\ 23 | .ace-github .ace_constant.ace_numeric {\ 24 | color: #099;\ 25 | }\ 26 | .ace-github .ace_constant.ace_buildin {\ 27 | color: #0086B3;\ 28 | }\ 29 | .ace-github .ace_support.ace_function {\ 30 | color: #0086B3;\ 31 | }\ 32 | .ace-github .ace_comment {\ 33 | color: #998;\ 34 | font-style: italic;\ 35 | }\ 36 | .ace-github .ace_variable.ace_language {\ 37 | color: #0086B3;\ 38 | }\ 39 | .ace-github .ace_paren {\ 40 | font-weight: bold;\ 41 | }\ 42 | .ace-github .ace_boolean {\ 43 | font-weight: bold;\ 44 | }\ 45 | .ace-github .ace_string.ace_regexp {\ 46 | color: #009926;\ 47 | font-weight: normal;\ 48 | }\ 49 | .ace-github .ace_variable.ace_instance {\ 50 | color: teal;\ 51 | }\ 52 | .ace-github .ace_constant.ace_language {\ 53 | font-weight: bold;\ 54 | }\ 55 | .ace-github .ace_cursor {\ 56 | color: black;\ 57 | }\ 58 | .ace-github.ace_focus .ace_marker-layer .ace_active-line {\ 59 | background: rgb(255, 255, 204);\ 60 | }\ 61 | .ace-github .ace_marker-layer .ace_active-line {\ 62 | background: rgb(245, 245, 245);\ 63 | }\ 64 | .ace-github .ace_marker-layer .ace_selection {\ 65 | background: rgb(181, 213, 255);\ 66 | }\ 67 | .ace-github.ace_multiselect .ace_selection.ace_start {\ 68 | box-shadow: 0 0 3px 0px white;\ 69 | }\ 70 | .ace-github.ace_nobold .ace_line > span {\ 71 | font-weight: normal !important;\ 72 | }\ 73 | .ace-github .ace_marker-layer .ace_step {\ 74 | background: rgb(252, 255, 0);\ 75 | }\ 76 | .ace-github .ace_marker-layer .ace_stack {\ 77 | background: rgb(164, 229, 101);\ 78 | }\ 79 | .ace-github .ace_marker-layer .ace_bracket {\ 80 | margin: -1px 0 0 -1px;\ 81 | border: 1px solid rgb(192, 192, 192);\ 82 | }\ 83 | .ace-github .ace_gutter-active-line {\ 84 | background-color : rgba(0, 0, 0, 0.07);\ 85 | }\ 86 | .ace-github .ace_marker-layer .ace_selected-word {\ 87 | background: rgb(250, 250, 255);\ 88 | border: 1px solid rgb(200, 200, 250);\ 89 | }\ 90 | .ace-github .ace_invisible {\ 91 | color: #BFBFBF\ 92 | }\ 93 | .ace-github .ace_print-margin {\ 94 | width: 1px;\ 95 | background: #e8e8e8;\ 96 | }\ 97 | .ace-github .ace_indent-guide {\ 98 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 99 | }"; 100 | 101 | var dom = require("../lib/dom"); 102 | dom.importCssString(exports.cssText, exports.cssClass); 103 | }); 104 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-idle_fingers.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/idle_fingers",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-idle-fingers"; 5 | exports.cssText = ".ace-idle-fingers .ace_gutter {\ 6 | background: #3b3b3b;\ 7 | color: rgb(153,153,153)\ 8 | }\ 9 | .ace-idle-fingers .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #3b3b3b\ 12 | }\ 13 | .ace-idle-fingers {\ 14 | background-color: #323232;\ 15 | color: #FFFFFF\ 16 | }\ 17 | .ace-idle-fingers .ace_cursor {\ 18 | color: #91FF00\ 19 | }\ 20 | .ace-idle-fingers .ace_marker-layer .ace_selection {\ 21 | background: rgba(90, 100, 126, 0.88)\ 22 | }\ 23 | .ace-idle-fingers.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #323232;\ 25 | }\ 26 | .ace-idle-fingers .ace_marker-layer .ace_step {\ 27 | background: rgb(102, 82, 0)\ 28 | }\ 29 | .ace-idle-fingers .ace_marker-layer .ace_bracket {\ 30 | margin: -1px 0 0 -1px;\ 31 | border: 1px solid #404040\ 32 | }\ 33 | .ace-idle-fingers .ace_marker-layer .ace_active-line {\ 34 | background: #353637\ 35 | }\ 36 | .ace-idle-fingers .ace_gutter-active-line {\ 37 | background-color: #353637\ 38 | }\ 39 | .ace-idle-fingers .ace_marker-layer .ace_selected-word {\ 40 | border: 1px solid rgba(90, 100, 126, 0.88)\ 41 | }\ 42 | .ace-idle-fingers .ace_invisible {\ 43 | color: #404040\ 44 | }\ 45 | .ace-idle-fingers .ace_keyword,\ 46 | .ace-idle-fingers .ace_meta {\ 47 | color: #CC7833\ 48 | }\ 49 | .ace-idle-fingers .ace_constant,\ 50 | .ace-idle-fingers .ace_constant.ace_character,\ 51 | .ace-idle-fingers .ace_constant.ace_character.ace_escape,\ 52 | .ace-idle-fingers .ace_constant.ace_other,\ 53 | .ace-idle-fingers .ace_support.ace_constant {\ 54 | color: #6C99BB\ 55 | }\ 56 | .ace-idle-fingers .ace_invalid {\ 57 | color: #FFFFFF;\ 58 | background-color: #FF0000\ 59 | }\ 60 | .ace-idle-fingers .ace_fold {\ 61 | background-color: #CC7833;\ 62 | border-color: #FFFFFF\ 63 | }\ 64 | .ace-idle-fingers .ace_support.ace_function {\ 65 | color: #B83426\ 66 | }\ 67 | .ace-idle-fingers .ace_variable.ace_parameter {\ 68 | font-style: italic\ 69 | }\ 70 | .ace-idle-fingers .ace_string {\ 71 | color: #A5C261\ 72 | }\ 73 | .ace-idle-fingers .ace_string.ace_regexp {\ 74 | color: #CCCC33\ 75 | }\ 76 | .ace-idle-fingers .ace_comment {\ 77 | font-style: italic;\ 78 | color: #BC9458\ 79 | }\ 80 | .ace-idle-fingers .ace_meta.ace_tag {\ 81 | color: #FFE5BB\ 82 | }\ 83 | .ace-idle-fingers .ace_entity.ace_name {\ 84 | color: #FFC66D\ 85 | }\ 86 | .ace-idle-fingers .ace_collab.ace_user1 {\ 87 | color: #323232;\ 88 | background-color: #FFF980\ 89 | }\ 90 | .ace-idle-fingers .ace_indent-guide {\ 91 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y\ 92 | }"; 93 | 94 | var dom = require("../lib/dom"); 95 | dom.importCssString(exports.cssText, exports.cssClass); 96 | }); 97 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-kr_theme.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/kr_theme",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-kr-theme"; 5 | exports.cssText = ".ace-kr-theme .ace_gutter {\ 6 | background: #1c1917;\ 7 | color: #FCFFE0\ 8 | }\ 9 | .ace-kr-theme .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #1c1917\ 12 | }\ 13 | .ace-kr-theme {\ 14 | background-color: #0B0A09;\ 15 | color: #FCFFE0\ 16 | }\ 17 | .ace-kr-theme .ace_cursor {\ 18 | color: #FF9900\ 19 | }\ 20 | .ace-kr-theme .ace_marker-layer .ace_selection {\ 21 | background: rgba(170, 0, 255, 0.45)\ 22 | }\ 23 | .ace-kr-theme.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #0B0A09;\ 25 | }\ 26 | .ace-kr-theme .ace_marker-layer .ace_step {\ 27 | background: rgb(102, 82, 0)\ 28 | }\ 29 | .ace-kr-theme .ace_marker-layer .ace_bracket {\ 30 | margin: -1px 0 0 -1px;\ 31 | border: 1px solid rgba(255, 177, 111, 0.32)\ 32 | }\ 33 | .ace-kr-theme .ace_marker-layer .ace_active-line {\ 34 | background: #38403D\ 35 | }\ 36 | .ace-kr-theme .ace_gutter-active-line {\ 37 | background-color : #38403D\ 38 | }\ 39 | .ace-kr-theme .ace_marker-layer .ace_selected-word {\ 40 | border: 1px solid rgba(170, 0, 255, 0.45)\ 41 | }\ 42 | .ace-kr-theme .ace_invisible {\ 43 | color: rgba(255, 177, 111, 0.32)\ 44 | }\ 45 | .ace-kr-theme .ace_keyword,\ 46 | .ace-kr-theme .ace_meta {\ 47 | color: #949C8B\ 48 | }\ 49 | .ace-kr-theme .ace_constant,\ 50 | .ace-kr-theme .ace_constant.ace_character,\ 51 | .ace-kr-theme .ace_constant.ace_character.ace_escape,\ 52 | .ace-kr-theme .ace_constant.ace_other {\ 53 | color: rgba(210, 117, 24, 0.76)\ 54 | }\ 55 | .ace-kr-theme .ace_invalid {\ 56 | color: #F8F8F8;\ 57 | background-color: #A41300\ 58 | }\ 59 | .ace-kr-theme .ace_support {\ 60 | color: #9FC28A\ 61 | }\ 62 | .ace-kr-theme .ace_support.ace_constant {\ 63 | color: #C27E66\ 64 | }\ 65 | .ace-kr-theme .ace_fold {\ 66 | background-color: #949C8B;\ 67 | border-color: #FCFFE0\ 68 | }\ 69 | .ace-kr-theme .ace_support.ace_function {\ 70 | color: #85873A\ 71 | }\ 72 | .ace-kr-theme .ace_storage {\ 73 | color: #FFEE80\ 74 | }\ 75 | .ace-kr-theme .ace_string {\ 76 | color: rgba(164, 161, 181, 0.8)\ 77 | }\ 78 | .ace-kr-theme .ace_string.ace_regexp {\ 79 | color: rgba(125, 255, 192, 0.65)\ 80 | }\ 81 | .ace-kr-theme .ace_comment {\ 82 | font-style: italic;\ 83 | color: #706D5B\ 84 | }\ 85 | .ace-kr-theme .ace_variable {\ 86 | color: #D1A796\ 87 | }\ 88 | .ace-kr-theme .ace_list,\ 89 | .ace-kr-theme .ace_markup.ace_list {\ 90 | background-color: #0F0040\ 91 | }\ 92 | .ace-kr-theme .ace_variable.ace_language {\ 93 | color: #FF80E1\ 94 | }\ 95 | .ace-kr-theme .ace_meta.ace_tag {\ 96 | color: #BABD9C\ 97 | }\ 98 | .ace-kr-theme .ace_indent-guide {\ 99 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYFBXV/8PAAJoAXX4kT2EAAAAAElFTkSuQmCC) right repeat-y\ 100 | }"; 101 | 102 | var dom = require("../lib/dom"); 103 | dom.importCssString(exports.cssText, exports.cssClass); 104 | }); 105 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-kuroir.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/kuroir",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = false; 4 | exports.cssClass = "ace-kuroir"; 5 | exports.cssText = "\ 6 | .ace-kuroir .ace_gutter {\ 7 | background: #e8e8e8;\ 8 | color: #333;\ 9 | }\ 10 | .ace-kuroir .ace_print-margin {\ 11 | width: 1px;\ 12 | background: #e8e8e8;\ 13 | }\ 14 | .ace-kuroir {\ 15 | background-color: #E8E9E8;\ 16 | color: #363636;\ 17 | }\ 18 | .ace-kuroir .ace_cursor {\ 19 | color: #202020;\ 20 | }\ 21 | .ace-kuroir .ace_marker-layer .ace_selection {\ 22 | background: rgba(245, 170, 0, 0.57);\ 23 | }\ 24 | .ace-kuroir.ace_multiselect .ace_selection.ace_start {\ 25 | box-shadow: 0 0 3px 0px #E8E9E8;\ 26 | }\ 27 | .ace-kuroir .ace_marker-layer .ace_step {\ 28 | background: rgb(198, 219, 174);\ 29 | }\ 30 | .ace-kuroir .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid rgba(0, 0, 0, 0.29);\ 33 | }\ 34 | .ace-kuroir .ace_marker-layer .ace_active-line {\ 35 | background: rgba(203, 220, 47, 0.22);\ 36 | }\ 37 | .ace-kuroir .ace_gutter-active-line {\ 38 | background-color: rgba(203, 220, 47, 0.22);\ 39 | }\ 40 | .ace-kuroir .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid rgba(245, 170, 0, 0.57);\ 42 | }\ 43 | .ace-kuroir .ace_invisible {\ 44 | color: #BFBFBF\ 45 | }\ 46 | .ace-kuroir .ace_fold {\ 47 | border-color: #363636;\ 48 | }\ 49 | .ace-kuroir .ace_constant{color:#CD6839;}.ace-kuroir .ace_constant.ace_numeric{color:#9A5925;}.ace-kuroir .ace_support{color:#104E8B;}.ace-kuroir .ace_support.ace_function{color:#005273;}.ace-kuroir .ace_support.ace_constant{color:#CF6A4C;}.ace-kuroir .ace_storage{color:#A52A2A;}.ace-kuroir .ace_invalid.ace_illegal{color:#FD1224;\ 50 | background-color:rgba(255, 6, 0, 0.15);}.ace-kuroir .ace_invalid.ace_deprecated{text-decoration:underline;\ 51 | font-style:italic;\ 52 | color:#FD1732;\ 53 | background-color:#E8E9E8;}.ace-kuroir .ace_string{color:#639300;}.ace-kuroir .ace_string.ace_regexp{color:#417E00;\ 54 | background-color:#C9D4BE;}.ace-kuroir .ace_comment{color:rgba(148, 148, 148, 0.91);\ 55 | background-color:rgba(220, 220, 220, 0.56);}.ace-kuroir .ace_variable{color:#009ACD;}.ace-kuroir .ace_meta.ace_tag{color:#005273;}.ace-kuroir .ace_markup.ace_heading{color:#B8012D;\ 56 | background-color:rgba(191, 97, 51, 0.051);}.ace-kuroir .ace_markup.ace_list{color:#8F5B26;}\ 57 | "; 58 | 59 | var dom = require("../lib/dom"); 60 | dom.importCssString(exports.cssText, exports.cssClass); 61 | }); 62 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-merbivore.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/merbivore",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-merbivore"; 5 | exports.cssText = ".ace-merbivore .ace_gutter {\ 6 | background: #202020;\ 7 | color: #E6E1DC\ 8 | }\ 9 | .ace-merbivore .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #555651\ 12 | }\ 13 | .ace-merbivore {\ 14 | background-color: #161616;\ 15 | color: #E6E1DC\ 16 | }\ 17 | .ace-merbivore .ace_cursor {\ 18 | color: #FFFFFF\ 19 | }\ 20 | .ace-merbivore .ace_marker-layer .ace_selection {\ 21 | background: #454545\ 22 | }\ 23 | .ace-merbivore.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #161616;\ 25 | }\ 26 | .ace-merbivore .ace_marker-layer .ace_step {\ 27 | background: rgb(102, 82, 0)\ 28 | }\ 29 | .ace-merbivore .ace_marker-layer .ace_bracket {\ 30 | margin: -1px 0 0 -1px;\ 31 | border: 1px solid #404040\ 32 | }\ 33 | .ace-merbivore .ace_marker-layer .ace_active-line {\ 34 | background: #333435\ 35 | }\ 36 | .ace-merbivore .ace_gutter-active-line {\ 37 | background-color: #333435\ 38 | }\ 39 | .ace-merbivore .ace_marker-layer .ace_selected-word {\ 40 | border: 1px solid #454545\ 41 | }\ 42 | .ace-merbivore .ace_invisible {\ 43 | color: #404040\ 44 | }\ 45 | .ace-merbivore .ace_entity.ace_name.ace_tag,\ 46 | .ace-merbivore .ace_keyword,\ 47 | .ace-merbivore .ace_meta,\ 48 | .ace-merbivore .ace_meta.ace_tag,\ 49 | .ace-merbivore .ace_storage,\ 50 | .ace-merbivore .ace_support.ace_function {\ 51 | color: #FC6F09\ 52 | }\ 53 | .ace-merbivore .ace_constant,\ 54 | .ace-merbivore .ace_constant.ace_character,\ 55 | .ace-merbivore .ace_constant.ace_character.ace_escape,\ 56 | .ace-merbivore .ace_constant.ace_other,\ 57 | .ace-merbivore .ace_support.ace_type {\ 58 | color: #1EDAFB\ 59 | }\ 60 | .ace-merbivore .ace_constant.ace_character.ace_escape {\ 61 | color: #519F50\ 62 | }\ 63 | .ace-merbivore .ace_constant.ace_language {\ 64 | color: #FDC251\ 65 | }\ 66 | .ace-merbivore .ace_constant.ace_library,\ 67 | .ace-merbivore .ace_string,\ 68 | .ace-merbivore .ace_support.ace_constant {\ 69 | color: #8DFF0A\ 70 | }\ 71 | .ace-merbivore .ace_constant.ace_numeric {\ 72 | color: #58C554\ 73 | }\ 74 | .ace-merbivore .ace_invalid {\ 75 | color: #FFFFFF;\ 76 | background-color: #990000\ 77 | }\ 78 | .ace-merbivore .ace_fold {\ 79 | background-color: #FC6F09;\ 80 | border-color: #E6E1DC\ 81 | }\ 82 | .ace-merbivore .ace_comment {\ 83 | font-style: italic;\ 84 | color: #AD2EA4\ 85 | }\ 86 | .ace-merbivore .ace_entity.ace_other.ace_attribute-name {\ 87 | color: #FFFF89\ 88 | }\ 89 | .ace-merbivore .ace_indent-guide {\ 90 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQFxf3ZXB1df0PAAdsAmERTkEHAAAAAElFTkSuQmCC) right repeat-y\ 91 | }"; 92 | 93 | var dom = require("../lib/dom"); 94 | dom.importCssString(exports.cssText, exports.cssClass); 95 | }); 96 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-merbivore_soft.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/merbivore_soft",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-merbivore-soft"; 5 | exports.cssText = ".ace-merbivore-soft .ace_gutter {\ 6 | background: #262424;\ 7 | color: #E6E1DC\ 8 | }\ 9 | .ace-merbivore-soft .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #262424\ 12 | }\ 13 | .ace-merbivore-soft {\ 14 | background-color: #1C1C1C;\ 15 | color: #E6E1DC\ 16 | }\ 17 | .ace-merbivore-soft .ace_cursor {\ 18 | color: #FFFFFF\ 19 | }\ 20 | .ace-merbivore-soft .ace_marker-layer .ace_selection {\ 21 | background: #494949\ 22 | }\ 23 | .ace-merbivore-soft.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #1C1C1C;\ 25 | }\ 26 | .ace-merbivore-soft .ace_marker-layer .ace_step {\ 27 | background: rgb(102, 82, 0)\ 28 | }\ 29 | .ace-merbivore-soft .ace_marker-layer .ace_bracket {\ 30 | margin: -1px 0 0 -1px;\ 31 | border: 1px solid #404040\ 32 | }\ 33 | .ace-merbivore-soft .ace_marker-layer .ace_active-line {\ 34 | background: #333435\ 35 | }\ 36 | .ace-merbivore-soft .ace_gutter-active-line {\ 37 | background-color: #333435\ 38 | }\ 39 | .ace-merbivore-soft .ace_marker-layer .ace_selected-word {\ 40 | border: 1px solid #494949\ 41 | }\ 42 | .ace-merbivore-soft .ace_invisible {\ 43 | color: #404040\ 44 | }\ 45 | .ace-merbivore-soft .ace_entity.ace_name.ace_tag,\ 46 | .ace-merbivore-soft .ace_keyword,\ 47 | .ace-merbivore-soft .ace_meta,\ 48 | .ace-merbivore-soft .ace_meta.ace_tag,\ 49 | .ace-merbivore-soft .ace_storage {\ 50 | color: #FC803A\ 51 | }\ 52 | .ace-merbivore-soft .ace_constant,\ 53 | .ace-merbivore-soft .ace_constant.ace_character,\ 54 | .ace-merbivore-soft .ace_constant.ace_character.ace_escape,\ 55 | .ace-merbivore-soft .ace_constant.ace_other,\ 56 | .ace-merbivore-soft .ace_support.ace_type {\ 57 | color: #68C1D8\ 58 | }\ 59 | .ace-merbivore-soft .ace_constant.ace_character.ace_escape {\ 60 | color: #B3E5B4\ 61 | }\ 62 | .ace-merbivore-soft .ace_constant.ace_language {\ 63 | color: #E1C582\ 64 | }\ 65 | .ace-merbivore-soft .ace_constant.ace_library,\ 66 | .ace-merbivore-soft .ace_string,\ 67 | .ace-merbivore-soft .ace_support.ace_constant {\ 68 | color: #8EC65F\ 69 | }\ 70 | .ace-merbivore-soft .ace_constant.ace_numeric {\ 71 | color: #7FC578\ 72 | }\ 73 | .ace-merbivore-soft .ace_invalid,\ 74 | .ace-merbivore-soft .ace_invalid.ace_deprecated {\ 75 | color: #FFFFFF;\ 76 | background-color: #FE3838\ 77 | }\ 78 | .ace-merbivore-soft .ace_fold {\ 79 | background-color: #FC803A;\ 80 | border-color: #E6E1DC\ 81 | }\ 82 | .ace-merbivore-soft .ace_comment,\ 83 | .ace-merbivore-soft .ace_meta {\ 84 | font-style: italic;\ 85 | color: #AC4BB8\ 86 | }\ 87 | .ace-merbivore-soft .ace_entity.ace_other.ace_attribute-name {\ 88 | color: #EAF1A3\ 89 | }\ 90 | .ace-merbivore-soft .ace_indent-guide {\ 91 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWOQkpLyZfD09PwPAAfYAnaStpHRAAAAAElFTkSuQmCC) right repeat-y\ 92 | }"; 93 | 94 | var dom = require("../lib/dom"); 95 | dom.importCssString(exports.cssText, exports.cssClass); 96 | }); 97 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-monokai.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/monokai",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-monokai"; 5 | exports.cssText = ".ace-monokai .ace_gutter {\ 6 | background: #2F3129;\ 7 | color: #8F908A\ 8 | }\ 9 | .ace-monokai .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #555651\ 12 | }\ 13 | .ace-monokai {\ 14 | background-color: #272822;\ 15 | color: #F8F8F2\ 16 | }\ 17 | .ace-monokai .ace_cursor {\ 18 | color: #F8F8F0\ 19 | }\ 20 | .ace-monokai .ace_marker-layer .ace_selection {\ 21 | background: #49483E\ 22 | }\ 23 | .ace-monokai.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #272822;\ 25 | }\ 26 | .ace-monokai .ace_marker-layer .ace_step {\ 27 | background: rgb(102, 82, 0)\ 28 | }\ 29 | .ace-monokai .ace_marker-layer .ace_bracket {\ 30 | margin: -1px 0 0 -1px;\ 31 | border: 1px solid #49483E\ 32 | }\ 33 | .ace-monokai .ace_marker-layer .ace_active-line {\ 34 | background: #202020\ 35 | }\ 36 | .ace-monokai .ace_gutter-active-line {\ 37 | background-color: #272727\ 38 | }\ 39 | .ace-monokai .ace_marker-layer .ace_selected-word {\ 40 | border: 1px solid #49483E\ 41 | }\ 42 | .ace-monokai .ace_invisible {\ 43 | color: #52524d\ 44 | }\ 45 | .ace-monokai .ace_entity.ace_name.ace_tag,\ 46 | .ace-monokai .ace_keyword,\ 47 | .ace-monokai .ace_meta.ace_tag,\ 48 | .ace-monokai .ace_storage {\ 49 | color: #F92672\ 50 | }\ 51 | .ace-monokai .ace_punctuation,\ 52 | .ace-monokai .ace_punctuation.ace_tag {\ 53 | color: #fff\ 54 | }\ 55 | .ace-monokai .ace_constant.ace_character,\ 56 | .ace-monokai .ace_constant.ace_language,\ 57 | .ace-monokai .ace_constant.ace_numeric,\ 58 | .ace-monokai .ace_constant.ace_other {\ 59 | color: #AE81FF\ 60 | }\ 61 | .ace-monokai .ace_invalid {\ 62 | color: #F8F8F0;\ 63 | background-color: #F92672\ 64 | }\ 65 | .ace-monokai .ace_invalid.ace_deprecated {\ 66 | color: #F8F8F0;\ 67 | background-color: #AE81FF\ 68 | }\ 69 | .ace-monokai .ace_support.ace_constant,\ 70 | .ace-monokai .ace_support.ace_function {\ 71 | color: #66D9EF\ 72 | }\ 73 | .ace-monokai .ace_fold {\ 74 | background-color: #A6E22E;\ 75 | border-color: #F8F8F2\ 76 | }\ 77 | .ace-monokai .ace_storage.ace_type,\ 78 | .ace-monokai .ace_support.ace_class,\ 79 | .ace-monokai .ace_support.ace_type {\ 80 | font-style: italic;\ 81 | color: #66D9EF\ 82 | }\ 83 | .ace-monokai .ace_entity.ace_name.ace_function,\ 84 | .ace-monokai .ace_entity.ace_other,\ 85 | .ace-monokai .ace_entity.ace_other.ace_attribute-name,\ 86 | .ace-monokai .ace_variable {\ 87 | color: #A6E22E\ 88 | }\ 89 | .ace-monokai .ace_variable.ace_parameter {\ 90 | font-style: italic;\ 91 | color: #FD971F\ 92 | }\ 93 | .ace-monokai .ace_string {\ 94 | color: #E6DB74\ 95 | }\ 96 | .ace-monokai .ace_comment {\ 97 | color: #75715E\ 98 | }\ 99 | .ace-monokai .ace_indent-guide {\ 100 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y\ 101 | }"; 102 | 103 | var dom = require("../lib/dom"); 104 | dom.importCssString(exports.cssText, exports.cssClass); 105 | }); 106 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-pastel_on_dark.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/pastel_on_dark",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-pastel-on-dark"; 5 | exports.cssText = ".ace-pastel-on-dark .ace_gutter {\ 6 | background: #353030;\ 7 | color: #8F938F\ 8 | }\ 9 | .ace-pastel-on-dark .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #353030\ 12 | }\ 13 | .ace-pastel-on-dark {\ 14 | background-color: #2C2828;\ 15 | color: #8F938F\ 16 | }\ 17 | .ace-pastel-on-dark .ace_cursor {\ 18 | color: #A7A7A7\ 19 | }\ 20 | .ace-pastel-on-dark .ace_marker-layer .ace_selection {\ 21 | background: rgba(221, 240, 255, 0.20)\ 22 | }\ 23 | .ace-pastel-on-dark.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #2C2828;\ 25 | }\ 26 | .ace-pastel-on-dark .ace_marker-layer .ace_step {\ 27 | background: rgb(102, 82, 0)\ 28 | }\ 29 | .ace-pastel-on-dark .ace_marker-layer .ace_bracket {\ 30 | margin: -1px 0 0 -1px;\ 31 | border: 1px solid rgba(255, 255, 255, 0.25)\ 32 | }\ 33 | .ace-pastel-on-dark .ace_marker-layer .ace_active-line {\ 34 | background: rgba(255, 255, 255, 0.031)\ 35 | }\ 36 | .ace-pastel-on-dark .ace_gutter-active-line {\ 37 | background-color: rgba(255, 255, 255, 0.031)\ 38 | }\ 39 | .ace-pastel-on-dark .ace_marker-layer .ace_selected-word {\ 40 | border: 1px solid rgba(221, 240, 255, 0.20)\ 41 | }\ 42 | .ace-pastel-on-dark .ace_invisible {\ 43 | color: rgba(255, 255, 255, 0.25)\ 44 | }\ 45 | .ace-pastel-on-dark .ace_keyword,\ 46 | .ace-pastel-on-dark .ace_meta {\ 47 | color: #757aD8\ 48 | }\ 49 | .ace-pastel-on-dark .ace_constant,\ 50 | .ace-pastel-on-dark .ace_constant.ace_character,\ 51 | .ace-pastel-on-dark .ace_constant.ace_character.ace_escape,\ 52 | .ace-pastel-on-dark .ace_constant.ace_other {\ 53 | color: #4FB7C5\ 54 | }\ 55 | .ace-pastel-on-dark .ace_keyword.ace_operator {\ 56 | color: #797878\ 57 | }\ 58 | .ace-pastel-on-dark .ace_constant.ace_character {\ 59 | color: #AFA472\ 60 | }\ 61 | .ace-pastel-on-dark .ace_constant.ace_language {\ 62 | color: #DE8E30\ 63 | }\ 64 | .ace-pastel-on-dark .ace_constant.ace_numeric {\ 65 | color: #CCCCCC\ 66 | }\ 67 | .ace-pastel-on-dark .ace_invalid,\ 68 | .ace-pastel-on-dark .ace_invalid.ace_illegal {\ 69 | color: #F8F8F8;\ 70 | background-color: rgba(86, 45, 86, 0.75)\ 71 | }\ 72 | .ace-pastel-on-dark .ace_invalid.ace_deprecated {\ 73 | text-decoration: underline;\ 74 | font-style: italic;\ 75 | color: #D2A8A1\ 76 | }\ 77 | .ace-pastel-on-dark .ace_fold {\ 78 | background-color: #757aD8;\ 79 | border-color: #8F938F\ 80 | }\ 81 | .ace-pastel-on-dark .ace_support.ace_function {\ 82 | color: #AEB2F8\ 83 | }\ 84 | .ace-pastel-on-dark .ace_string {\ 85 | color: #66A968\ 86 | }\ 87 | .ace-pastel-on-dark .ace_string.ace_regexp {\ 88 | color: #E9C062\ 89 | }\ 90 | .ace-pastel-on-dark .ace_comment {\ 91 | color: #A6C6FF\ 92 | }\ 93 | .ace-pastel-on-dark .ace_variable {\ 94 | color: #BEBF55\ 95 | }\ 96 | .ace-pastel-on-dark .ace_variable.ace_language {\ 97 | color: #C1C144\ 98 | }\ 99 | .ace-pastel-on-dark .ace_xml-pe {\ 100 | color: #494949\ 101 | }\ 102 | .ace-pastel-on-dark .ace_indent-guide {\ 103 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYIiPj/8PAARgAh2NTMh8AAAAAElFTkSuQmCC) right repeat-y\ 104 | }"; 105 | 106 | var dom = require("../lib/dom"); 107 | dom.importCssString(exports.cssText, exports.cssClass); 108 | }); 109 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-solarized_dark.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/solarized_dark",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-solarized-dark"; 5 | exports.cssText = ".ace-solarized-dark .ace_gutter {\ 6 | background: #01313f;\ 7 | color: #d0edf7\ 8 | }\ 9 | .ace-solarized-dark .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #33555E\ 12 | }\ 13 | .ace-solarized-dark {\ 14 | background-color: #002B36;\ 15 | color: #93A1A1\ 16 | }\ 17 | .ace-solarized-dark .ace_entity.ace_other.ace_attribute-name,\ 18 | .ace-solarized-dark .ace_storage {\ 19 | color: #93A1A1\ 20 | }\ 21 | .ace-solarized-dark .ace_cursor,\ 22 | .ace-solarized-dark .ace_string.ace_regexp {\ 23 | color: #D30102\ 24 | }\ 25 | .ace-solarized-dark .ace_marker-layer .ace_active-line,\ 26 | .ace-solarized-dark .ace_marker-layer .ace_selection {\ 27 | background: rgba(255, 255, 255, 0.1)\ 28 | }\ 29 | .ace-solarized-dark.ace_multiselect .ace_selection.ace_start {\ 30 | box-shadow: 0 0 3px 0px #002B36;\ 31 | }\ 32 | .ace-solarized-dark .ace_marker-layer .ace_step {\ 33 | background: rgb(102, 82, 0)\ 34 | }\ 35 | .ace-solarized-dark .ace_marker-layer .ace_bracket {\ 36 | margin: -1px 0 0 -1px;\ 37 | border: 1px solid rgba(147, 161, 161, 0.50)\ 38 | }\ 39 | .ace-solarized-dark .ace_gutter-active-line {\ 40 | background-color: #0d3440\ 41 | }\ 42 | .ace-solarized-dark .ace_marker-layer .ace_selected-word {\ 43 | border: 1px solid #073642\ 44 | }\ 45 | .ace-solarized-dark .ace_invisible {\ 46 | color: rgba(147, 161, 161, 0.50)\ 47 | }\ 48 | .ace-solarized-dark .ace_keyword,\ 49 | .ace-solarized-dark .ace_meta,\ 50 | .ace-solarized-dark .ace_support.ace_class,\ 51 | .ace-solarized-dark .ace_support.ace_type {\ 52 | color: #859900\ 53 | }\ 54 | .ace-solarized-dark .ace_constant.ace_character,\ 55 | .ace-solarized-dark .ace_constant.ace_other {\ 56 | color: #CB4B16\ 57 | }\ 58 | .ace-solarized-dark .ace_constant.ace_language {\ 59 | color: #B58900\ 60 | }\ 61 | .ace-solarized-dark .ace_constant.ace_numeric {\ 62 | color: #D33682\ 63 | }\ 64 | .ace-solarized-dark .ace_fold {\ 65 | background-color: #268BD2;\ 66 | border-color: #93A1A1\ 67 | }\ 68 | .ace-solarized-dark .ace_entity.ace_name.ace_function,\ 69 | .ace-solarized-dark .ace_entity.ace_name.ace_tag,\ 70 | .ace-solarized-dark .ace_support.ace_function,\ 71 | .ace-solarized-dark .ace_variable,\ 72 | .ace-solarized-dark .ace_variable.ace_language {\ 73 | color: #268BD2\ 74 | }\ 75 | .ace-solarized-dark .ace_string {\ 76 | color: #2AA198\ 77 | }\ 78 | .ace-solarized-dark .ace_comment {\ 79 | font-style: italic;\ 80 | color: #657B83\ 81 | }\ 82 | .ace-solarized-dark .ace_indent-guide {\ 83 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNg0Db1ZVCxc/sPAAd4AlUHlLenAAAAAElFTkSuQmCC) right repeat-y\ 84 | }"; 85 | 86 | var dom = require("../lib/dom"); 87 | dom.importCssString(exports.cssText, exports.cssClass); 88 | }); 89 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-solarized_light.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/solarized_light",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = false; 4 | exports.cssClass = "ace-solarized-light"; 5 | exports.cssText = ".ace-solarized-light .ace_gutter {\ 6 | background: #fbf1d3;\ 7 | color: #333\ 8 | }\ 9 | .ace-solarized-light .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #e8e8e8\ 12 | }\ 13 | .ace-solarized-light {\ 14 | background-color: #FDF6E3;\ 15 | color: #586E75\ 16 | }\ 17 | .ace-solarized-light .ace_cursor {\ 18 | color: #000000\ 19 | }\ 20 | .ace-solarized-light .ace_marker-layer .ace_selection {\ 21 | background: rgba(7, 54, 67, 0.09)\ 22 | }\ 23 | .ace-solarized-light.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #FDF6E3;\ 25 | }\ 26 | .ace-solarized-light .ace_marker-layer .ace_step {\ 27 | background: rgb(255, 255, 0)\ 28 | }\ 29 | .ace-solarized-light .ace_marker-layer .ace_bracket {\ 30 | margin: -1px 0 0 -1px;\ 31 | border: 1px solid rgba(147, 161, 161, 0.50)\ 32 | }\ 33 | .ace-solarized-light .ace_marker-layer .ace_active-line {\ 34 | background: #EEE8D5\ 35 | }\ 36 | .ace-solarized-light .ace_gutter-active-line {\ 37 | background-color : #EDE5C1\ 38 | }\ 39 | .ace-solarized-light .ace_marker-layer .ace_selected-word {\ 40 | border: 1px solid #073642\ 41 | }\ 42 | .ace-solarized-light .ace_invisible {\ 43 | color: rgba(147, 161, 161, 0.50)\ 44 | }\ 45 | .ace-solarized-light .ace_keyword,\ 46 | .ace-solarized-light .ace_meta,\ 47 | .ace-solarized-light .ace_support.ace_class,\ 48 | .ace-solarized-light .ace_support.ace_type {\ 49 | color: #859900\ 50 | }\ 51 | .ace-solarized-light .ace_constant.ace_character,\ 52 | .ace-solarized-light .ace_constant.ace_other {\ 53 | color: #CB4B16\ 54 | }\ 55 | .ace-solarized-light .ace_constant.ace_language {\ 56 | color: #B58900\ 57 | }\ 58 | .ace-solarized-light .ace_constant.ace_numeric {\ 59 | color: #D33682\ 60 | }\ 61 | .ace-solarized-light .ace_fold {\ 62 | background-color: #268BD2;\ 63 | border-color: #586E75\ 64 | }\ 65 | .ace-solarized-light .ace_entity.ace_name.ace_function,\ 66 | .ace-solarized-light .ace_entity.ace_name.ace_tag,\ 67 | .ace-solarized-light .ace_support.ace_function,\ 68 | .ace-solarized-light .ace_variable,\ 69 | .ace-solarized-light .ace_variable.ace_language {\ 70 | color: #268BD2\ 71 | }\ 72 | .ace-solarized-light .ace_storage {\ 73 | color: #073642\ 74 | }\ 75 | .ace-solarized-light .ace_string {\ 76 | color: #2AA198\ 77 | }\ 78 | .ace-solarized-light .ace_string.ace_regexp {\ 79 | color: #D30102\ 80 | }\ 81 | .ace-solarized-light .ace_comment,\ 82 | .ace-solarized-light .ace_entity.ace_other.ace_attribute-name {\ 83 | color: #93A1A1\ 84 | }\ 85 | .ace-solarized-light .ace_indent-guide {\ 86 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHjy8NJ/AAjgA5fzQUmBAAAAAElFTkSuQmCC) right repeat-y\ 87 | }"; 88 | 89 | var dom = require("../lib/dom"); 90 | dom.importCssString(exports.cssText, exports.cssClass); 91 | }); 92 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-textmate.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | "use strict"; 3 | 4 | exports.isDark = false; 5 | exports.cssClass = "ace-tm"; 6 | exports.cssText = ".ace-tm .ace_gutter {\ 7 | background: #f0f0f0;\ 8 | color: #333;\ 9 | }\ 10 | .ace-tm .ace_print-margin {\ 11 | width: 1px;\ 12 | background: #e8e8e8;\ 13 | }\ 14 | .ace-tm .ace_fold {\ 15 | background-color: #6B72E6;\ 16 | }\ 17 | .ace-tm {\ 18 | background-color: #FFFFFF;\ 19 | color: black;\ 20 | }\ 21 | .ace-tm .ace_cursor {\ 22 | color: black;\ 23 | }\ 24 | .ace-tm .ace_invisible {\ 25 | color: rgb(191, 191, 191);\ 26 | }\ 27 | .ace-tm .ace_storage,\ 28 | .ace-tm .ace_keyword {\ 29 | color: blue;\ 30 | }\ 31 | .ace-tm .ace_constant {\ 32 | color: rgb(197, 6, 11);\ 33 | }\ 34 | .ace-tm .ace_constant.ace_buildin {\ 35 | color: rgb(88, 72, 246);\ 36 | }\ 37 | .ace-tm .ace_constant.ace_language {\ 38 | color: rgb(88, 92, 246);\ 39 | }\ 40 | .ace-tm .ace_constant.ace_library {\ 41 | color: rgb(6, 150, 14);\ 42 | }\ 43 | .ace-tm .ace_invalid {\ 44 | background-color: rgba(255, 0, 0, 0.1);\ 45 | color: red;\ 46 | }\ 47 | .ace-tm .ace_support.ace_function {\ 48 | color: rgb(60, 76, 114);\ 49 | }\ 50 | .ace-tm .ace_support.ace_constant {\ 51 | color: rgb(6, 150, 14);\ 52 | }\ 53 | .ace-tm .ace_support.ace_type,\ 54 | .ace-tm .ace_support.ace_class {\ 55 | color: rgb(109, 121, 222);\ 56 | }\ 57 | .ace-tm .ace_keyword.ace_operator {\ 58 | color: rgb(104, 118, 135);\ 59 | }\ 60 | .ace-tm .ace_string {\ 61 | color: rgb(3, 106, 7);\ 62 | }\ 63 | .ace-tm .ace_comment {\ 64 | color: rgb(76, 136, 107);\ 65 | }\ 66 | .ace-tm .ace_comment.ace_doc {\ 67 | color: rgb(0, 102, 255);\ 68 | }\ 69 | .ace-tm .ace_comment.ace_doc.ace_tag {\ 70 | color: rgb(128, 159, 191);\ 71 | }\ 72 | .ace-tm .ace_constant.ace_numeric {\ 73 | color: rgb(0, 0, 205);\ 74 | }\ 75 | .ace-tm .ace_variable {\ 76 | color: rgb(49, 132, 149);\ 77 | }\ 78 | .ace-tm .ace_xml-pe {\ 79 | color: rgb(104, 104, 91);\ 80 | }\ 81 | .ace-tm .ace_entity.ace_name.ace_function {\ 82 | color: #0000A2;\ 83 | }\ 84 | .ace-tm .ace_heading {\ 85 | color: rgb(12, 7, 255);\ 86 | }\ 87 | .ace-tm .ace_list {\ 88 | color:rgb(185, 6, 144);\ 89 | }\ 90 | .ace-tm .ace_meta.ace_tag {\ 91 | color:rgb(0, 22, 142);\ 92 | }\ 93 | .ace-tm .ace_string.ace_regex {\ 94 | color: rgb(255, 0, 0)\ 95 | }\ 96 | .ace-tm .ace_marker-layer .ace_selection {\ 97 | background: rgb(181, 213, 255);\ 98 | }\ 99 | .ace-tm.ace_multiselect .ace_selection.ace_start {\ 100 | box-shadow: 0 0 3px 0px white;\ 101 | }\ 102 | .ace-tm .ace_marker-layer .ace_step {\ 103 | background: rgb(252, 255, 0);\ 104 | }\ 105 | .ace-tm .ace_marker-layer .ace_stack {\ 106 | background: rgb(164, 229, 101);\ 107 | }\ 108 | .ace-tm .ace_marker-layer .ace_bracket {\ 109 | margin: -1px 0 0 -1px;\ 110 | border: 1px solid rgb(192, 192, 192);\ 111 | }\ 112 | .ace-tm .ace_marker-layer .ace_active-line {\ 113 | background: rgba(0, 0, 0, 0.07);\ 114 | }\ 115 | .ace-tm .ace_gutter-active-line {\ 116 | background-color : #dcdcdc;\ 117 | }\ 118 | .ace-tm .ace_marker-layer .ace_selected-word {\ 119 | background: rgb(250, 250, 255);\ 120 | border: 1px solid rgb(200, 200, 250);\ 121 | }\ 122 | .ace-tm .ace_indent-guide {\ 123 | background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\ 124 | }\ 125 | "; 126 | 127 | var dom = require("../lib/dom"); 128 | dom.importCssString(exports.cssText, exports.cssClass); 129 | }); 130 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-tomorrow.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/tomorrow",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = false; 4 | exports.cssClass = "ace-tomorrow"; 5 | exports.cssText = ".ace-tomorrow .ace_gutter {\ 6 | background: #f6f6f6;\ 7 | color: #4D4D4C\ 8 | }\ 9 | .ace-tomorrow .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #f6f6f6\ 12 | }\ 13 | .ace-tomorrow {\ 14 | background-color: #FFFFFF;\ 15 | color: #4D4D4C\ 16 | }\ 17 | .ace-tomorrow .ace_cursor {\ 18 | color: #AEAFAD\ 19 | }\ 20 | .ace-tomorrow .ace_marker-layer .ace_selection {\ 21 | background: #D6D6D6\ 22 | }\ 23 | .ace-tomorrow.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #FFFFFF;\ 25 | }\ 26 | .ace-tomorrow .ace_marker-layer .ace_step {\ 27 | background: rgb(255, 255, 0)\ 28 | }\ 29 | .ace-tomorrow .ace_marker-layer .ace_bracket {\ 30 | margin: -1px 0 0 -1px;\ 31 | border: 1px solid #D1D1D1\ 32 | }\ 33 | .ace-tomorrow .ace_marker-layer .ace_active-line {\ 34 | background: #EFEFEF\ 35 | }\ 36 | .ace-tomorrow .ace_gutter-active-line {\ 37 | background-color : #dcdcdc\ 38 | }\ 39 | .ace-tomorrow .ace_marker-layer .ace_selected-word {\ 40 | border: 1px solid #D6D6D6\ 41 | }\ 42 | .ace-tomorrow .ace_invisible {\ 43 | color: #D1D1D1\ 44 | }\ 45 | .ace-tomorrow .ace_keyword,\ 46 | .ace-tomorrow .ace_meta,\ 47 | .ace-tomorrow .ace_storage,\ 48 | .ace-tomorrow .ace_storage.ace_type,\ 49 | .ace-tomorrow .ace_support.ace_type {\ 50 | color: #8959A8\ 51 | }\ 52 | .ace-tomorrow .ace_keyword.ace_operator {\ 53 | color: #3E999F\ 54 | }\ 55 | .ace-tomorrow .ace_constant.ace_character,\ 56 | .ace-tomorrow .ace_constant.ace_language,\ 57 | .ace-tomorrow .ace_constant.ace_numeric,\ 58 | .ace-tomorrow .ace_keyword.ace_other.ace_unit,\ 59 | .ace-tomorrow .ace_support.ace_constant,\ 60 | .ace-tomorrow .ace_variable.ace_parameter {\ 61 | color: #F5871F\ 62 | }\ 63 | .ace-tomorrow .ace_constant.ace_other {\ 64 | color: #666969\ 65 | }\ 66 | .ace-tomorrow .ace_invalid {\ 67 | color: #FFFFFF;\ 68 | background-color: #C82829\ 69 | }\ 70 | .ace-tomorrow .ace_invalid.ace_deprecated {\ 71 | color: #FFFFFF;\ 72 | background-color: #8959A8\ 73 | }\ 74 | .ace-tomorrow .ace_fold {\ 75 | background-color: #4271AE;\ 76 | border-color: #4D4D4C\ 77 | }\ 78 | .ace-tomorrow .ace_entity.ace_name.ace_function,\ 79 | .ace-tomorrow .ace_support.ace_function,\ 80 | .ace-tomorrow .ace_variable {\ 81 | color: #4271AE\ 82 | }\ 83 | .ace-tomorrow .ace_support.ace_class,\ 84 | .ace-tomorrow .ace_support.ace_type {\ 85 | color: #C99E00\ 86 | }\ 87 | .ace-tomorrow .ace_heading,\ 88 | .ace-tomorrow .ace_markup.ace_heading,\ 89 | .ace-tomorrow .ace_string {\ 90 | color: #718C00\ 91 | }\ 92 | .ace-tomorrow .ace_entity.ace_name.ace_tag,\ 93 | .ace-tomorrow .ace_entity.ace_other.ace_attribute-name,\ 94 | .ace-tomorrow .ace_meta.ace_tag,\ 95 | .ace-tomorrow .ace_string.ace_regexp,\ 96 | .ace-tomorrow .ace_variable {\ 97 | color: #C82829\ 98 | }\ 99 | .ace-tomorrow .ace_comment {\ 100 | color: #8E908C\ 101 | }\ 102 | .ace-tomorrow .ace_indent-guide {\ 103 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bdu3f/BwAlfgctduB85QAAAABJRU5ErkJggg==) right repeat-y\ 104 | }"; 105 | 106 | var dom = require("../lib/dom"); 107 | dom.importCssString(exports.cssText, exports.cssClass); 108 | }); 109 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-twilight.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/twilight",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-twilight"; 5 | exports.cssText = ".ace-twilight .ace_gutter {\ 6 | background: #232323;\ 7 | color: #E2E2E2\ 8 | }\ 9 | .ace-twilight .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #232323\ 12 | }\ 13 | .ace-twilight {\ 14 | background-color: #141414;\ 15 | color: #F8F8F8\ 16 | }\ 17 | .ace-twilight .ace_cursor {\ 18 | color: #A7A7A7\ 19 | }\ 20 | .ace-twilight .ace_marker-layer .ace_selection {\ 21 | background: rgba(221, 240, 255, 0.20)\ 22 | }\ 23 | .ace-twilight.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #141414;\ 25 | }\ 26 | .ace-twilight .ace_marker-layer .ace_step {\ 27 | background: rgb(102, 82, 0)\ 28 | }\ 29 | .ace-twilight .ace_marker-layer .ace_bracket {\ 30 | margin: -1px 0 0 -1px;\ 31 | border: 1px solid rgba(255, 255, 255, 0.25)\ 32 | }\ 33 | .ace-twilight .ace_marker-layer .ace_active-line {\ 34 | background: rgba(255, 255, 255, 0.031)\ 35 | }\ 36 | .ace-twilight .ace_gutter-active-line {\ 37 | background-color: rgba(255, 255, 255, 0.031)\ 38 | }\ 39 | .ace-twilight .ace_marker-layer .ace_selected-word {\ 40 | border: 1px solid rgba(221, 240, 255, 0.20)\ 41 | }\ 42 | .ace-twilight .ace_invisible {\ 43 | color: rgba(255, 255, 255, 0.25)\ 44 | }\ 45 | .ace-twilight .ace_keyword,\ 46 | .ace-twilight .ace_meta {\ 47 | color: #CDA869\ 48 | }\ 49 | .ace-twilight .ace_constant,\ 50 | .ace-twilight .ace_constant.ace_character,\ 51 | .ace-twilight .ace_constant.ace_character.ace_escape,\ 52 | .ace-twilight .ace_constant.ace_other,\ 53 | .ace-twilight .ace_heading,\ 54 | .ace-twilight .ace_markup.ace_heading,\ 55 | .ace-twilight .ace_support.ace_constant {\ 56 | color: #CF6A4C\ 57 | }\ 58 | .ace-twilight .ace_invalid.ace_illegal {\ 59 | color: #F8F8F8;\ 60 | background-color: rgba(86, 45, 86, 0.75)\ 61 | }\ 62 | .ace-twilight .ace_invalid.ace_deprecated {\ 63 | text-decoration: underline;\ 64 | font-style: italic;\ 65 | color: #D2A8A1\ 66 | }\ 67 | .ace-twilight .ace_support {\ 68 | color: #9B859D\ 69 | }\ 70 | .ace-twilight .ace_fold {\ 71 | background-color: #AC885B;\ 72 | border-color: #F8F8F8\ 73 | }\ 74 | .ace-twilight .ace_support.ace_function {\ 75 | color: #DAD085\ 76 | }\ 77 | .ace-twilight .ace_list,\ 78 | .ace-twilight .ace_markup.ace_list,\ 79 | .ace-twilight .ace_storage {\ 80 | color: #F9EE98\ 81 | }\ 82 | .ace-twilight .ace_entity.ace_name.ace_function,\ 83 | .ace-twilight .ace_meta.ace_tag,\ 84 | .ace-twilight .ace_variable {\ 85 | color: #AC885B\ 86 | }\ 87 | .ace-twilight .ace_string {\ 88 | color: #8F9D6A\ 89 | }\ 90 | .ace-twilight .ace_string.ace_regexp {\ 91 | color: #E9C062\ 92 | }\ 93 | .ace-twilight .ace_comment {\ 94 | font-style: italic;\ 95 | color: #5F5A60\ 96 | }\ 97 | .ace-twilight .ace_variable {\ 98 | color: #7587A6\ 99 | }\ 100 | .ace-twilight .ace_xml-pe {\ 101 | color: #494949\ 102 | }\ 103 | .ace-twilight .ace_indent-guide {\ 104 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y\ 105 | }"; 106 | 107 | var dom = require("../lib/dom"); 108 | dom.importCssString(exports.cssText, exports.cssClass); 109 | }); 110 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-vibrant_ink.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/vibrant_ink",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = true; 4 | exports.cssClass = "ace-vibrant-ink"; 5 | exports.cssText = ".ace-vibrant-ink .ace_gutter {\ 6 | background: #1a1a1a;\ 7 | color: #BEBEBE\ 8 | }\ 9 | .ace-vibrant-ink .ace_print-margin {\ 10 | width: 1px;\ 11 | background: #1a1a1a\ 12 | }\ 13 | .ace-vibrant-ink {\ 14 | background-color: #0F0F0F;\ 15 | color: #FFFFFF\ 16 | }\ 17 | .ace-vibrant-ink .ace_cursor {\ 18 | color: #FFFFFF\ 19 | }\ 20 | .ace-vibrant-ink .ace_marker-layer .ace_selection {\ 21 | background: #6699CC\ 22 | }\ 23 | .ace-vibrant-ink.ace_multiselect .ace_selection.ace_start {\ 24 | box-shadow: 0 0 3px 0px #0F0F0F;\ 25 | }\ 26 | .ace-vibrant-ink .ace_marker-layer .ace_step {\ 27 | background: rgb(102, 82, 0)\ 28 | }\ 29 | .ace-vibrant-ink .ace_marker-layer .ace_bracket {\ 30 | margin: -1px 0 0 -1px;\ 31 | border: 1px solid #404040\ 32 | }\ 33 | .ace-vibrant-ink .ace_marker-layer .ace_active-line {\ 34 | background: #333333\ 35 | }\ 36 | .ace-vibrant-ink .ace_gutter-active-line {\ 37 | background-color: #333333\ 38 | }\ 39 | .ace-vibrant-ink .ace_marker-layer .ace_selected-word {\ 40 | border: 1px solid #6699CC\ 41 | }\ 42 | .ace-vibrant-ink .ace_invisible {\ 43 | color: #404040\ 44 | }\ 45 | .ace-vibrant-ink .ace_keyword,\ 46 | .ace-vibrant-ink .ace_meta {\ 47 | color: #FF6600\ 48 | }\ 49 | .ace-vibrant-ink .ace_constant,\ 50 | .ace-vibrant-ink .ace_constant.ace_character,\ 51 | .ace-vibrant-ink .ace_constant.ace_character.ace_escape,\ 52 | .ace-vibrant-ink .ace_constant.ace_other {\ 53 | color: #339999\ 54 | }\ 55 | .ace-vibrant-ink .ace_constant.ace_numeric {\ 56 | color: #99CC99\ 57 | }\ 58 | .ace-vibrant-ink .ace_invalid,\ 59 | .ace-vibrant-ink .ace_invalid.ace_deprecated {\ 60 | color: #CCFF33;\ 61 | background-color: #000000\ 62 | }\ 63 | .ace-vibrant-ink .ace_fold {\ 64 | background-color: #FFCC00;\ 65 | border-color: #FFFFFF\ 66 | }\ 67 | .ace-vibrant-ink .ace_entity.ace_name.ace_function,\ 68 | .ace-vibrant-ink .ace_support.ace_function,\ 69 | .ace-vibrant-ink .ace_variable {\ 70 | color: #FFCC00\ 71 | }\ 72 | .ace-vibrant-ink .ace_variable.ace_parameter {\ 73 | font-style: italic\ 74 | }\ 75 | .ace-vibrant-ink .ace_string {\ 76 | color: #66FF00\ 77 | }\ 78 | .ace-vibrant-ink .ace_string.ace_regexp {\ 79 | color: #44B4CC\ 80 | }\ 81 | .ace-vibrant-ink .ace_comment {\ 82 | color: #9933CC\ 83 | }\ 84 | .ace-vibrant-ink .ace_entity.ace_other.ace_attribute-name {\ 85 | font-style: italic;\ 86 | color: #99CC99\ 87 | }\ 88 | .ace-vibrant-ink .ace_indent-guide {\ 89 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYNDTc/oPAALPAZ7hxlbYAAAAAElFTkSuQmCC) right repeat-y\ 90 | }"; 91 | 92 | var dom = require("../lib/dom"); 93 | dom.importCssString(exports.cssText, exports.cssClass); 94 | }); 95 | -------------------------------------------------------------------------------- /static/hackIDE/ace-builds/src/theme-xcode.js: -------------------------------------------------------------------------------- 1 | ace.define("ace/theme/xcode",["require","exports","module","ace/lib/dom"], function(require, exports, module) { 2 | 3 | exports.isDark = false; 4 | exports.cssClass = "ace-xcode"; 5 | exports.cssText = "\ 6 | .ace-xcode .ace_gutter {\ 7 | background: #e8e8e8;\ 8 | color: #333\ 9 | }\ 10 | .ace-xcode .ace_print-margin {\ 11 | width: 1px;\ 12 | background: #e8e8e8\ 13 | }\ 14 | .ace-xcode {\ 15 | background-color: #FFFFFF;\ 16 | color: #000000\ 17 | }\ 18 | .ace-xcode .ace_cursor {\ 19 | color: #000000\ 20 | }\ 21 | .ace-xcode .ace_marker-layer .ace_selection {\ 22 | background: #B5D5FF\ 23 | }\ 24 | .ace-xcode.ace_multiselect .ace_selection.ace_start {\ 25 | box-shadow: 0 0 3px 0px #FFFFFF;\ 26 | }\ 27 | .ace-xcode .ace_marker-layer .ace_step {\ 28 | background: rgb(198, 219, 174)\ 29 | }\ 30 | .ace-xcode .ace_marker-layer .ace_bracket {\ 31 | margin: -1px 0 0 -1px;\ 32 | border: 1px solid #BFBFBF\ 33 | }\ 34 | .ace-xcode .ace_marker-layer .ace_active-line {\ 35 | background: rgba(0, 0, 0, 0.071)\ 36 | }\ 37 | .ace-xcode .ace_gutter-active-line {\ 38 | background-color: rgba(0, 0, 0, 0.071)\ 39 | }\ 40 | .ace-xcode .ace_marker-layer .ace_selected-word {\ 41 | border: 1px solid #B5D5FF\ 42 | }\ 43 | .ace-xcode .ace_constant.ace_language,\ 44 | .ace-xcode .ace_keyword,\ 45 | .ace-xcode .ace_meta,\ 46 | .ace-xcode .ace_variable.ace_language {\ 47 | color: #C800A4\ 48 | }\ 49 | .ace-xcode .ace_invisible {\ 50 | color: #BFBFBF\ 51 | }\ 52 | .ace-xcode .ace_constant.ace_character,\ 53 | .ace-xcode .ace_constant.ace_other {\ 54 | color: #275A5E\ 55 | }\ 56 | .ace-xcode .ace_constant.ace_numeric {\ 57 | color: #3A00DC\ 58 | }\ 59 | .ace-xcode .ace_entity.ace_other.ace_attribute-name,\ 60 | .ace-xcode .ace_support.ace_constant,\ 61 | .ace-xcode .ace_support.ace_function {\ 62 | color: #450084\ 63 | }\ 64 | .ace-xcode .ace_fold {\ 65 | background-color: #C800A4;\ 66 | border-color: #000000\ 67 | }\ 68 | .ace-xcode .ace_entity.ace_name.ace_tag,\ 69 | .ace-xcode .ace_support.ace_class,\ 70 | .ace-xcode .ace_support.ace_type {\ 71 | color: #790EAD\ 72 | }\ 73 | .ace-xcode .ace_storage {\ 74 | color: #C900A4\ 75 | }\ 76 | .ace-xcode .ace_string {\ 77 | color: #DF0002\ 78 | }\ 79 | .ace-xcode .ace_comment {\ 80 | color: #008E00\ 81 | }\ 82 | .ace-xcode .ace_indent-guide {\ 83 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==) right repeat-y\ 84 | }"; 85 | 86 | var dom = require("../lib/dom"); 87 | dom.importCssString(exports.cssText, exports.cssClass); 88 | }); 89 | -------------------------------------------------------------------------------- /static/img/Loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easytrader/StrategyCeleryWebsite/08b75404b035f60e5b46be897a2e791afbd455d4/static/img/Loading.gif -------------------------------------------------------------------------------- /static/img/backtest_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easytrader/StrategyCeleryWebsite/08b75404b035f60e5b46be897a2e791afbd455d4/static/img/backtest_result.png -------------------------------------------------------------------------------- /static/js/new_strategy.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | //alert("leo test") 3 | var editor1 = ace.edit("editor1"); 4 | editor1.setTheme("ace/theme/twilight"); 5 | editor1.getSession().setMode("ace/mode/python"); 6 | editor1.setFontSize(15); 7 | //editor1.setValue("def main():\n # Your code goes here\n\nif __name__ == \"__main__\":\n main()"); 8 | 9 | var editor2 = ace.edit("editor2"); 10 | editor2.setTheme("ace/theme/twilight"); 11 | editor2.getSession().setMode("ace/mode/python"); 12 | editor2.setFontSize(15); 13 | //editor2.setValue("def main():\n print(\"leo\")"); 14 | 15 | 16 | $('.save-strategy').click(function(){ 17 | //alert("leo test 1"); 18 | var begin_date = document.getElementById("begin_date").value 19 | var end_date = document.getElementById("end_date").value 20 | console.log('am i called'); 21 | //alert("leo test") 22 | $.ajax({ 23 | type: "POST", 24 | url: "/new_strategy_save/", 25 | dataType: "json", 26 | data: { "strategy_content": editor1.getValue(),"position_content": editor2.getValue(),"name":$(".Strategy-name").val() }, 27 | success: function(data) { 28 | //alert(data["name"]); 29 | } 30 | }); 31 | 32 | }); 33 | 34 | $('.run-strategy').click(function(){ 35 | //alert("leo test 1"); 36 | console.log('am i called'); 37 | //alert(begin_date.value) 38 | $.ajax({ 39 | type: "POST", 40 | url: "/strategy_run/", 41 | dataType: "json", 42 | data: { "strategy_content": editor1.getValue(),"position_content": editor2.getValue(),"name":$(".Strategy-name").val() ,"tickers": $('input[name="tickers"]').val(),"begin_date": begin_date.value ,"end_date": end_date.value }, 43 | beforeSend: function(){ 44 | $('#loadingIMG').show(); 45 | }, 46 | complete: function(){ 47 | $('#loadingIMG').hide(); 48 | }, 49 | success: function (response) { 50 | //alert("You will now be redirected."); 51 | window.location = "/strategy_run/"; 52 | 53 | }, 54 | }); 55 | 56 | }); 57 | 58 | // CSRF code 59 | function getCookie(name) { 60 | var cookieValue = null; 61 | var i = 0; 62 | if (document.cookie && document.cookie !== '') { 63 | var cookies = document.cookie.split(';'); 64 | for (i; i < cookies.length; i++) { 65 | var cookie = jQuery.trim(cookies[i]); 66 | // Does this cookie string begin with the name we want? 67 | if (cookie.substring(0, name.length + 1) === (name + '=')) { 68 | cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); 69 | break; 70 | } 71 | } 72 | } 73 | return cookieValue; 74 | } 75 | var csrftoken = getCookie('csrftoken'); 76 | 77 | function csrfSafeMethod(method) { 78 | // these HTTP methods do not require CSRF protection 79 | return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method)); 80 | } 81 | $.ajaxSetup({ 82 | crossDomain: false, // obviates need for sameOrigin test 83 | beforeSend: function(xhr, settings) { 84 | if (!csrfSafeMethod(settings.type)) { 85 | xhr.setRequestHeader("X-CSRFToken", csrftoken); 86 | } 87 | } 88 | }); 89 | 90 | 91 | }); 92 | 93 | -------------------------------------------------------------------------------- /static/js/running_jobs.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | //alert("leo test") 3 | 4 | $('.del-aps').click(function(){ 5 | // Get the number starting from the ID's 6th character 6 | // This assumes that the common prefix is "mydiv" 7 | //var i = Number(this.id); 8 | 9 | //alert('you clicked ' + i); 10 | alert('del-aps'); 11 | $.ajax({ 12 | type: "POST", 13 | url: "/aps/del/", 14 | dataType: "json", 15 | data: {"job-id":this.id}, 16 | success: function(data) { 17 | //alert("leo test in success"); 18 | //alert("You will now be redirected."); 19 | window.location = "/running_jobs/"; 20 | }, 21 | }); 22 | }); 23 | 24 | // CSRF code 25 | function getCookie(name) { 26 | var cookieValue = null; 27 | var i = 0; 28 | if (document.cookie && document.cookie !== '') { 29 | var cookies = document.cookie.split(';'); 30 | for (i; i < cookies.length; i++) { 31 | var cookie = jQuery.trim(cookies[i]); 32 | // Does this cookie string begin with the name we want? 33 | if (cookie.substring(0, name.length + 1) === (name + '=')) { 34 | cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); 35 | break; 36 | } 37 | } 38 | } 39 | return cookieValue; 40 | } 41 | var csrftoken = getCookie('csrftoken'); 42 | 43 | function csrfSafeMethod(method) { 44 | // these HTTP methods do not require CSRF protection 45 | return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method)); 46 | } 47 | $.ajaxSetup({ 48 | crossDomain: false, // obviates need for sameOrigin test 49 | beforeSend: function(xhr, settings) { 50 | if (!csrfSafeMethod(settings.type)) { 51 | xhr.setRequestHeader("X-CSRFToken", csrftoken); 52 | } 53 | } 54 | }); 55 | }); 56 | 57 | -------------------------------------------------------------------------------- /static/js/strategy.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | //alert("leo test") 3 | 4 | 5 | 6 | $('.del-strategy').click(function(){ 7 | //alert("leo test 1"); 8 | console.log('am i called'); 9 | //alert("leo test") 10 | //document.getElementById('strategy_checkbox').checked; 11 | var checkedValue = $('.strategy_checkbox:checked').val(); 12 | //alert(checkedValue.toString()); 13 | $.ajax({ 14 | type: "POST", 15 | url: "/strategy/del/", 16 | dataType: "json", 17 | data: { "checkedValue":checkedValue }, 18 | success: function(data) { 19 | //alert("leo test in success"); 20 | //alert("You will now be redirected."); 21 | window.location = "/strategy/"; 22 | }, 23 | }); 24 | 25 | }); 26 | 27 | // CSRF code 28 | function getCookie(name) { 29 | var cookieValue = null; 30 | var i = 0; 31 | if (document.cookie && document.cookie !== '') { 32 | var cookies = document.cookie.split(';'); 33 | for (i; i < cookies.length; i++) { 34 | var cookie = jQuery.trim(cookies[i]); 35 | // Does this cookie string begin with the name we want? 36 | if (cookie.substring(0, name.length + 1) === (name + '=')) { 37 | cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); 38 | break; 39 | } 40 | } 41 | } 42 | return cookieValue; 43 | } 44 | var csrftoken = getCookie('csrftoken'); 45 | 46 | function csrfSafeMethod(method) { 47 | // these HTTP methods do not require CSRF protection 48 | return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method)); 49 | } 50 | $.ajaxSetup({ 51 | crossDomain: false, // obviates need for sameOrigin test 52 | beforeSend: function(xhr, settings) { 53 | if (!csrfSafeMethod(settings.type)) { 54 | xhr.setRequestHeader("X-CSRFToken", csrftoken); 55 | } 56 | } 57 | }); 58 | }); 59 | 60 | -------------------------------------------------------------------------------- /static/js/strategy_page.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | //alert("leo test") 3 | 4 | 5 | $('.save-strategy').click(function(){ 6 | //alert("leo test 1"); 7 | console.log('am i called'); 8 | var path = window.location.pathname 9 | var str = path.split("/"); 10 | //alert(str) 11 | //alert(str[2]) 12 | $.ajax({ 13 | type: "POST", 14 | url: "/strategy_modify/", 15 | dataType: "json", 16 | data: { "strategy_content": editor1.getValue(),"position_content": editor2.getValue(),"pk_key":parseInt(str[2])}, 17 | success: function(data) { 18 | //alert(data["name"]); 19 | } 20 | }); 21 | 22 | }); 23 | 24 | $('.run-strategy').click(function(){ 25 | //alert("leo test 1"); 26 | console.log('am i called'); 27 | var url = window.location.pathname; 28 | var strategy_id = url.substring(url.lastIndexOf('/') + 1); 29 | //alert("leo test") 30 | $.ajax({ 31 | type: "POST", 32 | url: "/strategy_run/"+strategy_id, 33 | dataType: "json", 34 | data: { "strategy_content": editor1.getValue(),"position_content": editor2.getValue() ,"tickers": $('input[name="tickers"]').val(),"begin_date": begin_date.value ,"end_date": end_date.value}, 35 | beforeSend: function(){ 36 | $('#loadingIMG').show(); 37 | }, 38 | complete: function(){ 39 | $('#loadingIMG').hide(); 40 | }, 41 | success: function (response) { 42 | //alert("You will now be redirected."); 43 | window.location = "/strategy_run/"+strategy_id; 44 | 45 | }, 46 | }); 47 | 48 | }); 49 | 50 | 51 | // CSRF code 52 | function getCookie(name) { 53 | var cookieValue = null; 54 | var i = 0; 55 | if (document.cookie && document.cookie !== '') { 56 | var cookies = document.cookie.split(';'); 57 | for (i; i < cookies.length; i++) { 58 | var cookie = jQuery.trim(cookies[i]); 59 | // Does this cookie string begin with the name we want? 60 | if (cookie.substring(0, name.length + 1) === (name + '=')) { 61 | cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); 62 | break; 63 | } 64 | } 65 | } 66 | return cookieValue; 67 | } 68 | var csrftoken = getCookie('csrftoken'); 69 | 70 | function csrfSafeMethod(method) { 71 | // these HTTP methods do not require CSRF protection 72 | return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method)); 73 | } 74 | $.ajaxSetup({ 75 | crossDomain: false, // obviates need for sameOrigin test 76 | beforeSend: function(xhr, settings) { 77 | if (!csrfSafeMethod(settings.type)) { 78 | xhr.setRequestHeader("X-CSRFToken", csrftoken); 79 | } 80 | } 81 | }); 82 | 83 | 84 | }); 85 | 86 | -------------------------------------------------------------------------------- /static/js/strategy_run.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | $('.daily-run').click(function(){ 3 | alert("leo test daily-run"); 4 | console.log('am i called'); 5 | var url = window.location.pathname; 6 | var strategy_id = url.substring(url.lastIndexOf('/') + 1); 7 | //alert(str) 8 | //alert(str[2]) 9 | $.ajax({ 10 | type: "POST", 11 | url: "/daily_run_strategy/", 12 | dataType: "json", 13 | data: {"strategy_id":strategy_id }, 14 | success: function(data) { 15 | //alert(data["name"]); 16 | } 17 | }); 18 | 19 | }); 20 | 21 | $('.daily-del').click(function(){ 22 | alert("leo test daily-DEL"); 23 | console.log('am i called'); 24 | var url = window.location.pathname; 25 | var strategy_id = url.substring(url.lastIndexOf('/') + 1); 26 | //alert(str) 27 | //alert(str[2]) 28 | $.ajax({ 29 | type: "POST", 30 | url: "/del_daily_run_strategy/", 31 | dataType: "json", 32 | data: {"strategy_id":strategy_id }, 33 | success: function(data) { 34 | //alert(data["name"]); 35 | } 36 | }); 37 | 38 | }); 39 | // CSRF code 40 | function getCookie(name) { 41 | var cookieValue = null; 42 | var i = 0; 43 | if (document.cookie && document.cookie !== '') { 44 | var cookies = document.cookie.split(';'); 45 | for (i; i < cookies.length; i++) { 46 | var cookie = jQuery.trim(cookies[i]); 47 | // Does this cookie string begin with the name we want? 48 | if (cookie.substring(0, name.length + 1) === (name + '=')) { 49 | cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); 50 | break; 51 | } 52 | } 53 | } 54 | return cookieValue; 55 | } 56 | var csrftoken = getCookie('csrftoken'); 57 | 58 | function csrfSafeMethod(method) { 59 | // these HTTP methods do not require CSRF protection 60 | return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method)); 61 | } 62 | $.ajaxSetup({ 63 | crossDomain: false, // obviates need for sameOrigin test 64 | beforeSend: function(xhr, settings) { 65 | if (!csrfSafeMethod(settings.type)) { 66 | xhr.setRequestHeader("X-CSRFToken", csrftoken); 67 | } 68 | } 69 | }); 70 | 71 | }); 72 | 73 | -------------------------------------------------------------------------------- /strategyceleryapp/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easytrader/StrategyCeleryWebsite/08b75404b035f60e5b46be897a2e791afbd455d4/strategyceleryapp/__init__.py -------------------------------------------------------------------------------- /strategyceleryapp/admin.py: -------------------------------------------------------------------------------- 1 | # @Author: Chen yunsheng(Leo YS CHen) 2 | # @Location: Taiwan 3 | # @E-mail:leoyenschen@gmail.com 4 | # @Date: 2017-02-14 00:11:27 5 | # @Last Modified by: Chen yunsheng 6 | 7 | from django.contrib import admin 8 | 9 | # Register your models here. 10 | -------------------------------------------------------------------------------- /strategyceleryapp/apps.py: -------------------------------------------------------------------------------- 1 | # @Author: Chen yunsheng(Leo YS CHen) 2 | # @Location: Taiwan 3 | # @E-mail:leoyenschen@gmail.com 4 | # @Date: 2017-02-14 00:11:27 5 | # @Last Modified by: Chen yunsheng 6 | 7 | from __future__ import unicode_literals 8 | 9 | from django.apps import AppConfig 10 | 11 | 12 | class StrategyceleryappConfig(AppConfig): 13 | name = 'strategyceleryapp' 14 | -------------------------------------------------------------------------------- /strategyceleryapp/forms.py: -------------------------------------------------------------------------------- 1 | # @Author: Chen yunsheng(Leo YS CHen) 2 | # @Location: Taiwan 3 | # @E-mail:leoyenschen@gmail.com 4 | # @Date: 2017-02-14 00:11:27 5 | # @Last Modified by: Chen yunsheng 6 | 7 | from django import forms 8 | from . import models 9 | #from captcha.fields import CaptchaField 10 | 11 | class LoginForm(forms.Form): 12 | username = forms.CharField(label='name', max_length=10) 13 | password = forms.CharField(label='password', widget=forms.PasswordInput()) -------------------------------------------------------------------------------- /strategyceleryapp/migrations/0001_initial.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by Django 1.9.7 on 2017-02-17 07:22 3 | from __future__ import unicode_literals 4 | 5 | from django.conf import settings 6 | from django.db import migrations, models 7 | import django.db.models.deletion 8 | 9 | 10 | class Migration(migrations.Migration): 11 | 12 | initial = True 13 | 14 | dependencies = [ 15 | migrations.swappable_dependency(settings.AUTH_USER_MODEL), 16 | ] 17 | 18 | operations = [ 19 | migrations.CreateModel( 20 | name='Strategy', 21 | fields=[ 22 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 23 | ('mod_date', models.DateTimeField(auto_now=True)), 24 | ('strategy_name', models.CharField(max_length=20)), 25 | ('strategy', models.TextField()), 26 | ('position', models.TextField()), 27 | ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), 28 | ], 29 | ), 30 | ] 31 | -------------------------------------------------------------------------------- /strategyceleryapp/migrations/0002_daily_price_symbol.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by Django 1.9.7 on 2017-02-18 07:26 3 | from __future__ import unicode_literals 4 | 5 | from django.db import migrations, models 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | dependencies = [ 11 | ('strategyceleryapp', '0001_initial'), 12 | ] 13 | 14 | operations = [ 15 | migrations.CreateModel( 16 | name='daily_price', 17 | fields=[ 18 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 19 | ('symbol_id', models.IntegerField()), 20 | ('price_date', models.DateTimeField()), 21 | ('created_date', models.DateTimeField()), 22 | ('last_updated_date', models.DateTimeField()), 23 | ('open_price', models.DecimalField(decimal_places=4, max_digits=19)), 24 | ('high_price', models.DecimalField(decimal_places=4, max_digits=19)), 25 | ('low_price', models.DecimalField(decimal_places=4, max_digits=19)), 26 | ('close_price', models.DecimalField(decimal_places=4, max_digits=19)), 27 | ('adj_close_price', models.DecimalField(decimal_places=4, max_digits=19)), 28 | ('volume', models.BigIntegerField()), 29 | ], 30 | ), 31 | migrations.CreateModel( 32 | name='symbol', 33 | fields=[ 34 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 35 | ('ticker', models.CharField(max_length=40)), 36 | ('name', models.CharField(max_length=200)), 37 | ('created_date', models.DateTimeField(auto_now=True)), 38 | ('last_updated_date', models.DateTimeField(auto_now=True)), 39 | ], 40 | ), 41 | ] 42 | -------------------------------------------------------------------------------- /strategyceleryapp/migrations/0003_strategy_output.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by Django 1.9.7 on 2017-02-20 02:30 3 | from __future__ import unicode_literals 4 | 5 | from django.conf import settings 6 | from django.db import migrations, models 7 | import django.db.models.deletion 8 | 9 | 10 | class Migration(migrations.Migration): 11 | 12 | dependencies = [ 13 | migrations.swappable_dependency(settings.AUTH_USER_MODEL), 14 | ('strategyceleryapp', '0002_daily_price_symbol'), 15 | ] 16 | 17 | operations = [ 18 | migrations.CreateModel( 19 | name='strategy_output', 20 | fields=[ 21 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 22 | ('strategy_output', models.TextField()), 23 | ('strategy_error', models.TextField()), 24 | ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), 25 | ], 26 | ), 27 | ] 28 | -------------------------------------------------------------------------------- /strategyceleryapp/migrations/0004_auto_20170220_0912.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by Django 1.9.7 on 2017-02-20 09:12 3 | from __future__ import unicode_literals 4 | 5 | from django.db import migrations, models 6 | import django.db.models.deletion 7 | 8 | 9 | class Migration(migrations.Migration): 10 | 11 | dependencies = [ 12 | ('strategyceleryapp', '0003_strategy_output'), 13 | ] 14 | 15 | operations = [ 16 | migrations.AddField( 17 | model_name='symbol', 18 | name='currency', 19 | field=models.CharField(default='USD', max_length=64), 20 | ), 21 | migrations.AddField( 22 | model_name='symbol', 23 | name='instrument', 24 | field=models.CharField(default='stock', max_length=64), 25 | ), 26 | migrations.AddField( 27 | model_name='symbol', 28 | name='sector', 29 | field=models.CharField(default=None, max_length=200), 30 | ), 31 | migrations.AlterField( 32 | model_name='daily_price', 33 | name='symbol_id', 34 | field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='strategyceleryapp.symbol'), 35 | ), 36 | ] 37 | -------------------------------------------------------------------------------- /strategyceleryapp/migrations/0005_auto_20170221_0341.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by Django 1.9.7 on 2017-02-21 03:41 3 | from __future__ import unicode_literals 4 | 5 | from django.db import migrations 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | dependencies = [ 11 | ('strategyceleryapp', '0004_auto_20170220_0912'), 12 | ] 13 | 14 | operations = [ 15 | migrations.RenameField( 16 | model_name='daily_price', 17 | old_name='symbol_id', 18 | new_name='symbol', 19 | ), 20 | ] 21 | -------------------------------------------------------------------------------- /strategyceleryapp/migrations/0006_auto_20170614_0629.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by Django 1.9.4 on 2017-06-14 06:29 3 | from __future__ import unicode_literals 4 | 5 | from django.db import migrations, models 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | dependencies = [ 11 | ('strategyceleryapp', '0005_auto_20170221_0341'), 12 | ] 13 | 14 | operations = [ 15 | migrations.AddField( 16 | model_name='strategy', 17 | name='tickers', 18 | field=models.TextField(default=''), 19 | ), 20 | migrations.AlterUniqueTogether( 21 | name='strategy', 22 | unique_together=set([('user', 'strategy_name')]), 23 | ), 24 | ] 25 | -------------------------------------------------------------------------------- /strategyceleryapp/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easytrader/StrategyCeleryWebsite/08b75404b035f60e5b46be897a2e791afbd455d4/strategyceleryapp/migrations/__init__.py -------------------------------------------------------------------------------- /strategyceleryapp/models.py: -------------------------------------------------------------------------------- 1 | # @Author: Chen yunsheng(Leo YS CHen) 2 | # @Location: Taiwan 3 | # @E-mail:leoyenschen@gmail.com 4 | # @Date: 2017-02-14 00:11:27 5 | # @Last Modified by: Chen yunsheng 6 | 7 | from __future__ import unicode_literals 8 | 9 | from django.db import models 10 | from django.contrib.auth.models import User 11 | #import django.utils.timezone as timezone 12 | 13 | # Create your models here. 14 | class Strategy(models.Model): 15 | user = models.ForeignKey(User, on_delete=models.CASCADE) 16 | mod_date = models.DateTimeField(auto_now=True) 17 | strategy_name = models.CharField(max_length=20) 18 | strategy = models.TextField() 19 | position = models.TextField() 20 | tickers = models.TextField(default="") 21 | 22 | class Meta: 23 | unique_together = ("user", "strategy_name") 24 | 25 | class strategy_output(models.Model): 26 | user = models.ForeignKey(User, on_delete=models.CASCADE) 27 | strategy_output = models.TextField() 28 | strategy_error = models.TextField() 29 | 30 | class symbol(models.Model): 31 | ticker = models.CharField(max_length=40) 32 | instrument = models.CharField(max_length=64, default='stock') 33 | name = models.CharField(max_length=200) 34 | sector = models.CharField(max_length=200, default=None) 35 | currency = models.CharField(max_length=64, default='USD') 36 | created_date = models.DateTimeField(auto_now=True) 37 | last_updated_date = models.DateTimeField(auto_now=True) 38 | 39 | class daily_price(models.Model): 40 | symbol = models.ForeignKey(symbol) 41 | price_date = models.DateTimeField() 42 | created_date = models.DateTimeField() 43 | last_updated_date = models.DateTimeField() 44 | open_price = models.DecimalField(max_digits=19, decimal_places=4) 45 | high_price = models.DecimalField(max_digits=19, decimal_places=4) 46 | low_price = models.DecimalField(max_digits=19, decimal_places=4) 47 | close_price = models.DecimalField(max_digits=19, decimal_places=4) 48 | adj_close_price = models.DecimalField(max_digits=19, decimal_places=4) 49 | volume = models.BigIntegerField() -------------------------------------------------------------------------------- /strategyceleryapp/tasks.py: -------------------------------------------------------------------------------- 1 | # @Author: Chen yunsheng(Leo YS CHen) 2 | # @Location: Taiwan 3 | # @E-mail:leoyenschen@gmail.com 4 | # @Date: 2017-02-14 00:11:27 5 | # @Last Modified by: Chen yunsheng 6 | 7 | from StrategyCelery.celery import app 8 | from .models import daily_price 9 | 10 | @app.task 11 | def hello_world(): 12 | print('Hello World,fvf') 13 | 14 | @app.task 15 | def test_sqlite(): 16 | print("test_sqlite") 17 | daily_prices = daily_price.objects.all() 18 | print(daily_prices) 19 | print("daily_prices['high_price']") 20 | print(daily_prices[0].high_price) 21 | 22 | 23 | -------------------------------------------------------------------------------- /strategyceleryapp/tests.py: -------------------------------------------------------------------------------- 1 | # @Author: Chen yunsheng(Leo YS CHen) 2 | # @Location: Taiwan 3 | # @E-mail:leoyenschen@gmail.com 4 | # @Date: 2017-02-14 00:11:27 5 | # @Last Modified by: Chen yunsheng 6 | 7 | from django.test import TestCase 8 | 9 | # Create your tests here. 10 | -------------------------------------------------------------------------------- /templates/base.html: -------------------------------------------------------------------------------- 1 | {% load staticfiles %} 2 | 3 | 4 | 5 | 6 | 7 | {% block title %}{% endblock %} 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 21 | 22 | 23 | {% include "header.html" %} 24 | {% block content %}{% endblock %} 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /templates/contact.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "base.html" %} 3 | {% block title %}連絡管理員{% endblock %} 4 | {% block content %} 5 |
6 | {% if message %} 7 |
{{ message }}
8 | {% endif %} 9 |
10 |
11 |
12 | {% csrf_token %} 13 |

寫信給管理員

14 |
15 |
16 | {{ form.as_p }} 17 |
18 | 22 |
23 |
24 | {% endblock %} 25 | 26 | 27 | -------------------------------------------------------------------------------- /templates/header.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "base.html" %} 3 | {% block title %}分享日記{% endblock %} 4 | {% block content %} 5 |
6 | {% for message in messages %} 7 |
{{ message }}
8 | {% endfor %} 9 |
10 |
11 |
12 |
13 |

Strategy Dashboard

14 |
15 |
16 | {% if username %} 17 | Welcome:{{username}} 18 | {% endif %} 19 |
20 | {% endblock %} 21 | 22 | 23 | -------------------------------------------------------------------------------- /templates/login.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "base.html" %} 3 | {% block title %}登入分享日記{% endblock %} 4 | {% block content %} 5 |
6 | {% for message in messages %} 7 |
{{ message }}
8 | {% endfor %} 9 |
10 |
11 |
12 |
13 |

Login My Strategy

14 |
15 |
16 |
17 | {% csrf_token %} 18 | 19 | {{ login_form.as_table }} 20 |
21 |
22 |
23 |
24 | {% endblock %} 25 | 26 | 27 | -------------------------------------------------------------------------------- /templates/new_strategy.html: -------------------------------------------------------------------------------- 1 | {% load staticfiles %} 2 | 3 | 4 | 5 | ACE in Action 6 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |

Strategy Editor

25 | 26 |
from qstrader.strategy.base import AbstractStrategy 27 | 28 | from qstrader.event import (SignalEvent, EventType) 29 | 30 | 31 | class CustomStrategy(AbstractStrategy): 32 | """ 33 | A testing strategy that simply purchases (longs) a set of 34 | assets upon first receipt of the relevant bar event and 35 | then holds until the completion of a backtest. 36 | """ 37 | def __init__(self, tickers, events_queue): 38 | self.tickers = tickers 39 | self.events_queue = events_queue 40 | self.ticks = 0 41 | self.invested = False 42 | 43 | def calculate_signals(self, event): 44 | ticker = self.tickers[0] 45 | if event.type in [EventType.BAR, EventType.TICK] and event.ticker == ticker: 46 | if not self.invested and self.ticks == 0: 47 | signal = SignalEvent(ticker, "BOT") 48 | self.events_queue.put(signal) 49 | self.invested = True 50 | self.ticks += 1
51 | 52 | 53 | 54 |

Position Editor

55 |
from qstrader.position_sizer.base import AbstractPositionSizer 56 | 57 | 58 | class CustomPositionSizer(AbstractPositionSizer): 59 | def __init__(self, default_quantity=100): 60 | self.default_quantity = default_quantity 61 | 62 | def size_order(self, portfolio, initial_order): 63 | """ 64 | This FixedPositionSizer object simply modifies 65 | the quantity to be 100 of any share transacted. 66 | """ 67 | initial_order.quantity = self.default_quantity 68 | return initial_order
69 | 70 | 71 | 72 |
73 | Select a begin date: 74 | 75 |
76 | Select a end date: 77 | 78 |
79 | Please input tickers: 80 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /templates/running_jobs.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "base.html" %} 3 | {% block title %}分享日記{% endblock %} 4 | {% block content %} 5 |
6 | {% for message in messages %} 7 |
{{ message }}
8 | {% endfor %} 9 |
10 |
11 |
12 |
13 |

My Strategy

14 |
15 |
16 | {% load staticfiles %} 17 | 18 | 19 | 20 | 21 |
22 |
23 | NOW: {{today}} 24 |
25 |
26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | {% for running_job in running_jobs %} 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | {% endfor %} 45 | 46 |
NameidNext timeDisable
{{running_job.name}}{{running_job.id}}{{running_job.next_run_time}}
47 | 48 |
49 | {% endblock %} 50 | 51 | -------------------------------------------------------------------------------- /templates/strategy.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "base.html" %} 3 | {% block title %}分享日記{% endblock %} 4 | {% block content %} 5 |
6 | {% for message in messages %} 7 |
{{ message }}
8 | {% endfor %} 9 |
10 |
11 |
12 |
13 |

My Strategy

14 |
15 |
16 | 17 | 18 |
19 | {% for strategy in Strategies %} 20 | 21 | 22 | {{strategy.strategy_name}} 23 |
24 | {% endfor %} 25 | 26 |
27 | {% endblock %} 28 | 29 | -------------------------------------------------------------------------------- /templates/strategy_page.html: -------------------------------------------------------------------------------- 1 | {% load staticfiles %} 2 | 3 | 4 | 5 | ACE in Action 6 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Strategy Editor

27 |

{{strategy.strategy_name}}

28 |
{{strategy.strategy}}
29 | 30 | 31 | 32 | 33 |

Position Editor

34 |
{{strategy.position}}
35 | 36 | 37 | 38 |
39 | Select a begin date: 40 | 41 |
42 | Select a end date: 43 | 44 |
45 | Please input tickers: 46 | 47 | 48 | 49 | 62 | 63 | -------------------------------------------------------------------------------- /templates/strategy_run.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "base.html" %} 3 | {% block title %}分享日記{% endblock %} 4 | {% block content %} 5 |
6 | {% for message in messages %} 7 |
{{ message }}
8 | {% endfor %} 9 |
10 |
11 |
12 |
13 |

Strategy Report

14 |
15 |
16 | {% load staticfiles %} 17 | 18 | 19 | 20 |
21 | 22 | 23 |
24 | 25 |
26 |

Output

27 |
28 |
29 | {{output|linebreaksbr}} 30 |
31 |
32 |

Error

33 |
34 | {{err|linebreaksbr}} 35 |
36 |
37 | {% endblock %} 38 | 39 | -------------------------------------------------------------------------------- /website_backtest_result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easytrader/StrategyCeleryWebsite/08b75404b035f60e5b46be897a2e791afbd455d4/website_backtest_result.png --------------------------------------------------------------------------------