package krasa.grepconsole.utils;
import com.intellij.ide.CopyProvider;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.ide.CopyPasteManager;
import org.jetbrains.annotations.NotNull;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
public class Utils {
public static int tryParseInteger(String text) {
if ("".equals(text))
return 0;
try {
return Integer.parseInt(text);
} catch (NumberFormatException e) {
return 0;
}
}
public static boolean isSelectedText(AnActionEvent e) {
DataContext dataContext = e.getDataContext();
CopyProvider provider = PlatformDataKeys.COPY_PROVIDER.getData(dataContext);
return provider != null && provider.isCopyEnabled(dataContext) && provider.isCopyVisible(dataContext);
}
public static String getString(AnActionEvent e) {
DataContext dataContext = e.getDataContext();
CopyProvider provider = PlatformDataKeys.COPY_PROVIDER.getData(dataContext);
if (provider == null) {
return null;
}
provider.performCopy(dataContext);
Transferable contents = CopyPasteManager.getInstance().getContents();
try {
return contents == null ? null : (String) contents.getTransferData(DataFlavor.stringFlavor);
} catch (Exception e1) {
return null;
}
}
public static String getSelectedString(AnActionEvent e) {
DataContext dataContext = e.getDataContext();
Editor data1 = CommonDataKeys.EDITOR.getData(dataContext);
return data1.getCaretModel().getPrimaryCaret().getSelectedText();
}
@NotNull
public static String toNiceLineForLog(String substring) {
int length = substring.length();
int endIndex = substring.length();
int min = Math.min(endIndex, 120);
String result = substring.substring(0, min);
if (min < endIndex) {
result += "...";
}
result += " [length=" + length + "]";
return result;
}
}