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
In interfaces, when embedding an interface expressed as a type instantiation (interface name followed by type argument list in square brackets), type arguments should be scoped as variable.other.type.
Actual: type arguments are scoped as variable.other.
interface{EmbeddedInterface[TypeArg]}
"Function call" detection should work with type arguments of arbitrary complexity, rather than just with identifiers.
Actual: function call detection doesn't work when the list of type arguments passed to a function contains complex type expressions such as type instantiations.
FuncName[Type[TypeArg]]()
Parameter lists should support types of arbitrary complexity such as [][]Ident.
Actual: some parameter types such as [][]Ident are not scoped as types.
funcFuncName(param [][]Type)
In calls to namespaced functions or methods (which are syntactically identical), when there is a list of multiple type parameters separated by commas, type arguments should be scoped as variable.other.type.
Actual: type arguments are scoped as variable.parameter.type.
namespace.FuncName[TypeArg, TypeArg]()
Calls to type-instantiated functions (func name followed by list of type arguments in square brackets) should be recognized as function calls even when the function name is namespaced.
Actual: function instantiations are recognized as function calls only when function names are not namespaced.
namespace.FuncName[TypeArg]()
The text was updated successfully, but these errors were encountered:
Addresses some issues described in sublimehq#3512 with least effort.
It may not address all theoretical edge cases though.
Especially meta scopes don't follow guidelines by any means, so seriously
fixing issues would probably end up in significant refactoring, which is not
scope of this commit/PR.
Adapted from #3289 (comment).
variable.other.type
.variable.other
.[][]Ident
.[][]Ident
are not scoped as types.variable.other.type
.variable.parameter.type
.The text was updated successfully, but these errors were encountered: