You can also use the regular c preprocessor for this. GLSL program is built from multiple strings, first string could be "#version 120", second string, "#define _VERTEX_", and then the program string, which separates sections trhough #ifdef _VERTEX_ #endif. Although it does look less nice as custom tags.