|
3 | 3 |
|
4 | 4 | package software.aws.toolkits.jetbrains.services.amazonq.lsp.artifacts |
5 | 5 |
|
| 6 | +import com.intellij.openapi.fileChooser.FileChooser |
| 7 | +import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory |
6 | 8 | import com.intellij.openapi.project.Project |
| 9 | +import com.intellij.openapi.vfs.VfsUtil |
7 | 10 | import com.intellij.util.text.SemVer |
8 | 11 | import org.jetbrains.annotations.VisibleForTesting |
9 | 12 | import software.aws.toolkits.core.utils.error |
10 | 13 | import software.aws.toolkits.core.utils.getLogger |
11 | 14 | import software.aws.toolkits.core.utils.info |
12 | 15 | import software.aws.toolkits.jetbrains.services.amazonq.project.manifest.ManifestManager |
13 | 16 | import java.nio.file.Path |
| 17 | +import java.nio.file.Paths |
14 | 18 |
|
15 | 19 | class ArtifactManager( |
16 | 20 | private val project: Project, |
@@ -105,4 +109,18 @@ class ArtifactManager( |
105 | 109 | logger.info { "Target found in the current Version: ${versions.first().serverVersion}" } |
106 | 110 | return currentTarget |
107 | 111 | } |
| 112 | + |
| 113 | + fun overrideLspArtifacts(): Path? { |
| 114 | + val baseDir = VfsUtil.getUserHomeDir() |
| 115 | + |
| 116 | + val fileChooserDescriptor = FileChooserDescriptorFactory.createSingleFileDescriptor() |
| 117 | + .withTitle("Select Artifact") |
| 118 | + .withDescription("Choose a file to upload") |
| 119 | + .withExtensionFilter("js") |
| 120 | + fileChooserDescriptor.isForcedToUseIdeaFileChooser = true |
| 121 | + |
| 122 | + return FileChooser.chooseFile(fileChooserDescriptor, project, baseDir)?.path?.let { |
| 123 | + Paths.get(it) |
| 124 | + } |
| 125 | + } |
108 | 126 | } |
0 commit comments