Colons can be used anywhere in any variable name, except for the start and end - the "end" includes immediately before an array access, so %var:[%index] is not legal. There is no limit to how many colons may be placed sequentially in a variable name. The only place that colons carry special signifigance is in the biconditional (Bool ? A : B) and function names (Class::MethodName and Parent::FunctionName).
echo(%test:test?%test::test:%test:::test);