WebStorm recognises it. The syntax comes from Google Closure Compiler: https://developers.google.com/closure/compiler/docs/js-for-compiler

I checked the docs again, the `name:type` syntax is not mentioned for functions, but they use it for record type:

```
{{myNum: number, myObject}} 
```

For functions, they have

```
{function(string, boolean)}
{function(this:goog.ui.Menu, string)}
```