Amélioration de la gestion des lignes de continuation dans BakefileParser pour conserver le contenu entier et ajuster l'ajout d'espaces après certains opérateurs.
This commit is contained in:
parent
384bef24cc
commit
b22376c5fb
@ -87,26 +87,37 @@ public class BakefileParser {
|
|||||||
* @return La ligne combinée
|
* @return La ligne combinée
|
||||||
*/
|
*/
|
||||||
private String handleContinuationLines(List<String> lines, int startIndex) {
|
private String handleContinuationLines(List<String> lines, int startIndex) {
|
||||||
StringBuilder combinedLine = new StringBuilder();
|
StringBuilder combinedLine = new StringBuilder();
|
||||||
int i = startIndex;
|
int i = startIndex;
|
||||||
|
|
||||||
while (i < lines.size()) {
|
while (i < lines.size()) {
|
||||||
String line = lines.get(i);
|
String line = lines.get(i);
|
||||||
Matcher contMatcher = CONTINUATION_PATTERN.matcher(line);
|
Matcher contMatcher = CONTINUATION_PATTERN.matcher(line);
|
||||||
|
|
||||||
if (contMatcher.matches()) {
|
if (contMatcher.matches()) {
|
||||||
// Ajouter la ligne sans le backslash
|
// Ajouter la ligne sans le backslash mais conserver le contenu entier
|
||||||
combinedLine.append(contMatcher.group(1).trim()).append(" ");
|
// Ne pas ajouter d'espace après certains opérateurs comme &&
|
||||||
i++;
|
String content = contMatcher.group(1);
|
||||||
} else {
|
combinedLine.append(content);
|
||||||
// Ajouter la dernière ligne et sortir
|
|
||||||
combinedLine.append(line.trim());
|
// Si la ligne ne se termine pas déjà par un opérateur tel que &&, ajouter un espace
|
||||||
break;
|
if (!content.trim().endsWith("&&") && !content.trim().endsWith("|") &&
|
||||||
}
|
!content.trim().endsWith(";")) {
|
||||||
}
|
combinedLine.append(" ");
|
||||||
|
} else {
|
||||||
return combinedLine.toString();
|
// Si elle se termine par &&, |, ou ;, ajouter juste un espace après
|
||||||
}
|
combinedLine.append(" ");
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
} else {
|
||||||
|
// Ajouter la dernière ligne et sortir
|
||||||
|
combinedLine.append(line.trim());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return combinedLine.toString();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remplacer les variables dans une chaîne.
|
* Remplacer les variables dans une chaîne.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user