update
This commit is contained in:
parent
562de99470
commit
9e8867bbff
@ -1,6 +1,7 @@
|
||||
package de.marhali.easyi18n;
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.project.Project;
|
||||
|
||||
import de.marhali.easyi18n.model.action.TranslationUpdate;
|
||||
|
49
src/main/java/de/marhali/easyi18n/action/Folding.java
Normal file
49
src/main/java/de/marhali/easyi18n/action/Folding.java
Normal file
@ -0,0 +1,49 @@
|
||||
package de.marhali.easyi18n.action;
|
||||
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.editor.FoldRegion;
|
||||
import com.intellij.openapi.editor.FoldingModel;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class Folding extends AnAction {
|
||||
@Override
|
||||
public void actionPerformed(AnActionEvent event) {
|
||||
Editor editor = event.getData(CommonDataKeys.EDITOR);
|
||||
if (editor != null) {
|
||||
Document document = editor.getDocument();
|
||||
int start = editor.getSelectionModel().getSelectionStart();
|
||||
int end = editor.getSelectionModel().getSelectionEnd();
|
||||
if (start != end) {
|
||||
String selectedText = document.getText(new TextRange(start, end)).trim();
|
||||
String translationKey = selectedText;
|
||||
|
||||
// Получение переведенного текста
|
||||
String translatedText = getTranslationForKey(translationKey);
|
||||
|
||||
FoldingModel foldingModel = editor.getFoldingModel();
|
||||
foldingModel.runBatchFoldingOperation(() -> {
|
||||
TextRange selectionRange = new TextRange(start, end);
|
||||
FoldRegion foldRegion = foldingModel.addFoldRegion(start, end, translatedText);
|
||||
if (foldRegion != null) {
|
||||
foldRegion.setExpanded(false);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private String getTranslationForKey(String key) {
|
||||
// Здесь может быть логика получения перевода по ключу
|
||||
Map<String, String> translations = new HashMap<>();
|
||||
translations.put("hello", "Привет");
|
||||
translations.put("world", "Мир");
|
||||
return translations.getOrDefault(key, key);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user