paviko 3 месяцев назад
Родитель
Сommit
667e3dc1a8

+ 0 - 16
hosts/jetbrains-plugin/CHANGELOG.md

@@ -1,16 +0,0 @@
-# OpenCode JetBrains Plugin Changelog
-
-## 2025.11.20
-
-- Providers can be configured from Settings panel - can be added/removed, also OAuth
-- Fixed context size bug when session what aborted
-- Fix session error toasts and display session state messages
-- Updated OpenCode to v1.0.80
-
-## 25.11.19
-
-- Updated OpenCode to v1.0.78
-
-## 25.11.18
-
-- First release of the OpenCode JetBrains plugin, based on OpenCode v1.0.68

+ 3 - 1
hosts/jetbrains-plugin/README.md

@@ -1,4 +1,4 @@
-# OpenCode JetBrains Plugin
+# OpenCode JetBrains Plugin (unofficial)
 
 Unofficial OpenCode JetBrain
 
@@ -7,3 +7,5 @@ Unofficial OpenCode JetBrain
 - Add current opened file to context via command/shortcut
 - Add selected line ranges to context via command/shortcut
 - Easier prompt editing in a dedicated text area
+
+This plugin bundles the OpenCode backend executable for supported platforms and runs it locally. The binaries are stored under `src/main/resources/bin` inside the plugin and are used to provide the chat and analysis features.

+ 24 - 7
hosts/jetbrains-plugin/build.gradle.kts

@@ -75,13 +75,30 @@ intellijPlatform {
             sinceBuild.set("243")
         }
         // Provide metadata without setting an upper build bound (no untilBuild)
