Skip to content

Instantly share code, notes, and snippets.

@kurogelee
kurogelee / sample.clj
Created May 31, 2014 02:41
Light Table (Clojure) で実行可能なサンプルコードをコメントとして残す ref: http://qiita.com/kurogelee/items/cca301be9c4247c52631
#_(map #(* 3 %) (range 9))
@kurogelee
kurogelee / file1.txt
Created June 3, 2014 18:05
Light Tableでマルチカーソルの位置を取得する ref: http://qiita.com/kurogelee/items/c285e9874c77555918cd
(4 4 4 13 5 8 5 7 7 0 7 66)
@kurogelee
kurogelee / cursorkit.cljs
Created June 9, 2014 10:02
Light Tableでカーソルをいろいろ移動する ref: http://qiita.com/kurogelee/items/ae59f18544f41d7461d2
(ns lt.plugins.cursorkit
(:require [lt.objs.command :as cmd]
[lt.objs.editor :as editor]
[lt.objs.editor.pool :as pool]))
(defn cm [] (editor/->cm-ed (pool/last-active)))
(cmd/command {:command ::extend-true
:desc "cursorkit: Set Extending true"
:exec (fn [] (.setExtending (cm) true))})
@kurogelee
kurogelee / FizzBuzz.java
Created June 9, 2014 11:10
JavaでFizzBuzz、ラムダ使ってもっと短く(10行) ref: http://qiita.com/kurogelee/items/8e9fb2dea76467f00986
import java.util.Arrays;
import java.util.stream.IntStream;
public class FizzBuzz {
public static void main(String... args){
Object[][] o = {{15, "FizzBuzz"}, {5, "Buzz"}, {3, "Fizz"}};
IntStream.rangeClosed(1, 100).mapToObj(x ->
Arrays.stream(o).filter(p -> x % (int)p[0] == 0).map(p -> p[1]).findFirst().orElse(String.valueOf(x))
).forEach(System.out::println);
}
"<div>:sample</div>"
"<div style=\"color:red; margin: 5px\"></div>"
"<div style=\"color:red; margin: 5px\">123</div>"
(defn- namify [type keyword]
(symbol (str "__" type "__" (.replace (name keyword) "." "__DOT__"))))
(defmacro behavior [name & {:keys [reaction] :as r}]
(if (and (seq? reaction) (= 'fn (first reaction)))
(let [[_ args & body] reaction]
`(do
(defn- ~(namify "BEH" name) ~args ~@body)
(lt.object/behavior* ~name ~@(apply concat (assoc r :reaction (namify "BEH" name))))))
`(lt.object/behavior* ~name ~@(apply concat r))))
(or force-obj
(identical? x (js/Object x))
(identical? (type x) js/Object)
(identical? (type x) js/global.Object))
body
#loader //"起動時の画面。起動後はopacity: 0;"
#wrapper
#canvas
#multi //"中心部分"
.tabsets
.tabset
.tabset
...
span.button.fullscreen //"フルスクリーン時の閉じるボタン"
(defn clj->js
"Recursively transforms ClojureScript values to JavaScript.
sets/vectors/lists become Arrays, Keywords and Symbol become Strings,
Maps become Objects. Arbitrary keys are encoded to by key->js."
[x]
(when-not (nil? x)
(if (satisfies? IEncodeJS x)
(-clj->js x)
(cond
(keyword? x) (name x)
@kurogelee
kurogelee / file0.cljs
Created June 21, 2014 06:28
Light TableでClojureの関数ソースを見るショートカット ref: http://qiita.com/kurogelee/items/38451cd824dbf8a30fe8
"alt-s" [:editor.sublime.selectNextOccurrence (:eval.custom "(with-out-str (clojure.repl/source __SELECTION__))" {:verbatim true})]