Correct, alias is always passed by reference with a prepended &. Well, almost always. One case where it wouldn't be is if you assign the alias to a constant via define. Once done though, you would need to access both by reference...
alias xxx = "test";
someFunction(&xxx);
define yyy xxx // yyy is now the same as xxx - i.e., an alias
someFunction(&yyy);Note also that I messed up my define examples in the last post (it was late). A define does not use =, nor is the line terminated with ;. Hopefully, I can edit that still. The above format is correct.
To be clear on the quotes - double quotes for string literals, single quotes for characters. So if you wanted to define a constant for gear toggle as keyboard g, you would use...
define gear_toggle 'g'But for a string, you would use...
define my_color "red"