Commit 1ec5eec
authored
normalizeScript() trimStart()s leading indentation from script lines so
indented template literals parse, but it ran line-by-line and also stripped
leading whitespace inside multi-line single/double-quoted strings (e.g.
python3 -c with an indented body -> IndentationError). Make it quote-aware,
mirroring the earlier heredoc-aware fix: track open quote state across lines
and only strip indentation from lines that begin outside any quote; lines
that begin inside an unterminated quote are preserved verbatim. Un-skips four
sed spec tests whose indented stdin was being corrupted.
1 parent aec5643 commit 1ec5eec
4 files changed
Lines changed: 139 additions & 20 deletions
File tree
- .changeset
- packages/just-bash/src
- spec-tests/sed
- syntax
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
861 | 861 | | |
862 | 862 | | |
863 | 863 | | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
864 | 905 | | |
865 | | - | |
866 | | - | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
867 | 909 | | |
868 | 910 | | |
869 | 911 | | |
| |||
874 | 916 | | |
875 | 917 | | |
876 | 918 | | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
877 | 924 | | |
878 | 925 | | |
879 | 926 | | |
| |||
883 | 930 | | |
884 | 931 | | |
885 | 932 | | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
886 | 937 | | |
887 | 938 | | |
888 | 939 | | |
| |||
903 | 954 | | |
904 | 955 | | |
905 | 956 | | |
906 | | - | |
907 | | - | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
908 | 962 | | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
909 | 970 | | |
910 | 971 | | |
911 | 972 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
126 | 126 | | |
127 | 127 | | |
128 | 128 | | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | 129 | | |
138 | 130 | | |
139 | 131 | | |
| |||
171 | 163 | | |
172 | 164 | | |
173 | 165 | | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | 166 | | |
179 | 167 | | |
180 | 168 | | |
| |||
183 | 171 | | |
184 | 172 | | |
185 | 173 | | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | 174 | | |
191 | 175 | | |
192 | 176 | | |
| |||
Lines changed: 56 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
0 commit comments