Create java module file type

GitOrigin-RevId: 57870035dccbd5d35c331a4ddfc3d088edcf8aba
This commit is contained in:
Roman Ivanov
2024-04-19 14:19:04 +00:00
committed by intellij-monorepo-bot
parent 5d07ddb9b3
commit 4a4ec64d2e
3 changed files with 49 additions and 0 deletions
@@ -166,7 +166,9 @@ expected.with='with' expected
expected.pattern=Pattern expected
filetype.class.description=Java class
filetype.class.display.name=Java class
filetype.java.module.display.name=Java module
filetype.java.description=Java
filetype.java.module.description=Java module
filetype.jshell.description=JShell snippet
finally.without.try='finally' without 'try'
import.statement.identifier.or.asterisk.expected.=Identifier or '*' expected
@@ -0,0 +1,46 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.ide.highlighter;
import com.intellij.core.JavaPsiBundle;
import com.intellij.lang.java.JavaLanguage;
import com.intellij.openapi.fileTypes.LanguageFileType;
import com.intellij.ui.IconManager;
import com.intellij.ui.PlatformIcons;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
public final class JavaModuleFileType extends LanguageFileType {
public static final JavaModuleFileType INSTANCE = new JavaModuleFileType();
private JavaModuleFileType() {
super(JavaLanguage.INSTANCE, true);
}
@Override
public @NotNull String getName() {
return "Java module";
}
@Override
public @NotNull String getDescription() {
return JavaPsiBundle.message("filetype.java.module.description");
}
@Override
public @NotNull String getDefaultExtension() {
return JavaFileType.DEFAULT_EXTENSION;
}
@Nls
@Override
public @NotNull String getDisplayName() {
return JavaPsiBundle.message("filetype.java.module.display.name");
}
@Override
public Icon getIcon() {
return IconManager.getInstance().getPlatformIcon(PlatformIcons.JavaFileType);
}
}
@@ -1407,6 +1407,7 @@
<lookup.actionProvider implementation="com.intellij.codeInsight.completion.ExcludeLoggerFromCompletionLookupActionProvider" id="loggerExcludeFromCompletion"/>
<lookup.actionProvider implementation="com.intellij.codeInsight.completion.ImportStaticLookupActionProvider" id="importStatic"/>
<fileType extensions="java" hashBangs="java" name="JAVA" language="JAVA" fieldName="INSTANCE" implementationClass="com.intellij.ide.highlighter.JavaFileType"/>
<fileType fileNames="module-info.java" name="Java module" fieldName="INSTANCE" implementationClass="com.intellij.ide.highlighter.JavaModuleFileType"/>
<fileType extensions="class" name="CLASS" fieldName="INSTANCE" implementationClass="com.intellij.ide.highlighter.JavaClassFileType"/>
<fileType extensions="snippet" name="JSHELL" language="JShellLanguage" fieldName="INSTANCE" implementationClass="com.intellij.ide.highlighter.JShellFileType"/>
<customPropertyScopeProvider implementation="com.intellij.psi.impl.search.SimpleAccessorScopeProvider"/>