-        description = providers.provider { "Runs local OpenCode backend and displays the chat UI." }
-        changeNotes = providers.provider {
-            val f = file("CHANGELOG.md")
-            if (f.isFile) {
-                f.readText()
+        description = providers.provider {
+            val f = file("description.html")
+            if (!f.isFile) {
+                return@provider "Runs local OpenCode backend and displays the chat UI."
+            }
+
+            val text = f.readText().trim()
+            if (text.isEmpty()) {
+                "Runs local OpenCode backend and displays the chat UI."
             } else {
+                text
+            }
+        }
+        changeNotes = providers.provider {
+            val f = file("changelog.html")
+            if (!f.isFile) {
+                return@provider "See CHANGELOG.md for details."
+            }
+
+            val text = f.readText().trim()
+            if (text.isEmpty()) {
                 "See CHANGELOG.md for details."
+            } else {
+                text
             }
         }
     }
@@ -90,8 +107,8 @@ intellijPlatform {
 tasks {
     // Ensure no upper build bound is set in plugin.xml so the plugin stays compatible with newer IDEs
     patchPluginXml {
-        // keep sinceBuild from pluginConfiguration
-        untilBuild.set("")
+        // keep sinceBuild from pluginConfiguration, but expand upper bound to newer IDE builds
+        untilBuild.set("261.*")
     }
 
     prepareSandbox {

+ 19 - 0
hosts/jetbrains-plugin/changelog.html

@@ -0,0 +1,19 @@
+<h2>OpenCode (unofficial) JetBrains Plugin Changelog</h2>
+
+<h3>2025.11.20</h3>
+<ul>
+  <li>Providers can be configured from Settings panel - can be added/removed, also OAuth</li>
+  <li>Fixed context size bug when session what aborted</li>
+  <li>Fix session error toasts and display session state messages</li>
+  <li>Updated OpenCode to v1.0.80</li>
+</ul>
+
+<h3>25.11.19</h3>
+<ul>
+  <li>Updated OpenCode to v1.0.78</li>
+</ul>
+
+<h3>25.11.18</h3>
+<ul>
+  <li>First release of the OpenCode JetBrains plugin, based on OpenCode v1.0.68</li>
+</ul>

+ 23 - 0
hosts/jetbrains-plugin/description.html

@@ -0,0 +1,23 @@
+<h2>OpenCode (unofficial) JetBrains Plugin</h2>
+<p>Unofficial OpenCode JetBrains plugin.</p>
+<ul>
+  <li>Drag and drop files to context (JetBrains: from Project Window; VS Code: from Explorer or editor tab)</li>
+  <li>Add all opened files to context via command or shortcut</li>
+  <li>Add current opened file to context via command or shortcut</li>
+  <li>Add selected line ranges to context via command or shortcut</li>
+  <li>Easier prompt editing in a dedicated text area</li>
+</ul>
+
+<p>
+  This plugin bundles the OpenCode backend executable for supported platforms and
+  runs it locally. The binaries are stored under <code>src/main/resources/bin</code>
+  inside the plugin and are used to provide the chat and analysis features.
+</p>
+
+<p>
+  <img
+    src="https://raw.githubusercontent.com/paviko/opencode-ide-plugin/ide-plugin/hosts/screenshot.png"
+    alt="OpenCode IDE plugin screenshot"
+    width="600"
+  />
+</p>

+ 3 - 3
hosts/jetbrains-plugin/src/main/resources/META-INF/plugin.xml

@@ -1,7 +1,7 @@
 <idea-plugin>
-  <vendor email="[email protected]" url="https://github.com/opencode/opencode">OpenCode</vendor>
-  <id>paviko.opencode</id>
-  <name>OpenCode</name>
+  <vendor email="[email protected]" url="https://github.com/paviko/opencode-ide-plugin">paviko</vendor>
+  <id>paviko</id>
+  <name>OpenCode (unofficial)</name>
   <description>Runs local OpenCode backend and displays the chat UI.</description>
 
   <depends>com.intellij.modules.platform</depends>

+ 6 - 0
hosts/jetbrains-plugin/src/main/resources/META-INF/pluginIcon.svg

@@ -0,0 +1,6 @@
+<svg width="40" height="40" viewBox="0 0 96 96" fill="none" xmlns="http://www.w3.org/2000/svg">
+  <path d="M22 12H74C81.1797 12 86 16.8203 86 24V60C86 67.1797 81.1797 72 74 72H58L48 84L38 72H22C14.8203 72 10 67.1797 10 60V24C10 16.8203 14.8203 12 22 12Z" stroke="#555F6C" stroke-width="7" stroke-linecap="round" stroke-linejoin="round"/>
+  <path d="M30 30H50" stroke="#555F6C" stroke-width="7" stroke-linecap="round" stroke-linejoin="round"/>
+  <path d="M54 42H68C71.3137 42 74 44.6863 74 48C74 51.3137 71.3137 54 68 54H58" stroke="#555F6C" stroke-width="7" stroke-linecap="round" stroke-linejoin="round"/>
+  <path d="M36 54H50" stroke="#555F6C" stroke-width="7" stroke-linecap="round" stroke-linejoin="round"/>
+</svg>

+ 4 - 0
hosts/vscode-plugin/README.md

@@ -7,3 +7,7 @@ Unofficial OpenCode VSCode plugin
 - Add current opened file to context via command/shortcut
 - Add selected line ranges to context via command/shortcut
 - Easier prompt editing in a dedicated text area
+
+This extension bundles the OpenCode backend executable for supported platforms and runs it locally. The binaries are stored under `resources/bin` inside the extension and are used to provide the chat and analysis features.
+
+![OpenCode VSCode extension screenshot](https://raw.githubusercontent.com/paviko/opencode-ide-plugin/ide-plugin/hosts/screenshot.png)

+ 8 - 8
hosts/vscode-plugin/package.json

@@ -1,21 +1,21 @@
 {
   "name": "opencode",
-  "displayName": "OpenCode",
-  "description": "OpenCode for VSCode",
+  "displayName": "OpenCode (unofficial)",
+  "description": "Unofficial OpenCode VSCode extension",
   "version": "25.11.20",
-  "publisher": "opencode",
+  "publisher": "paviko",
   "author": {
-    "name": "OpenCode Team"
+    "name": "Paviko"
   },
-  "license": "Apache-2.0",
-  "homepage": "https://github.com/opencode/opencode",
+  "license": "MIT",
+  "homepage": "https://github.com/paviko/opencode-ide-plugin",
   "repository": {
     "type": "git",
-    "url": "https://github.com/opencode/opencode.git",
+    "url": "https://github.com/paviko/opencode-ide-plugin.git",
     "directory": "hosts/vscode-plugin"
   },
   "bugs": {
-    "url": "https://github.com/opencode/opencode/issues"
+    "url": "https://github.com/paviko/opencode-ide-plugin/issues"
   },
   "engines": {
     "vscode": "^1.74.0"