Permalink
Please sign in to comment.
Showing
with
530 additions
and 106 deletions.
- +2 −2 .gitignore
- +10 −0 .pullapprove.yml
- +4 −17 README.md
- +29 −0 demos.cljs
- +21 −5 project.clj
- +0 −1 resources/public/index-dev.html
- +65 −0 resources/public/plugin-dbg.html
- +49 −0 resources/public/plugin-dev.html
- +28 −0 resources/public/temp.html
- +5 −0 scripts/deploy
- +16 −0 src/klipse/app.cljs
- +37 −1 src/klipse/cards/special/eval.cljs
- +2 −1 src/klipse/cards/test/compile.cljs
- +16 −2 src/klipse/cards/test/eval.cljs
- +102 −25 src/klipse/compiler.cljs
- +17 −11 src/klipse/control/parser.cljs
- +2 −15 src/klipse/core.cljs
- +9 −9 src/klipse/io.cljs
- +54 −0 src/klipse/plugin.cljs
- +4 −0 src/klipse/run/all.cljs
- +5 −0 src/klipse/run/app.cljs
- +8 −0 src/klipse/run/plugin.cljs
- +12 −9 src/klipse/ui/editors/cljs.cljs
- +26 −2 src/klipse/ui/editors/editor.cljs
- +7 −6 src/klipse/utils.cljs
| @@ -0,0 +1,10 @@ | ||
| +approve_by_comment: true | ||
| +approve_regex: ^Approved | ||
| +reject_regex: ^Rejected | ||
| +reset_on_push: false | ||
| +reviewers: | ||
| + members: | ||
| + - viebel | ||
| + - raphaelboukara | ||
| + name: default | ||
| + required: 1 |
29
demos.cljs
| @@ -0,0 +1,29 @@ | ||
| +(ns my.date | ||
| + (:require [cljs-time.core :as t :refer [interval date-time in-minutes]])) | ||
| + | ||
| +[ | ||
| + (date-time 1986 10 14 4 3 27 456) | ||
| + (in-minutes (interval (date-time 1986 10 2) (date-time 1986 10 14)))] | ||
| + | ||
| +(ns my.gadjett | ||
| + (:require-macros [gadjett.core :as gadjett])) | ||
| + | ||
| +(with-out-str | ||
| + (gadjett/dbg (map inc [1 23 ]))) | ||
| + | ||
| +(ns my.frame | ||
| + (:require [viebel.a8a0349b00689c40571b0faaa36a9ae8.raw.foo :refer [square]])) | ||
| + | ||
| +(square 19) | ||
| + | ||
| +;;; the following doesn't work | ||
| +(ns my.color | ||
| + (:require [viebel.3800b8ebae5292921c7d6fcb6c995c1f.raw.body-color | ||
| + :refer [set-bg-color]])) | ||
| + | ||
| + | ||
| +(set-bg-color "red") | ||
| + | ||
| + | ||
| + | ||
| + |
26
project.clj
| @@ -0,0 +1,65 @@ | ||
| +<!DOCTYPE html> | ||
| +<html> | ||
| + <head lang="en"> | ||
| + <meta charset="UTF-8"> | ||
| + <title>KLIPSE: a simple and elegant online cljs compiler and evaluator</title> | ||
| + <link rel='shortcut icon' type='image/x-icon' href='img/klipse.png' /> | ||
| + <link rel="stylesheet" type="text/css" href="css/codemirror.css"> | ||
| + </head> | ||
| + <body> | ||
| + <div class="clojure-js"> | ||
| + (map inc [100000 2 3]) | ||
| + </div> | ||
| + <div class="clojure"> | ||
| + ( | ||
| + <span> | ||
| + map inc [1 2 3] | ||
| + </span>) | ||
| + </div> | ||
| + <br/> | ||
| + <span class="clojure"> (defn foo [x] (* x x)) </span> | ||
| + <br/> | ||
| + <span class="clojure"> (foo 19) </span> | ||
| + <br/> | ||
| + <span class="clojure"> | ||
| + (ns my.ns | ||
| + (:require [gadjett.collections :as collections :refer [map-object my-replace]])) | ||
| + | ||
| + [(map-object inc {:a 1 :b 2}) | ||
| + (my-replace '{a (b) c (C C)} '(a c))] | ||
| + | ||
| + </span> | ||
| + | ||
| + <br/> | ||
| + <span class="clojure"> | ||
| + (ns my.gg | ||
| + (:require [goog.async])) | ||
| + | ||
| + (str goog.async.nextTick) | ||
| + </span> | ||
| + | ||
| + | ||
| + | ||
| + <span class="clojure"> (map inc [1 2 3]) </span> | ||
| + <br/> | ||
| + <span class="clojure"> (zipmap '[a b c] [100 2 3]) </span> | ||
| + <br/> | ||
| + <span class="clojure"> (map inc [1000 2 3]) </span> | ||
| + <br/> | ||
| + <span class="clojure"> (map dec [1 2 3]) </span> | ||
| + <br/> | ||
| + <div class="clojure"> | ||
| + | ||
| +(ns my.hello$macros) (defmacro hello [x] `(inc ~x)) (my.hello/hello 13) | ||
| + </div> | ||
| + <br/> | ||
| + <script> | ||
| + window.klipse_settings = { | ||
| + selector: '.clojure', | ||
| + selector_js: '.clojure-js' | ||
| + }; | ||
| + </script> | ||
| + <script src="lib/mirror_extensions.js"></script> | ||
| + <script src="fig/js/klipse.fig.js"></script> | ||
| + </body> | ||
| +</html> |
| @@ -0,0 +1,49 @@ | ||
| +<!DOCTYPE html> | ||
| +<html> | ||
| + <head lang="en"> | ||
| + <meta charset="UTF-8"> | ||
| + <title>KLIPSE: a simple and elegant online cljs compiler and evaluator</title> | ||
| + <link rel='shortcut icon' type='image/x-icon' href='img/klipse.png' /> | ||
| + </head> | ||
| + <body> | ||
| + <div class="clojure"> | ||
| + ( | ||
| + <span> | ||
| + map inc [1 2 3] | ||
| + </span>) | ||
| + </div> | ||
| + <br/> | ||
| + <span class="clojure"> (defn foo [x] (* x x)) </span> | ||
| + <span class="clojure"> (foo 19) </span> | ||
| + <span class="clojure"> (ns my.elyahou) (defn bar [x] (* x x)) </span> | ||
| + <span class="clojure"> (ns my.rafi) (my.elyahou/bar 19) </span> | ||
| + <span class="clojure"> (map inc [1 2 3]) </span> | ||
| + <br/> | ||
| + <span class="clojure"> (map inc [100 2 3]) </span> | ||
| + <br/> | ||
| + <span class="clojure"> (map inc [1000 2 3]) </span> | ||
| + <br/> | ||
| + <span class="clojure"> (map dec [1 2 3]) </span> | ||
| + <br/> | ||
| + <div class="clojure"> | ||
| + (ns my.best$macros) | ||
| + <br/> | ||
| + | ||
| + (defmacro disp [& forms] | ||
| + (cons `str (for [form forms] | ||
| + `(str (pr-str '~form) " => " (pr-str ~form) "\n")))) | ||
| + | ||
| + (my.best/disp | ||
| + (map inc [1 2 3]) | ||
| + (+ 4 5 6)) | ||
| + </div> | ||
| + <br/> | ||
| + <link rel="stylesheet" type="text/css" href="css/codemirror.css"> | ||
| + <script> | ||
| + window.klipse_settings = { | ||
| + selector: '.clojure' | ||
| + }; | ||
| + </script> | ||
| + <script src="dev/js/klipse.js"></script> | ||
| + </body> | ||
| +</html> |
| @@ -0,0 +1,28 @@ | ||
| +<!DOCTYPE html> | ||
| +<html> | ||
| + <head lang="en"> | ||
| + <meta charset="UTF-8"> | ||
| + <title>KLIPSE: a simple and elegant online cljs compiler and evaluator</title> | ||
| + <link rel='shortcut icon' type='image/x-icon' href='img/klipse.png' /> | ||
| + <link rel="stylesheet" type="text/css" href="css/codemirror.css"> | ||
| + </head> | ||
| + <body> | ||
| + <span class="clojure"> | ||
| + (ns my.ns3 | ||
| + (:require-macros [gadjett.core :as gadjett])) | ||
| + | ||
| + (with-out-str | ||
| + (gadjett/dbg (map inc [1 23 ]))) | ||
| + | ||
| + </span> | ||
| + | ||
| + <script> | ||
| + window.klipse_settings = { | ||
| + selector: '.clojure', | ||
| + selector_js: '.clojure-js' | ||
| + }; | ||
| + </script> | ||
| + <script src="lib/mirror_extensions.js"></script> | ||
| + <script src="fig/js/klipse.fig.js"></script> | ||
| + </body> | ||
| +</html> |
| @@ -1,6 +1,11 @@ | ||
| gzip resources/public/dev/js/klipse.js | ||
| +gzip resources/public/plugin/js/klipse.js | ||
| gsutil -h "Content-Encoding:gzip" -h "Content-Type:application/javascript" cp resources/public/dev/js/klipse.js.gz gs://app.klipse.tech/dev/js/klipse.js | ||
| +gsutil -h "Content-Encoding:gzip" -h "Content-Type:application/javascript" cp resources/public/plugin/js/klipse_plugin.js.gz gs://app.klipse.tech/plugin/js/klipse_plugin.js | ||
| gunzip resources/public/dev/js/klipse.js.gz | ||
| +gunzip resources/public/plugin/js/klipse_plugin.js.gz | ||
| mv resources/public/dev/js/klipse.js /tmp | ||
| +mv resources/public/plugin/js/klipse_plugin.js /tmp | ||
| gsutil -m rsync -R resources/public gs://app.klipse.tech | ||
| mv /tmp/klipse.js resources/public/dev/js | ||
| +mv /tmp/klipse_plugin.js resources/public/plugin/js |
| @@ -0,0 +1,16 @@ | ||
| +(ns klipse.app | ||
| + (:require | ||
| + [goog.dom :as gdom] | ||
| + [om.next :as om] | ||
| + [klipse.ui.layout :as ui] | ||
| + [klipse.utils :refer [url-parameters]] | ||
| + [klipse.control.control :as control] | ||
| + [klipse.ui.editors.cljs :as cljs-editor])) | ||
| + | ||
| +(defn init [] | ||
| + (om/add-root! | ||
| + control/reconciler | ||
| + ui/Layout | ||
| + (gdom/getElement "compiler")) | ||
| + | ||
| + (cljs-editor/process-input control/reconciler (:cljs_in (url-parameters)))) |
Oops, something went wrong.
0 comments on commit
af5cf3c