Skip to content

Commit

Permalink
Add Scala snippets for async stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
mathieuancelin committed May 14, 2012
1 parent b1ad484 commit 333fd7e
Show file tree
Hide file tree
Showing 7 changed files with 91 additions and 0 deletions.
7 changes: 7 additions & 0 deletions actor.sublime-snippet
@@ -0,0 +1,7 @@
<snippet>
<content><![CDATA[
val ${1:actor} = Akka.system.actorOf(Props[${2:MyActor}], name = "${1:actor}")
]]></content>
<tabTrigger>actor</tabTrigger>
<scope>source.scala</scope>
</snippet>
14 changes: 14 additions & 0 deletions async.sublime-snippet
@@ -0,0 +1,14 @@
<snippet>
<content><![CDATA[
val ${1:promise} = Akka.future { ${2:/** blocking stuff **/} }
Async {
${1:promise}.map { ${3:result} => Ok( views.html.${4:index}(${3:result}) ) }
}
]]></content>
<tabTrigger>async</tabTrigger>
<scope>source.scala</scope>
</snippet>




9 changes: 9 additions & 0 deletions callbackenum.sublime-snippet
@@ -0,0 +1,9 @@
<snippet>
<content><![CDATA[
val ${1:enumerator} = Enumerator.fromCallback{ () =>
Promise.timeout( Some( ${2:"stuff"} ), ${3:1000}, TimeUnit.${4:MILLISECONDS} )
}
]]></content>
<tabTrigger>callbackenum</tabTrigger>
<scope>source.scala</scope>
</snippet>
16 changes: 16 additions & 0 deletions pushenum.sublime-snippet
@@ -0,0 +1,16 @@
<snippet>
<content><![CDATA[
val ${1:hubEnumerator} = Enumerator.imperative[${2:String}]()
val hub = Concurrent.hub[${2:String}]( hubEnumerator )
def push( ${3:msg}: ${2:String} ) = {
hubEnumerator.push( msg )
}
// consume with hub.getPatchCord()
]]></content>
<tabTrigger>pushenum</tabTrigger>
<scope>source.scala</scope>
</snippet>


11 changes: 11 additions & 0 deletions schedule.sublime-snippet
@@ -0,0 +1,11 @@
<snippet>
<content><![CDATA[
Akka.system.scheduler.schedule( 0 millisecond, ${1:10} ${2:seconds} ) {
$3
}
]]></content>
<tabTrigger>schedule</tabTrigger>
<scope>source.scala</scope>
</snippet>


19 changes: 19 additions & 0 deletions sse.sublime-snippet
@@ -0,0 +1,19 @@
<snippet>
<content><![CDATA[
def ${1:sse}() = Action { implicit request =>
SimpleResult(
header = ResponseHeader(
OK,
Map(
CONTENT_LENGTH -> "-1",
CONTENT_TYPE -> "text/event-stream"
)
),
${2:hub}.getPatchCord().through( Enumeratee.map[${3:String}] { msg => "data: " + msg + "\n\n" }
)
)
}
]]></content>
<tabTrigger>sse</tabTrigger>
<scope>source.scala</scope>
</snippet>
15 changes: 15 additions & 0 deletions websocket.sublime-snippet
@@ -0,0 +1,15 @@
<snippet>
<content><![CDATA[
def ${1:websocket}() = WebSocket.async[${2:String}] { request =>
var out = ${3:hub}.getPatchCord( )
var in = Iteratee.foreach[${2:String}] ( _ match {
case message : ${2:String} => {
hubEnumerator.push( message )
}
})
Promise.pure( ( in, out ) )
}
]]></content>
<tabTrigger>websocket</tabTrigger>
<scope>source.scala</scope>
</snippet>

0 comments on commit 333fd7e

Please sign in to comment.