The best multiline strings are those where you can have proper indentations without having to guess how indentation is handled. bonus points for making nesting easy and making copy-pasting work without breaking indentation.

To my knowledge only Zig's multiline strings work this way

    const hello_world_in_c =
        \\#include <stdio.h>
        \\
        \\int main(int argc, char **argv) {
        \\    printf("hello world\n");
        \\    return 0;
        \\}
    ;

Probably the 2nd most baffling thing in Zig for me.

C#:

  var helloWorldInC =
      """
      #include <stdio.h>
  
      int main(int argc, char **argv) {
          printf("hello world\n");
          return 0;
      }
      """;

I clicked on that FAQ link, because I wasn't familiar with zig-style multilines, and my initial reaction was "ew, ugly" - but reading the justifications, I think it rather won me over with how it addresses the indentation issue alone.

In C:

    char string[] = 
        "multi\n"
        "line\n"
        "string";
Granted, this is not a real multiline string, but you also have characters in your Zig example that are not part of string content (\\).

okaay, I get that you want the indentation to work (ironically this is more important when you are multilining a Python code example), but having to manage all the \\ is a pain in the butt

> ironically this is more important when you are multilining a Python code example

And neither seems to be a great use case for configuration. A markup language, sure, but I'm not sure I see a significant need for multiline strings (even in general) in a config file.

fair point … although I can see a use case for eg multline multi languages contractual boilerplate that i don’t want in my main code