The first lines are the regex to find and the last line are the replace expressions.
:(\s?)'(.*)'
def getUser(id: Int): Future[Either[String, User]] = ??? | |
def getCity(user: User): Future[Either[String, City]] = ??? | |
def getCountry(city: City): Future[Either[String, Country]] = ??? | |
def getCountryByUserId(id: Int): Future[Either[String, Country]] = { | |
getUser(id) flatMap { | |
case Left(err) => Future.successful(Left(err)) | |
case Right(user) => | |
getCity(user) flatMap { | |
case Left(err) => Future.successful(Left(err)) |
def getCountryByUserId(id: Int): Future[Either[String, Country]] = { | |
val result = for { | |
user <- EitherT(getUser(id)) | |
city <- EitherT(getCity(user)) | |
country <- EitherT(getCountry(city)) | |
} yield { | |
country | |
} | |
result.value | |
} |
[ | |
{ | |
"description": "Control+Click to Command+Click", | |
"manipulators": [ | |
{ | |
"from": { | |
"modifiers": { | |
"mandatory": [ | |
"control" | |
], |