Initial basic framework.

This commit is contained in:
2021-07-13 12:32:20 +02:00
parent a4ddd6fb51
commit 6d6e411532
15 changed files with 462 additions and 0 deletions
@@ -0,0 +1,31 @@
package de.platon42.intellij.plugins.m68k
import com.intellij.openapi.fileTypes.LanguageFileType
import de.platon42.intellij.plugins.m68k.M68kIcons.FILE
import org.jetbrains.annotations.NonNls
import javax.swing.Icon
@Suppress("unused")
class M68kFileType private constructor() : LanguageFileType(M68kLanguage.INSTANCE, true) {
@NonNls
override fun getName(): String {
return "M68k ASM File"
}
override fun getDescription(): String {
return "M68k assembly language file"
}
@NonNls
override fun getDefaultExtension(): String {
return "asm"
}
override fun getIcon(): Icon {
return FILE
}
companion object {
val INSTANCE = M68kFileType()
}
}
@@ -0,0 +1,7 @@
package de.platon42.intellij.plugins.m68k
import com.intellij.openapi.util.IconLoader
object M68kIcons {
val FILE = IconLoader.getIcon("/icons/FileType_m68k.svg", javaClass)
}
@@ -0,0 +1,9 @@
package de.platon42.intellij.plugins.m68k
import com.intellij.lang.Language
class M68kLanguage private constructor() : Language("M68k") {
companion object {
val INSTANCE = M68kLanguage()
}
}
@@ -0,0 +1,6 @@
package de.platon42.intellij.plugins.m68k.psi
import com.intellij.psi.tree.IElementType
import de.platon42.intellij.plugins.m68k.M68kLanguage.Companion.INSTANCE
class M68kElementType(debugName: String) : IElementType(debugName, INSTANCE)
@@ -0,0 +1,11 @@
package de.platon42.intellij.plugins.m68k.psi
import com.intellij.psi.tree.IElementType
import de.platon42.intellij.plugins.m68k.M68kLanguage.Companion.INSTANCE
import org.jetbrains.annotations.NonNls
class M68kTokenType(@NonNls debugName: String) : IElementType(debugName, INSTANCE) {
override fun toString(): String {
return "M68kTokenType." + super.toString()
}
}