From b3782d2dc8f872c43fcf53b9436c4e881d3f1e2d Mon Sep 17 00:00:00 2001 From: nicm Date: Thu, 4 Jun 2020 07:12:05 +0000 Subject: Instead of using a custom parse function to process {}, treat it as a set of statements and parse with yacc, then convert back to a string as the last step. This means the rules are consistent inside and outside {}, %if and friends work at the right time, and the final result isn't littered with unnecessary newlines. --- tmux.1 | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'tmux.1') diff --git a/tmux.1 b/tmux.1 index 2ba3362b..a6c129d3 100644 --- a/tmux.1 +++ b/tmux.1 @@ -552,17 +552,14 @@ is removed) and are not treated as having any special meaning - so for example variable. .El .Pp -Braces are similar to single quotes in that the text inside is taken literally -without any replacements but this also includes line continuation. -Braces can span multiple lines in which case a literal newline is included in the -string. -They are designed to avoid the need for additional escaping when passing a group -of +Braces are parsed as a configuration file (so conditions such as +.Ql %if +are processed) and then converted into a string. +They are designed to avoid the need for additional escaping when passing a +group of .Nm -or shell commands as an argument (for example to -.Ic if-shell -or -.Ic pipe-pane ) . +commands as an argument (for example to +.Ic if-shell ) . These two examples produce an identical command - note that no escaping is needed when using {}: .Bd -literal -offset indent @@ -570,7 +567,7 @@ if-shell true { display -p 'brace-dollar-foo: }$foo' } -if-shell true "\en display -p 'brace-dollar-foo: }\e$foo'\en" +if-shell true "display -p 'brace-dollar-foo: }\e$foo'" .Ed .Pp Braces may be enclosed inside braces, for example: -- cgit