Skip to content

Commit

Permalink
Merge pull request #119 from liudongmiao/cwm
Browse files Browse the repository at this point in the history
code with me support, should close #52
  • Loading branch information
PHPirates authored Oct 1, 2024
2 parents 2f02b30 + 5ece2fe commit 83b40ba
Show file tree
Hide file tree
Showing 8 changed files with 75 additions and 2 deletions.
7 changes: 7 additions & 0 deletions plugin/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,12 @@ tasks {
freeCompilerArgs += listOf("-Xopt-in=kotlin.RequiresOptIn", "-Xjvm-default=all")
}
}
jar {
exclude("com/jetbrains/**")
}
instrumentedJar {
exclude("com/jetbrains/**")
}
changelog {
version = "${rootProject.version}"
path = Paths.get(projectDir.path, "..", "CHANGELOG.md").toString()
Expand Down Expand Up @@ -103,6 +109,7 @@ fun extractPluginDescription(): String {

val copyWebViewBuildResults by tasks.registering(Copy::class) {
from(webView)
exclude("tmp/**")
into(project.layout.buildDirectory.dir("resources/main/web-view"))
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.firsttimeinforever.intellij.pdf.viewer.ui.editor

import com.firsttimeinforever.intellij.pdf.viewer.lang.PdfFileType
import com.intellij.openapi.diagnostic.logger
import com.intellij.openapi.fileEditor.AsyncFileEditorProvider
import com.intellij.openapi.fileEditor.FileEditor
import com.intellij.openapi.fileEditor.FileEditorPolicy
Expand All @@ -12,7 +13,8 @@ class PdfFileEditorProvider : AsyncFileEditorProvider, DumbAware {
override fun getEditorTypeId() = "PDF"

override fun accept(project: Project, file: VirtualFile): Boolean {
return file.fileType == PdfFileType
logger.debug("check accept, file: $file")
return file.fileType == PdfFileType;
}

override fun createEditor(project: Project, file: VirtualFile): FileEditor {
Expand All @@ -26,4 +28,8 @@ class PdfFileEditorProvider : AsyncFileEditorProvider, DumbAware {
override fun build(): FileEditor = PdfFileEditor(project, file)
}
}

companion object {
private val logger = logger<PdfFileEditorProvider>()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.firsttimeinforever.intellij.pdf.viewer.ui.editor

import com.firsttimeinforever.intellij.pdf.viewer.lang.PdfFileType
import com.intellij.openapi.diagnostic.logger
import com.intellij.openapi.fileEditor.ex.FileEditorWithProvider
import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFile
import com.jetbrains.rd.ide.model.FileEditorModel
import com.jetbrains.rd.util.lifetime.Lifetime
import com.jetbrains.rdclient.fileEditors.FrontendFileEditorModelHandler

/**
* Created by liudongmiao on 2024-09-30.
*/
class PdfFrontendFileEditorModelHandler : FrontendFileEditorModelHandler {
override fun accept(project: Project, file: VirtualFile, model: FileEditorModel): Boolean {
logger.debug("check accept, file: $file")
return file.fileType == PdfFileType;
}

override fun createEditorWithProvider(project: Project, lifetime: Lifetime, file: VirtualFile, model: FileEditorModel): FileEditorWithProvider {
val provider = PdfFileEditorProvider()
return FileEditorWithProvider(provider.createEditor(project, file), provider)
}

companion object {
private val logger = logger<PdfFrontendFileEditorModelHandler>()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ class PdfJcefPreviewController(val project: Project, val virtualFile: VirtualFil
viewProperties = it.properties
// TODO: Move to dedicated in-memory stylesheet and serve it as a resource
updateViewTheme(collectThemeColors())
pipe.send(IdeMessages.SynctexAvailability(virtualFile.isSynctexFileAvailable() && isSynctexInstalled()))
pipe.send(IdeMessages.SynctexAvailability(virtualFile.parent != null && virtualFile.isSynctexFileAvailable() && isSynctexInstalled()))
viewLoaded = true
firstLoad = false
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.jetbrains.rd.ide.model

/**
* hidden api of code with me client
* <br>
* Created by liudongmiao on 2024-09-30.
*/
class FileEditorModel
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package com.jetbrains.rdclient.fileEditors

import com.intellij.openapi.fileEditor.ex.FileEditorWithProvider
import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFile
import com.jetbrains.rd.ide.model.FileEditorModel
import com.jetbrains.rd.util.lifetime.Lifetime

/**
* hidden api of code with me client
* <br>
* Created by liudongmiao on 2024-09-30.
*/
interface FrontendFileEditorModelHandler {
fun accept(project: Project, file: VirtualFile, model: FileEditorModel): Boolean
fun createEditorWithProvider(project: Project, lifetime: Lifetime, file: VirtualFile, model: FileEditorModel): FileEditorWithProvider
}
5 changes: 5 additions & 0 deletions plugin/src/main/resources/META-INF/cwm.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<idea-plugin>
<extensions defaultExtensionNs="com.intellij">
<rdclient.fileEditorModelHandler implementation="com.firsttimeinforever.intellij.pdf.viewer.ui.editor.PdfFrontendFileEditorModelHandler" order="first" />
</extensions>
</idea-plugin>
1 change: 1 addition & 0 deletions plugin/src/main/resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

<depends>com.intellij.modules.platform</depends>
<depends optional="true" config-file="texify-idea.xml">nl.rubensten.texifyidea</depends>
<depends optional="true" config-file="cwm.xml">com.intellij.jetbrains.client</depends>

<extensions defaultExtensionNs="com.intellij">
<fileType name="PDF"
Expand Down

0 comments on commit 83b40ba

Please sign in to comment.