You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The new scala implementation is basic and is missing some implementations for certain Cursorless keywords that I punted off to a later time:
list. This is weird for Scala because there isn't completely language-native syntax for lists. For lists generally you are just instantiating an object, e.g. val list = List(1,2,3), though there is a "fancy" list style: val foo = 1 :: (2 :: (3 :: Nil)) // List(1,2,3). Note that we can't just look for node.name === "List", because there are other ways to construct a list, and List could be qualified. See Scala support #399 (comment) for a bit more info
map. Similar to above, maps are just object instantiations, e.g. val map = Map("#000" -> "Black", "#F00" -> "Red"). The -> syntax is also just sugar for an infix expression that creates a tuple, e.g. "#000" -> "Black" is the same as "#000".->("Black") whic both generates ("#000", "Black").
collectionItem, collectionKey, and value (as used for RHS of a map item). See above, infix_expression, key on left, item on right, operator = "->". See Scala support #399 (comment) for a bit more info
regularExpression. "foo".r, value of type field_expression, value of type string, field of type identifier = "r"
attribute, xmlElement, xmlStartTag, xmlEndTag, xmlBothTags. All XMLey stuff which is in Scala 2x, but deprecated in 3.x, and isn't supported well by the current tree sitter anyway. There may be certain implementations / libraries that everyone uses, not sure yet.
Also, note that an advanced scala feature that cursorless doesn't support is pattern matching, see: #434
The text was updated successfully, but these errors were encountered:
The new scala implementation is basic and is missing some implementations for certain Cursorless keywords that I punted off to a later time:
list
. This is weird for Scala because there isn't completely language-native syntax for lists. For lists generally you are just instantiating an object, e.g.val list = List(1,2,3)
, though there is a "fancy" list style:val foo = 1 :: (2 :: (3 :: Nil)) // List(1,2,3)
. Note that we can't just look fornode.name === "List"
, because there are other ways to construct a list, andList
could be qualified. See Scala support #399 (comment) for a bit more infomap
. Similar to above, maps are just object instantiations, e.g.val map = Map("#000" -> "Black", "#F00" -> "Red")
. The->
syntax is also just sugar for an infix expression that creates a tuple, e.g. "#000" -> "Black" is the same as"#000".->("Black")
whic both generates("#000", "Black")
.collectionItem
,collectionKey
, andvalue
(as used for RHS of a map item). See above, infix_expression, key on left, item on right, operator = "->". See Scala support #399 (comment) for a bit more inforegularExpression
."foo".r
, value of type field_expression, value of type string, field of type identifier = "r"attribute, xmlElement, xmlStartTag, xmlEndTag, xmlBothTags
. All XMLey stuff which is in Scala 2x, but deprecated in 3.x, and isn't supported well by the current tree sitter anyway. There may be certain implementations / libraries that everyone uses, not sure yet.Also, note that an advanced scala feature that cursorless doesn't support is pattern matching, see: #434
The text was updated successfully, but these errors were encountered: