From b8f017a49b6210f99b48550d40cca929b216b0dc Mon Sep 17 00:00:00 2001 From: Twiglet1022 <29353990+Twiglet1022@users.noreply.github.com> Date: Mon, 22 Apr 2019 12:12:00 +0100 Subject: [PATCH] Fix chat history wrapping --- .../plugins/chathistory/ChatHistoryPlugin.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java index 1cb5679498..a504283ed8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java @@ -145,8 +145,8 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener .type(chatMessage.getType()) .name(chatMessage.getName()) .sender(chatMessage.getSender()) - .value(nbsp(chatMessage.getMessage())) - .runeLiteFormattedMessage(nbsp(chatMessage.getMessageNode().getRuneLiteFormatMessage())) + .value(tweakSpaces(chatMessage.getMessage())) + .runeLiteFormattedMessage(tweakSpaces(chatMessage.getMessageNode().getRuneLiteFormatMessage())) .timestamp(chatMessage.getTimestamp()) .build(); @@ -177,15 +177,17 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener } /** - * Small hack to prevent plugins checking for specific messages to match + * Small hack to prevent plugins checking for specific messages to match. This works because the "—" character + * cannot be seen in-game. This replacement preserves wrapping on chat history messages. * @param message message - * @return message with nbsp + * @return message with invisible character before every space */ - private static String nbsp(final String message) + private static String tweakSpaces(final String message) { if (message != null) { - return message.replace(' ', '\u00A0'); + // First replacement cleans up prior applications of this so as not to keep extending the message + return message.replace("— ", " ").replace(" ", "— "); } return null;