Am 05.07.2019 um 17:29 schrieb Ryan Joseph: > This may not be related but why does "l: string = lines;” work, shouldn’t > that be an error or at least get clipped? I’m seeing writeln prints out the > entire string as if it was an ansistring. > > {$mode objfpc} > {$multilinestringlineending crlf} > {$h+} > > program test; > > const lines = ` > #version 150 > > uniform sampler2D textures[8]; > in vec2 vertexTexCoord; > in vec4 vertexColor; > in float vertexUVMap; > out vec4 fragColor; > > void main() > { > if (vertexUVMap == 255) { > fragColor = vertexColor; > } else { > fragColor = texture(textures[int(vertexUVMap)], vertexTexCoord.st); > if (vertexColor.a < fragColor.a) { > fragColor.a = vertexColor.a; > } > } > }`;
I tried to follow the thread, but one think I miss is: what are the rules for indention? Does the lines string contain spaces at the beginning of every line or not? Are they removed? How many are removed? What about tabs? Actually, this is my main concern with such multiline strings: spaces/tabs at the beginning of a line cannot be handled in an intuitive way. _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel