I don't think you would need a continuation character. The compiler just needs to be made a little smarter - Ruby handles multilines without continuation characters without a problem. Here is how it could work:
Code: Select all
SelectElement(x_dir_file(),n)
If ( save_excludesnapshots And x_matchpattern(x_dir_file(),"*.pb.*.snapshot*.bak",#x_parse_anycase) ) Or
( save_excludebuilds And x_matchpattern(x_dir_file(),"*.pb.*.build*.bak",#x_parse_anycase) )
Else
RenameFile(path+x_dir_file(),path+name+"."+x_strex(save_nr,save_mask)+".wrap.bak")
save_nr = save_nr+1
EndIf
Because the 'Or' is expecting a parameter on it's right (but it is at the end of line) then the following line is checked for appended automatically.
Here is another example:
Code: Select all
msg$="WARNING:"+#CRLF$+#CRLF$+
AppName$+" is already running."+#CRLF$+#CRLF$+
"You may have 'hidden' it! You can unhide by click the "+AppName$+" logo (the A+) on your taskbar (near the clock)."+#CRLF$+#CRLF$+
"You cannot install with "+AppName$+" running at the same time."+#CRLF$+#CRLF$+
"You should close "+AppName$+" then click 'Yes' or stop this install program by clicking 'No'..."+#CRLF$+#CRLF$+
"Have you closed "+AppName$+" and want to continue installing?"
If QuestionMessage(msg$)=#PB_MessageRequester_No
End
EndIf
But if it was made even a little smarter then the compiler could also accept this:
Code: Select all
msg$="WARNING:"+#CRLF$+#CRLF$
+AppName$+" is already running."+#CRLF$+#CRLF$
+"You may have 'hidden' it! You can unhide by click the "+AppName$+" logo (the A+) on your taskbar (near the clock)."+#CRLF$+#CRLF$
+"You cannot install with "+AppName$+" running at the same time."+#CRLF$+#CRLF$
+"You should close "+AppName$+" then click 'Yes' or stop this install program by clicking 'No'..."+#CRLF$+#CRLF$
+"Have you closed "+AppName$+" and want to continue installing?"
If QuestionMessage(msg$)=#PB_MessageRequester_No
End
EndIf
This this example the compiler (before finishing processing the current line) checks the following line to see if it expects a parameter on its left. Here is another example of what woould also work if this was implemented:
Code: Select all
If OpenWindow(0, 100, 200, 195, 260, "PureBasic Window",
#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
This is how Ruby appears to work, it's all just automatic and intuative.
If it was made even smarter (by getting rid of CR's altogether) then even this could work:
That would be pretty nice too.