PY-71854 Jupyter(feat): remove decompile trash from TextPresentationTranformers

GitOrigin-RevId: f64c7c455a4a8a59362ac77eab13dbe1fa5010f9
This commit is contained in:
Nikita.Ashihmin
2024-10-04 18:59:04 +04:00
committed by intellij-monorepo-bot
parent ee0e2c9742
commit 391ef8a877
2 changed files with 9 additions and 10 deletions

View File

@@ -8,7 +8,6 @@ import com.intellij.openapi.components.Service
import com.intellij.openapi.components.service
import com.intellij.openapi.extensions.ExtensionPointName
import com.intellij.openapi.fileEditor.FileDocumentManager
import com.intellij.openapi.fileTypes.BinaryFileDecompiler
import com.intellij.openapi.fileTypes.FileTypeExtension
import com.intellij.openapi.fileTypes.FileTypeRegistry
import com.intellij.openapi.vfs.VirtualFile
@@ -17,13 +16,13 @@ import org.jetbrains.annotations.ApiStatus
@ApiStatus.Internal
@Service(Service.Level.APP)
class TextPresentationTranformers : FileTypeExtension<TextPresentationTransformer>(EP), Disposable.Default {
class TextPresentationTransformers : FileTypeExtension<TextPresentationTransformer>(EP), Disposable.Default {
init {
val extensionPoint = ApplicationManager.getApplication().extensionArea.getExtensionPointIfRegistered<BinaryFileDecompiler>(EP.name)
extensionPoint?.addChangeListener({ notifyDecompilerSetChange() }, null)
val extensionPoint = ApplicationManager.getApplication().extensionArea.getExtensionPointIfRegistered<TextPresentationTransformer>(EP.name)
extensionPoint?.addChangeListener({ notifyTextPresentationSetChange() }, null)
}
private fun notifyDecompilerSetChange() {
private fun notifyTextPresentationSetChange() {
val fileTypes = EP.extensionsIfPointIsRegistered.map {
val key = it.key
FileTypeRegistry.getInstance().getFileTypeByExtension(key)
@@ -37,7 +36,7 @@ class TextPresentationTranformers : FileTypeExtension<TextPresentationTransforme
@JvmStatic
fun fromPersistent(text: CharSequence, virtualFile: VirtualFile): CharSequence {
val transformer = service<TextPresentationTranformers>().forFileType(virtualFile.fileType)
val transformer = service<TextPresentationTransformers>().forFileType(virtualFile.fileType)
if (transformer == null) {
return text
}
@@ -47,7 +46,7 @@ class TextPresentationTranformers : FileTypeExtension<TextPresentationTransforme
@JvmStatic
fun toPersistent(text: CharSequence, virtualFile: VirtualFile): CharSequence {
val transformer = service<TextPresentationTranformers>().forFileType(virtualFile.fileType)
val transformer = service<TextPresentationTransformers>().forFileType(virtualFile.fileType)
if (transformer == null) {
return text
}

View File

@@ -18,7 +18,7 @@ import com.intellij.openapi.vfs.CharsetToolkit;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.encoding.EncodingRegistry;
import com.intellij.openapi.vfs.transformer.TextPresentationTranformers;
import com.intellij.openapi.vfs.transformer.TextPresentationTransformers;
import com.intellij.testFramework.LightVirtualFile;
import com.intellij.util.*;
import com.intellij.util.text.ByteArrayCharSequence;
@@ -406,7 +406,7 @@ public final class LoadTextUtil {
@NotNull String text,
long newModificationStamp) throws IOException {
Charset existing = virtualFile.getCharset();
text = TextPresentationTranformers.toPersistent(text, virtualFile).toString();
text = TextPresentationTransformers.toPersistent(text, virtualFile).toString();
Pair.NonNull<Charset, byte[]> chosen = charsetForWriting(project, virtualFile, text, existing);
Charset charset = chosen.first;
byte[] buffer = chosen.second;
@@ -568,7 +568,7 @@ public final class LoadTextUtil {
ConvertResult result = convertBytesAndSetSeparator(bytes, bytes.length, virtualFile,
saveDetectedSeparators, info, info.hardCodedCharset);
if (applyTextTransformer) {
return TextPresentationTranformers.fromPersistent(result.text, virtualFile);
return TextPresentationTransformers.fromPersistent(result.text, virtualFile);
} else {
return result.text;
}