From 2a9f7db03eba7a2a51e913c7818d49db2c9c1123 Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Tue, 29 Sep 2020 10:45:12 -0700 Subject: [PATCH] Shorter/nicer label for docker process id in live hovers See: https://www.pivotaltracker.com/story/show/174999085 --- .../vscode/boot/java/livehover/LiveHoverUtils.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/LiveHoverUtils.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/LiveHoverUtils.java index a457710e1..cd5ea5735 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/LiveHoverUtils.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/livehover/LiveHoverUtils.java @@ -15,6 +15,7 @@ import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Optional; +import java.util.regex.Pattern; import java.util.stream.Collectors; import org.eclipse.jdt.core.dom.MethodDeclaration; @@ -176,7 +177,18 @@ public class LiveHoverUtils { } } + private static final Pattern HEX_HASH = Pattern.compile("^[A-Za-z0-9]+$"); + public static String niceAppName(String processId, String processName) { + int pidLen = processId.length(); + if (pidLen>32 && HEX_HASH.matcher(processId).matches()) { + //looks like a long hash. Shorten it for display purposes + processId = processId.substring(0, 12); + } + if (processName.contains(processId)) { + //somewhat redundant to display both if one contains the other + return "Process ["+processName+"]"; + } return "Process [PID="+processId+", name=`"+processName+"`]"; }