Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions jam-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,24 @@
<version>3-SNAPSHOT</version>
<packaging>jar</packaging>

<build>
<plugins>
<plugin>
<groupId>consulo.maven</groupId>
<artifactId>maven-consulo-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>generate-localize</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

<dependencies>
<dependency>
<groupId>consulo</groupId>
Expand Down
7 changes: 6 additions & 1 deletion jam-api/src/main/java/com/intellij/jam/JamMessages.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,20 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.intellij.jam;

import consulo.annotation.DeprecationInfo;
import consulo.annotation.internal.MigratedExtensionsTo;
import consulo.component.util.localize.AbstractBundle;
import consulo.java.jam.localize.JavaAnnotationModelLocalize;
import org.jetbrains.annotations.PropertyKey;

/**
* @author Gregory.Shrago
*/
@Deprecated
@DeprecationInfo("Use JavaAnnotationModelLocalize")
@MigratedExtensionsTo(JavaAnnotationModelLocalize.class)
public class JamMessages extends AbstractBundle {

protected static final String PATH_TO_BUNDLE = "messages.JamBundle";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
*/
package com.intellij.jam.view.ui;

import com.intellij.jam.JamMessages;
import com.intellij.java.language.psi.*;
import com.intellij.java.language.psi.util.PsiFormatUtil;
import consulo.java.jam.localize.JavaAnnotationModelLocalize;
import consulo.language.editor.refactoring.ui.EnableDisableAction;
import consulo.language.icon.IconDescriptorUpdaters;
import consulo.language.psi.PsiElement;
Expand Down Expand Up @@ -142,11 +142,10 @@ else if (psiElement instanceof PsiAnnotation) {
return annotation.getContainingFile().getName() + ": @" + annotation.getQualifiedName();
}
}
else if (psiElement instanceof NavigationItem) {
final NavigationItem navigationItem = (NavigationItem)psiElement;
final ItemPresentation presentation = navigationItem.getPresentation();
else if (psiElement instanceof NavigationItem navigationItem) {
ItemPresentation presentation = navigationItem.getPresentation();
if (presentation != null) {
return StringUtil.notNullize(presentation.getPresentableText(), JamMessages.message("unnamed.element.presentable.name"));
return presentation.getPresentableText().orIfEmpty(JavaAnnotationModelLocalize.unnamedElementPresentableName()).get();
}
}
return psiElement.toString();
Expand Down Expand Up @@ -200,7 +199,7 @@ public TableCellRenderer getRenderer(final PsiElement psiElement) {
protected void customizeCellRenderer(JTable table, Object value, boolean selected, boolean hasFocus, int row, int column) {
append((String)value, SimpleTextAttributes.REGULAR_ATTRIBUTES);
if (!psiElement.isPhysical()) {
append(" [" + JamMessages.message("postfix.not.physical.element") + "]", SimpleTextAttributes.GRAY_ATTRIBUTES);
append(" [" + JavaAnnotationModelLocalize.postfixNotPhysicalElement().get() + "]", SimpleTextAttributes.GRAY_ATTRIBUTES);
}
setIcon(IconDescriptorUpdaters.getIcon(psiElement, 0));
setOpaque(false);
Expand Down
3 changes: 2 additions & 1 deletion jam-api/src/main/java/module-info.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* @author VISTALL
* @since 02/12/2022
* @since 2022-12-02
*/
module consulo.java.jam.api {
requires transitive consulo.java.language.api;
Expand All @@ -25,5 +25,6 @@
exports com.intellij.jam.view;
exports com.intellij.jam.view.tree;
exports com.intellij.jam.view.ui;
exports consulo.java.jam.localize;
exports consulo.java.jam.util;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
button.delete:
text: '&Delete'
button.do.not.delete:
text: Do &Not Delete
column.name.elements.to.delete:
text: Elements to Delete
command.name.deleting.element:
text: Deleting {0}
confirmation.text.0.1.belongs.to.2.rename.2:
text: |-
{0} ''{1}'' belongs to {2}.
Do you want to rename {2} instead?
confirmation.text.delete.element:
text: Delete {0}?
dialog.title.rename.0.classes:
text: Rename {0} Classes
dialog.title.select.elements.to.delete:
text: Select Elements to Delete
local.vcs.action.name.deleting.element:
text: Deleting {0}
message.title.deleting.element:
text: Deleting {0}
model.delete.items:
text: items
postfix.not.physical.element:
text: nonexistent
this.0.1.belongs.to.2.search.usages.2:
text: |-
This {0} ''{1}'' belongs to {2}.
Do you want to search for the {2} usages instead?
unnamed.element.presentable.name:
text: <unnamed>
Original file line number Diff line number Diff line change
Expand Up @@ -3559,13 +3559,13 @@ private static String format(PsiElement element) {
if (element instanceof PsiField field) {
return formatField(field);
}
return ElementDescriptionUtil.getElementDescription(element, HighlightUsagesDescriptionLocation.INSTANCE);
return ElementDescriptionUtil.getElementDescription(element, HighlightUsagesDescriptionLocation.INSTANCE).get();
}

private static PsiElement getOuterReferenceParent(PsiJavaCodeReferenceElement ref) {
PsiElement element = ref;
while (element instanceof PsiJavaCodeReferenceElement) {
element = element.getParent();
while (element instanceof PsiJavaCodeReferenceElement thisRef) {
element = thisRef.getParent();
}
return element;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import consulo.component.util.Iconable;
import consulo.language.icon.IconDescriptorUpdaters;
import consulo.language.psi.PsiFile;
import consulo.localize.LocalizeValue;
import consulo.navigation.ItemPresentation;
import consulo.navigation.ItemPresentationProvider;
import consulo.ui.ex.ColoredItemPresentation;
Expand All @@ -44,8 +45,8 @@ public ItemPresentation getPresentation(final PsiClass psiClass) {
return new ColoredItemPresentation() {
@Override
@RequiredReadAction
public String getPresentableText() {
return ClassPresentationUtil.getNameForClass(psiClass, false).get();
public LocalizeValue getPresentableText() {
return ClassPresentationUtil.getNameForClass(psiClass, false);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@
import com.intellij.java.language.impl.psi.impl.PsiImplUtil;
import com.intellij.java.language.psi.PsiJavaModule;
import consulo.annotation.component.ExtensionImpl;
import consulo.java.language.impl.JavaIcons;
import consulo.java.language.impl.icon.JavaPsiImplIconGroup;
import consulo.language.content.FileIndexFacade;
import consulo.localize.LocalizeValue;
import consulo.module.Module;
import consulo.navigation.ItemPresentation;
import consulo.navigation.ItemPresentationProvider;
Expand All @@ -32,46 +33,44 @@

@ExtensionImpl
public class JavaModulePresentationProvider implements ItemPresentationProvider<PsiJavaModule> {
private static final Pattern JAR_NAME = Pattern.compile(".+/([^/]+\\.jar)!/.*");
private static final Pattern JAR_NAME = Pattern.compile(".+/([^/]+\\.jar)!/.*");

@Override
public Class<PsiJavaModule> getItemClass() {
return PsiJavaModule.class;
}
@Override
public Class<PsiJavaModule> getItemClass() {
return PsiJavaModule.class;
}

@Override
public ItemPresentation getPresentation(final PsiJavaModule item) {
return new ItemPresentation() {
@Nullable
@Override
public String getPresentableText() {
return item.getName();
}
@Override
public ItemPresentation getPresentation(final PsiJavaModule item) {
return new ItemPresentation() {
@Override
public LocalizeValue getPresentableText() {
return LocalizeValue.ofNullable(item.getName());
}

@Nullable
@Override
public String getLocationString() {
VirtualFile file = PsiImplUtil.getModuleVirtualFile(item);
FileIndexFacade index = FileIndexFacade.getInstance(item.getProject());
if (index.isInLibraryClasses(file)) {
Matcher matcher = JAR_NAME.matcher(file.getPath());
if (matcher.find()) {
return matcher.group(1);
}
} else if (index.isInSource(file)) {
Module module = index.getModuleForFile(file);
if (module != null) {
return '[' + module.getName() + ']';
}
}
return null;
}
@Override
public @Nullable String getLocationString() {
VirtualFile file = PsiImplUtil.getModuleVirtualFile(item);
FileIndexFacade index = FileIndexFacade.getInstance(item.getProject());
if (index.isInLibraryClasses(file)) {
Matcher matcher = JAR_NAME.matcher(file.getPath());
if (matcher.find()) {
return matcher.group(1);
}
}
else if (index.isInSource(file)) {
Module module = index.getModuleForFile(file);
if (module != null) {
return '[' + module.getName() + ']';
}
}
return null;
}

@Nullable
@Override
public Image getIcon() {
return JavaIcons.Nodes.JavaModule;
}
};
}
@Override
public @Nullable Image getIcon() {
return JavaPsiImplIconGroup.nodesJavamodule();
}
};
}
}
Loading
Loading