package.json 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. {
  2. "name": "opencode-ux-plus",
  3. "displayName": "OpenCode UX+ (unofficial)",
  4. "description": "Unofficial OpenCode VSCode extension",
  5. "version": "25.12.16",
  6. "publisher": "paviko",
  7. "author": {
  8. "name": "paviko"
  9. },
  10. "license": "MIT",
  11. "homepage": "https://github.com/paviko/opencode-ide-plugin",
  12. "repository": {
  13. "type": "git",
  14. "url": "https://github.com/paviko/opencode-ide-plugin.git",
  15. "directory": "hosts/vscode-plugin"
  16. },
  17. "bugs": {
  18. "url": "https://github.com/paviko/opencode-ide-plugin/issues"
  19. },
  20. "engines": {
  21. "vscode": "^1.74.0"
  22. },
  23. "categories": [
  24. "Other"
  25. ],
  26. "icon": "resources/icon.png",
  27. "galleryBanner": {
  28. "color": "#1e1e1e",
  29. "theme": "dark"
  30. },
  31. "keywords": [
  32. "terminal",
  33. "bridge",
  34. "cli",
  35. "development"
  36. ],
  37. "activationEvents": [
  38. "onView:opencode.main",
  39. "onCommand:opencode.openPanel",
  40. "onCommand:opencode.addFileToContext",
  41. "onCommand:opencode.addLinesToContext",
  42. "onCommand:opencode.pastePath",
  43. "onCommand:opencode.showDiagnostics"
  44. ],
  45. "main": "./out/extension.js",
  46. "contributes": {
  47. "commands": [
  48. {
  49. "command": "opencode.openPanel",
  50. "title": "Open OpenCode Panel",
  51. "category": "OpenCode",
  52. "icon": "$(terminal)"
  53. },
  54. {
  55. "command": "opencode.addFileToContext",
  56. "title": "OpenCode: Add to context",
  57. "category": "OpenCode"
  58. },
  59. {
  60. "command": "opencode.addLinesToContext",
  61. "title": "OpenCode: Add lines to context",
  62. "category": "OpenCode"
  63. },
  64. {
  65. "command": "opencode.pastePath",
  66. "title": "OpenCode: Paste path",
  67. "category": "OpenCode"
  68. },
  69. {
  70. "command": "opencode.showDiagnostics",
  71. "title": "OpenCode: Show Diagnostics",
  72. "category": "OpenCode",
  73. "icon": "$(info)"
  74. }
  75. ],
  76. "viewsContainers": {
  77. "activitybar": [
  78. {
  79. "id": "opencode",
  80. "title": "OpenCode",
  81. "icon": "resources/icon.svg"
  82. }
  83. ]
  84. },
  85. "views": {
  86. "opencode": [
  87. {
  88. "type": "webview",
  89. "id": "opencode.main",
  90. "name": "OpenCode",
  91. "icon": "resources/icon.svg",
  92. "webview": {
  93. "retainContextWhenHidden": true
  94. }
  95. }
  96. ]
  97. },
  98. "menus": {
  99. "view/title": [
  100. {
  101. "command": "opencode.openPanel",
  102. "when": "view == opencode.main",
  103. "group": "navigation@1"
  104. },
  105. {
  106. "command": "opencode.showDiagnostics",
  107. "when": "view == opencode.main",
  108. "group": "navigation@2"
  109. }
  110. ],
  111. "explorer/context": [
  112. {
  113. "command": "opencode.addFileToContext",
  114. "group": "opencode@1",
  115. "when": "resourceScheme == file && !explorerResourceIsFolder"
  116. },
  117. {
  118. "command": "opencode.addFileToContext",
  119. "group": "opencode@1",
  120. "when": "resourceScheme == file && explorerResourceIsFolder"
  121. },
  122. {
  123. "command": "opencode.pastePath",
  124. "group": "opencode@2",
  125. "when": "resourceScheme == file && explorerResourceIsFolder"
  126. }
  127. ],
  128. "editor/context": [
  129. {
  130. "command": "opencode.addFileToContext",
  131. "group": "opencode@1"
  132. },
  133. {
  134. "command": "opencode.addLinesToContext",
  135. "group": "opencode@2",
  136. "when": "editorHasSelection"
  137. }
  138. ],
  139. "editor/title/context": [
  140. {
  141. "command": "opencode.addFileToContext",
  142. "group": "opencode@9",
  143. "when": "resourceScheme == file"
  144. }
  145. ],
  146. "openEditors/context": [
  147. {
  148. "command": "opencode.addFileToContext",
  149. "group": "opencode@9",
  150. "when": "resourceScheme == file"
  151. }
  152. ]
  153. },
  154. "keybindings": [
  155. {
  156. "command": "opencode.addFileToContext",
  157. "key": "ctrl+'",
  158. "mac": "cmd+'",
  159. "when": "editorTextFocus"
  160. },
  161. {
  162. "command": "opencode.addLinesToContext",
  163. "key": "ctrl+shift+'",
  164. "mac": "cmd+shift+'",
  165. "when": "editorTextFocus && editorHasSelection"
  166. }
  167. ],
  168. "configuration": {
  169. "title": "OpenCode",
  170. "properties": {
  171. "opencode.customCommand": {
  172. "type": "string",
  173. "default": "",
  174. "description": "Custom command to run in the terminal (optional)"
  175. }
  176. }
  177. }
  178. },
  179. "scripts": {
  180. "vscode:prepublish": "npm run copy-license && npm run compile",
  181. "copy-license": "node -e \"const fs=require('fs'); const path=require('path'); const src=path.resolve(__dirname,'..','..','LICENSE'); const dest=path.resolve(__dirname,'LICENSE'); if(fs.existsSync(src)){fs.copyFileSync(src,dest); console.log('Copied LICENSE to extension root');} else { console.warn('Root LICENSE not found at '+src); }\"",
  182. "compile": "tsc -p ./ && tsc -p ./tsconfig.test.json",
  183. "compile:production": "tsc -p ./",
  184. "watch": "tsc -watch -p ./",
  185. "pretest": "pnpm run compile && pnpm run lint",
  186. "lint": "eslint src --ext ts",
  187. "test": "vscode-test",
  188. "test:script": "./scripts/test.sh",
  189. "package": "cd ../ && ./scripts/build-vscode.sh --production --skip-tests",
  190. "package:dev": "cd ../ && ./scripts/build-vscode.sh --skip-tests",
  191. "package:pre-release": "pnpm run compile:production && vsce package --pre-release --no-dependencies",
  192. "publish": "pnpm run compile:production && vsce publish --no-dependencies",
  193. "publish:pre-release": "pnpm run compile:production && vsce publish --pre-release --no-dependencies",
  194. "install:vsce": "npm install -g @vscode/vsce",
  195. "clean": "rimraf out *.vsix",
  196. "build:binaries": "cd ../ && ./scripts/build_opencode.sh",
  197. "prebuild": "pnpm run build:binaries && pnpm run compile:production"
  198. },
  199. "devDependencies": {
  200. "@types/glob": "^9.0.0",
  201. "@types/mocha": "^10.0.6",
  202. "@types/node": "18.x",
  203. "@types/sinon": "^17.0.2",
  204. "@types/vscode": "^1.74.0",
  205. "@typescript-eslint/eslint-plugin": "^6.15.0",
  206. "@typescript-eslint/parser": "^6.15.0",
  207. "@vscode/test-cli": "^0.0.4",
  208. "@vscode/test-electron": "^2.3.8",
  209. "@vscode/vsce": "^2.22.0",
  210. "eslint": "^8.56.0",
  211. "glob": "^11.0.3",
  212. "mocha": "^10.2.0",
  213. "rimraf": "^5.0.5",
  214. "sinon": "^17.0.1",
  215. "typescript": "^5.0.0"
  216. },
  217. "packageManager": "[email protected]+sha512.b4106707c7225b1748b61595953ccbebff97b54ad05d002aa3635f633b9c53cd666f7ce9b8bc44704f1fa048b9a49b55371ab2d9e9d667d1efe2ef1514bcd513"
  218. }