Fix to wide text on newline with only one word. Report lexer error
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..94a7a3b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+.idea/
+target/
+statement-public-affairs.iml
diff --git a/src/main/java/org/eclipse/openk/statementpublicaffairs/service/StatementCompileService.java b/src/main/java/org/eclipse/openk/statementpublicaffairs/service/StatementCompileService.java
index 739fc0e..cbbc53d 100644
--- a/src/main/java/org/eclipse/openk/statementpublicaffairs/service/StatementCompileService.java
+++ b/src/main/java/org/eclipse/openk/statementpublicaffairs/service/StatementCompileService.java
@@ -402,9 +402,15 @@
}
lines.add(line);
line = new ArrayList<>();
+ TextState endLength = calculateLineWidth(lastLineFontMode, 0, line, token, fontSize);
line.add(token);
- currentTextWidth = 0;
- resContext.currentTextWidth = 0;
+ if (set.isEmpty()) {
+ currentTextWidth = endLength.getWidth();
+ resContext.currentTextWidth = endLength.getWidth();
+ } else {
+ currentTextWidth = 0;
+ resContext.currentTextWidth = 0;
+ }
lastLineFontMode = newState.getFontMode();
}
}
diff --git a/src/main/java/org/eclipse/openk/statementpublicaffairs/service/compile/TextCompileUtil.java b/src/main/java/org/eclipse/openk/statementpublicaffairs/service/compile/TextCompileUtil.java
index 123b9b3..752b938 100644
--- a/src/main/java/org/eclipse/openk/statementpublicaffairs/service/compile/TextCompileUtil.java
+++ b/src/main/java/org/eclipse/openk/statementpublicaffairs/service/compile/TextCompileUtil.java
@@ -58,7 +58,7 @@
lexer.next();
}
if (!lexer.isSuccessful()) {
- throw new BadRequestException("Textblock could not be parsed");
+ throw new BadRequestException("Textblock could not be parsed: " + lexer.errorMessage());
}
return tokens;
}