claude-code-plus-plus 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/dist/sidebar/app.d.ts +2 -0
  2. package/dist/sidebar/app.d.ts.map +1 -1
  3. package/dist/sidebar/app.js +30 -3
  4. package/dist/sidebar/app.js.map +1 -1
  5. package/dist/sidebar/render.d.ts +4 -0
  6. package/dist/sidebar/render.d.ts.map +1 -1
  7. package/dist/sidebar/render.js +65 -0
  8. package/dist/sidebar/render.js.map +1 -1
  9. package/dist/types.d.ts +2 -1
  10. package/dist/types.d.ts.map +1 -1
  11. package/dist/types.js.map +1 -1
  12. package/package.json +1 -1
  13. package/dist/app.d.ts +0 -52
  14. package/dist/app.d.ts.map +0 -1
  15. package/dist/app.js +0 -318
  16. package/dist/app.js.map +0 -1
  17. package/dist/core/index.d.ts +0 -14
  18. package/dist/core/index.d.ts.map +0 -1
  19. package/dist/core/index.js +0 -14
  20. package/dist/core/index.js.map +0 -1
  21. package/dist/core/session/index.d.ts +0 -7
  22. package/dist/core/session/index.d.ts.map +0 -1
  23. package/dist/core/session/index.js +0 -6
  24. package/dist/core/session/index.js.map +0 -1
  25. package/dist/core/session/session-manager.d.ts +0 -46
  26. package/dist/core/session/session-manager.d.ts.map +0 -1
  27. package/dist/core/session/session-manager.js +0 -245
  28. package/dist/core/session/session-manager.js.map +0 -1
  29. package/dist/core/session/session.d.ts +0 -44
  30. package/dist/core/session/session.d.ts.map +0 -1
  31. package/dist/core/session/session.js +0 -78
  32. package/dist/core/session/session.js.map +0 -1
  33. package/dist/core/terminal/index.d.ts +0 -7
  34. package/dist/core/terminal/index.d.ts.map +0 -1
  35. package/dist/core/terminal/index.js +0 -6
  36. package/dist/core/terminal/index.js.map +0 -1
  37. package/dist/core/terminal/terminal-manager.d.ts +0 -36
  38. package/dist/core/terminal/terminal-manager.d.ts.map +0 -1
  39. package/dist/core/terminal/terminal-manager.js +0 -182
  40. package/dist/core/terminal/terminal-manager.js.map +0 -1
  41. package/dist/core/terminal/terminal.d.ts +0 -27
  42. package/dist/core/terminal/terminal.d.ts.map +0 -1
  43. package/dist/core/terminal/terminal.js +0 -38
  44. package/dist/core/terminal/terminal.js.map +0 -1
  45. package/dist/core/workspace/index.d.ts +0 -7
  46. package/dist/core/workspace/index.d.ts.map +0 -1
  47. package/dist/core/workspace/index.js +0 -6
  48. package/dist/core/workspace/index.js.map +0 -1
  49. package/dist/core/workspace/workspace-manager.d.ts +0 -59
  50. package/dist/core/workspace/workspace-manager.d.ts.map +0 -1
  51. package/dist/core/workspace/workspace-manager.js +0 -224
  52. package/dist/core/workspace/workspace-manager.js.map +0 -1
  53. package/dist/core/workspace/workspace.d.ts +0 -56
  54. package/dist/core/workspace/workspace.d.ts.map +0 -1
  55. package/dist/core/workspace/workspace.js +0 -96
  56. package/dist/core/workspace/workspace.js.map +0 -1
  57. package/dist/core/worktree/index.d.ts +0 -7
  58. package/dist/core/worktree/index.d.ts.map +0 -1
  59. package/dist/core/worktree/index.js +0 -6
  60. package/dist/core/worktree/index.js.map +0 -1
  61. package/dist/core/worktree/worktree-manager.d.ts +0 -47
  62. package/dist/core/worktree/worktree-manager.d.ts.map +0 -1
  63. package/dist/core/worktree/worktree-manager.js +0 -170
  64. package/dist/core/worktree/worktree-manager.js.map +0 -1
  65. package/dist/core/worktree/worktree.d.ts +0 -35
  66. package/dist/core/worktree/worktree.d.ts.map +0 -1
  67. package/dist/core/worktree/worktree.js +0 -50
  68. package/dist/core/worktree/worktree.js.map +0 -1
  69. package/dist/core/worktree-manager.d.ts +0 -26
  70. package/dist/core/worktree-manager.d.ts.map +0 -1
  71. package/dist/core/worktree-manager.js +0 -177
  72. package/dist/core/worktree-manager.js.map +0 -1
  73. package/dist/events/bus.d.ts +0 -76
  74. package/dist/events/bus.d.ts.map +0 -1
  75. package/dist/events/bus.js +0 -223
  76. package/dist/events/bus.js.map +0 -1
  77. package/dist/events/handlers/index.d.ts +0 -28
  78. package/dist/events/handlers/index.d.ts.map +0 -1
  79. package/dist/events/handlers/index.js +0 -44
  80. package/dist/events/handlers/index.js.map +0 -1
  81. package/dist/events/handlers/session-events.d.ts +0 -12
  82. package/dist/events/handlers/session-events.d.ts.map +0 -1
  83. package/dist/events/handlers/session-events.js +0 -38
  84. package/dist/events/handlers/session-events.js.map +0 -1
  85. package/dist/events/handlers/terminal-events.d.ts +0 -12
  86. package/dist/events/handlers/terminal-events.d.ts.map +0 -1
  87. package/dist/events/handlers/terminal-events.js +0 -37
  88. package/dist/events/handlers/terminal-events.js.map +0 -1
  89. package/dist/events/handlers/ui-events.d.ts +0 -11
  90. package/dist/events/handlers/ui-events.d.ts.map +0 -1
  91. package/dist/events/handlers/ui-events.js +0 -202
  92. package/dist/events/handlers/ui-events.js.map +0 -1
  93. package/dist/events/index.d.ts +0 -9
  94. package/dist/events/index.d.ts.map +0 -1
  95. package/dist/events/index.js +0 -10
  96. package/dist/events/index.js.map +0 -1
  97. package/dist/multiplexer/base.d.ts +0 -73
  98. package/dist/multiplexer/base.d.ts.map +0 -1
  99. package/dist/multiplexer/base.js +0 -68
  100. package/dist/multiplexer/base.js.map +0 -1
  101. package/dist/multiplexer/factory.d.ts +0 -28
  102. package/dist/multiplexer/factory.d.ts.map +0 -1
  103. package/dist/multiplexer/factory.js +0 -72
  104. package/dist/multiplexer/factory.js.map +0 -1
  105. package/dist/multiplexer/index.d.ts +0 -14
  106. package/dist/multiplexer/index.d.ts.map +0 -1
  107. package/dist/multiplexer/index.js +0 -15
  108. package/dist/multiplexer/index.js.map +0 -1
  109. package/dist/multiplexer/tmux/index.d.ts +0 -9
  110. package/dist/multiplexer/tmux/index.d.ts.map +0 -1
  111. package/dist/multiplexer/tmux/index.js +0 -7
  112. package/dist/multiplexer/tmux/index.js.map +0 -1
  113. package/dist/multiplexer/tmux/tmux-commands.d.ts +0 -96
  114. package/dist/multiplexer/tmux/tmux-commands.d.ts.map +0 -1
  115. package/dist/multiplexer/tmux/tmux-commands.js +0 -282
  116. package/dist/multiplexer/tmux/tmux-commands.js.map +0 -1
  117. package/dist/multiplexer/tmux/tmux-config.d.ts +0 -57
  118. package/dist/multiplexer/tmux/tmux-config.d.ts.map +0 -1
  119. package/dist/multiplexer/tmux/tmux-config.js +0 -103
  120. package/dist/multiplexer/tmux/tmux-config.js.map +0 -1
  121. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts +0 -94
  122. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts.map +0 -1
  123. package/dist/multiplexer/tmux/tmux-multiplexer.js +0 -302
  124. package/dist/multiplexer/tmux/tmux-multiplexer.js.map +0 -1
  125. package/dist/multiplexer/windows/index.d.ts +0 -5
  126. package/dist/multiplexer/windows/index.d.ts.map +0 -1
  127. package/dist/multiplexer/windows/index.js +0 -5
  128. package/dist/multiplexer/windows/index.js.map +0 -1
  129. package/dist/multiplexer/windows/windows-multiplexer.d.ts +0 -61
  130. package/dist/multiplexer/windows/windows-multiplexer.d.ts.map +0 -1
  131. package/dist/multiplexer/windows/windows-multiplexer.js +0 -151
  132. package/dist/multiplexer/windows/windows-multiplexer.js.map +0 -1
  133. package/dist/services/claude/claude-detector.d.ts +0 -37
  134. package/dist/services/claude/claude-detector.d.ts.map +0 -1
  135. package/dist/services/claude/claude-detector.js +0 -83
  136. package/dist/services/claude/claude-detector.js.map +0 -1
  137. package/dist/services/claude/claude-service.d.ts +0 -57
  138. package/dist/services/claude/claude-service.d.ts.map +0 -1
  139. package/dist/services/claude/claude-service.js +0 -108
  140. package/dist/services/claude/claude-service.js.map +0 -1
  141. package/dist/services/claude/index.d.ts +0 -7
  142. package/dist/services/claude/index.d.ts.map +0 -1
  143. package/dist/services/claude/index.js +0 -6
  144. package/dist/services/claude/index.js.map +0 -1
  145. package/dist/services/git/branch-service.d.ts +0 -64
  146. package/dist/services/git/branch-service.d.ts.map +0 -1
  147. package/dist/services/git/branch-service.js +0 -217
  148. package/dist/services/git/branch-service.js.map +0 -1
  149. package/dist/services/git/git-service.d.ts +0 -44
  150. package/dist/services/git/git-service.d.ts.map +0 -1
  151. package/dist/services/git/git-service.js +0 -145
  152. package/dist/services/git/git-service.js.map +0 -1
  153. package/dist/services/git/index.d.ts +0 -8
  154. package/dist/services/git/index.d.ts.map +0 -1
  155. package/dist/services/git/index.js +0 -7
  156. package/dist/services/git/index.js.map +0 -1
  157. package/dist/services/git/worktree-service.d.ts +0 -61
  158. package/dist/services/git/worktree-service.d.ts.map +0 -1
  159. package/dist/services/git/worktree-service.js +0 -243
  160. package/dist/services/git/worktree-service.js.map +0 -1
  161. package/dist/services/index.d.ts +0 -12
  162. package/dist/services/index.d.ts.map +0 -1
  163. package/dist/services/index.js +0 -12
  164. package/dist/services/index.js.map +0 -1
  165. package/dist/services/process/index.d.ts +0 -8
  166. package/dist/services/process/index.d.ts.map +0 -1
  167. package/dist/services/process/index.js +0 -6
  168. package/dist/services/process/index.js.map +0 -1
  169. package/dist/services/process/process-monitor.d.ts +0 -98
  170. package/dist/services/process/process-monitor.d.ts.map +0 -1
  171. package/dist/services/process/process-monitor.js +0 -173
  172. package/dist/services/process/process-monitor.js.map +0 -1
  173. package/dist/services/process/process-spawner.d.ts +0 -55
  174. package/dist/services/process/process-spawner.d.ts.map +0 -1
  175. package/dist/services/process/process-spawner.js +0 -93
  176. package/dist/services/process/process-spawner.js.map +0 -1
  177. package/dist/sidebar.d.ts +0 -13
  178. package/dist/sidebar.d.ts.map +0 -1
  179. package/dist/sidebar.js +0 -1535
  180. package/dist/sidebar.js.map +0 -1
  181. package/dist/state/actions.d.ts +0 -49
  182. package/dist/state/actions.d.ts.map +0 -1
  183. package/dist/state/actions.js +0 -512
  184. package/dist/state/actions.js.map +0 -1
  185. package/dist/state/index.d.ts +0 -16
  186. package/dist/state/index.d.ts.map +0 -1
  187. package/dist/state/index.js +0 -28
  188. package/dist/state/index.js.map +0 -1
  189. package/dist/state/middleware/index.d.ts +0 -7
  190. package/dist/state/middleware/index.d.ts.map +0 -1
  191. package/dist/state/middleware/index.js +0 -6
  192. package/dist/state/middleware/index.js.map +0 -1
  193. package/dist/state/middleware/logger.d.ts +0 -22
  194. package/dist/state/middleware/logger.d.ts.map +0 -1
  195. package/dist/state/middleware/logger.js +0 -45
  196. package/dist/state/middleware/logger.js.map +0 -1
  197. package/dist/state/middleware/persistence.d.ts +0 -29
  198. package/dist/state/middleware/persistence.d.ts.map +0 -1
  199. package/dist/state/middleware/persistence.js +0 -71
  200. package/dist/state/middleware/persistence.js.map +0 -1
  201. package/dist/state/persistence/file-adapter.d.ts +0 -48
  202. package/dist/state/persistence/file-adapter.d.ts.map +0 -1
  203. package/dist/state/persistence/file-adapter.js +0 -96
  204. package/dist/state/persistence/file-adapter.js.map +0 -1
  205. package/dist/state/persistence/index.d.ts +0 -8
  206. package/dist/state/persistence/index.d.ts.map +0 -1
  207. package/dist/state/persistence/index.js +0 -6
  208. package/dist/state/persistence/index.js.map +0 -1
  209. package/dist/state/persistence/serializer.d.ts +0 -41
  210. package/dist/state/persistence/serializer.d.ts.map +0 -1
  211. package/dist/state/persistence/serializer.js +0 -114
  212. package/dist/state/persistence/serializer.js.map +0 -1
  213. package/dist/state/selectors.d.ts +0 -67
  214. package/dist/state/selectors.d.ts.map +0 -1
  215. package/dist/state/selectors.js +0 -177
  216. package/dist/state/selectors.js.map +0 -1
  217. package/dist/state/store.d.ts +0 -86
  218. package/dist/state/store.d.ts.map +0 -1
  219. package/dist/state/store.js +0 -161
  220. package/dist/state/store.js.map +0 -1
  221. package/dist/state/types.d.ts +0 -269
  222. package/dist/state/types.d.ts.map +0 -1
  223. package/dist/state/types.js +0 -7
  224. package/dist/state/types.js.map +0 -1
  225. package/dist/state.d.ts +0 -53
  226. package/dist/state.d.ts.map +0 -1
  227. package/dist/state.js +0 -101
  228. package/dist/state.js.map +0 -1
  229. package/dist/terminal-manager.d.ts +0 -16
  230. package/dist/terminal-manager.d.ts.map +0 -1
  231. package/dist/terminal-manager.js +0 -364
  232. package/dist/terminal-manager.js.map +0 -1
  233. package/dist/tmux.d.ts +0 -163
  234. package/dist/tmux.d.ts.map +0 -1
  235. package/dist/tmux.js +0 -360
  236. package/dist/tmux.js.map +0 -1
  237. package/dist/types/config.d.ts +0 -103
  238. package/dist/types/config.d.ts.map +0 -1
  239. package/dist/types/config.js +0 -7
  240. package/dist/types/config.js.map +0 -1
  241. package/dist/types/entities.d.ts +0 -88
  242. package/dist/types/entities.d.ts.map +0 -1
  243. package/dist/types/entities.js +0 -8
  244. package/dist/types/entities.js.map +0 -1
  245. package/dist/types/events.d.ts +0 -156
  246. package/dist/types/events.d.ts.map +0 -1
  247. package/dist/types/events.js +0 -8
  248. package/dist/types/events.js.map +0 -1
  249. package/dist/types/index.d.ts +0 -11
  250. package/dist/types/index.d.ts.map +0 -1
  251. package/dist/types/index.js +0 -8
  252. package/dist/types/index.js.map +0 -1
  253. package/dist/types/multiplexer.d.ts +0 -238
  254. package/dist/types/multiplexer.d.ts.map +0 -1
  255. package/dist/types/multiplexer.js +0 -8
  256. package/dist/types/multiplexer.js.map +0 -1
  257. package/dist/ui/components/base.d.ts +0 -155
  258. package/dist/ui/components/base.d.ts.map +0 -1
  259. package/dist/ui/components/base.js +0 -269
  260. package/dist/ui/components/base.js.map +0 -1
  261. package/dist/ui/components/index.d.ts +0 -10
  262. package/dist/ui/components/index.d.ts.map +0 -1
  263. package/dist/ui/components/index.js +0 -10
  264. package/dist/ui/components/index.js.map +0 -1
  265. package/dist/ui/components/input-field.d.ts +0 -98
  266. package/dist/ui/components/input-field.d.ts.map +0 -1
  267. package/dist/ui/components/input-field.js +0 -274
  268. package/dist/ui/components/input-field.js.map +0 -1
  269. package/dist/ui/components/list.d.ts +0 -94
  270. package/dist/ui/components/list.d.ts.map +0 -1
  271. package/dist/ui/components/list.js +0 -294
  272. package/dist/ui/components/list.js.map +0 -1
  273. package/dist/ui/components/modal.d.ts +0 -83
  274. package/dist/ui/components/modal.d.ts.map +0 -1
  275. package/dist/ui/components/modal.js +0 -249
  276. package/dist/ui/components/modal.js.map +0 -1
  277. package/dist/ui/components/tabs.d.ts +0 -97
  278. package/dist/ui/components/tabs.d.ts.map +0 -1
  279. package/dist/ui/components/tabs.js +0 -252
  280. package/dist/ui/components/tabs.js.map +0 -1
  281. package/dist/ui/components/text.d.ts +0 -60
  282. package/dist/ui/components/text.d.ts.map +0 -1
  283. package/dist/ui/components/text.js +0 -224
  284. package/dist/ui/components/text.js.map +0 -1
  285. package/dist/ui/index.d.ts +0 -12
  286. package/dist/ui/index.d.ts.map +0 -1
  287. package/dist/ui/index.js +0 -18
  288. package/dist/ui/index.js.map +0 -1
  289. package/dist/ui/input/index.d.ts +0 -8
  290. package/dist/ui/input/index.d.ts.map +0 -1
  291. package/dist/ui/input/index.js +0 -8
  292. package/dist/ui/input/index.js.map +0 -1
  293. package/dist/ui/input/input-manager.d.ts +0 -83
  294. package/dist/ui/input/input-manager.d.ts.map +0 -1
  295. package/dist/ui/input/input-manager.js +0 -200
  296. package/dist/ui/input/input-manager.js.map +0 -1
  297. package/dist/ui/input/keybindings.d.ts +0 -47
  298. package/dist/ui/input/keybindings.d.ts.map +0 -1
  299. package/dist/ui/input/keybindings.js +0 -168
  300. package/dist/ui/input/keybindings.js.map +0 -1
  301. package/dist/ui/input/keyboard.d.ts +0 -24
  302. package/dist/ui/input/keyboard.d.ts.map +0 -1
  303. package/dist/ui/input/keyboard.js +0 -230
  304. package/dist/ui/input/keyboard.js.map +0 -1
  305. package/dist/ui/input/mouse.d.ts +0 -44
  306. package/dist/ui/input/mouse.d.ts.map +0 -1
  307. package/dist/ui/input/mouse.js +0 -161
  308. package/dist/ui/input/mouse.js.map +0 -1
  309. package/dist/ui/layout/box.d.ts +0 -63
  310. package/dist/ui/layout/box.d.ts.map +0 -1
  311. package/dist/ui/layout/box.js +0 -160
  312. package/dist/ui/layout/box.js.map +0 -1
  313. package/dist/ui/layout/constraints.d.ts +0 -77
  314. package/dist/ui/layout/constraints.d.ts.map +0 -1
  315. package/dist/ui/layout/constraints.js +0 -154
  316. package/dist/ui/layout/constraints.js.map +0 -1
  317. package/dist/ui/layout/flex.d.ts +0 -59
  318. package/dist/ui/layout/flex.d.ts.map +0 -1
  319. package/dist/ui/layout/flex.js +0 -163
  320. package/dist/ui/layout/flex.js.map +0 -1
  321. package/dist/ui/layout/index.d.ts +0 -7
  322. package/dist/ui/layout/index.d.ts.map +0 -1
  323. package/dist/ui/layout/index.js +0 -7
  324. package/dist/ui/layout/index.js.map +0 -1
  325. package/dist/ui/modals/delete-modal.d.ts +0 -27
  326. package/dist/ui/modals/delete-modal.d.ts.map +0 -1
  327. package/dist/ui/modals/delete-modal.js +0 -59
  328. package/dist/ui/modals/delete-modal.js.map +0 -1
  329. package/dist/ui/modals/index.d.ts +0 -7
  330. package/dist/ui/modals/index.d.ts.map +0 -1
  331. package/dist/ui/modals/index.js +0 -7
  332. package/dist/ui/modals/index.js.map +0 -1
  333. package/dist/ui/modals/input-modal.d.ts +0 -66
  334. package/dist/ui/modals/input-modal.d.ts.map +0 -1
  335. package/dist/ui/modals/input-modal.js +0 -185
  336. package/dist/ui/modals/input-modal.js.map +0 -1
  337. package/dist/ui/modals/quit-modal.d.ts +0 -30
  338. package/dist/ui/modals/quit-modal.d.ts.map +0 -1
  339. package/dist/ui/modals/quit-modal.js +0 -65
  340. package/dist/ui/modals/quit-modal.js.map +0 -1
  341. package/dist/ui/renderer/ansi.d.ts +0 -206
  342. package/dist/ui/renderer/ansi.d.ts.map +0 -1
  343. package/dist/ui/renderer/ansi.js +0 -318
  344. package/dist/ui/renderer/ansi.js.map +0 -1
  345. package/dist/ui/renderer/canvas.d.ts +0 -126
  346. package/dist/ui/renderer/canvas.d.ts.map +0 -1
  347. package/dist/ui/renderer/canvas.js +0 -346
  348. package/dist/ui/renderer/canvas.js.map +0 -1
  349. package/dist/ui/renderer/colors.d.ts +0 -65
  350. package/dist/ui/renderer/colors.d.ts.map +0 -1
  351. package/dist/ui/renderer/colors.js +0 -260
  352. package/dist/ui/renderer/colors.js.map +0 -1
  353. package/dist/ui/renderer/index.d.ts +0 -8
  354. package/dist/ui/renderer/index.d.ts.map +0 -1
  355. package/dist/ui/renderer/index.js +0 -8
  356. package/dist/ui/renderer/index.js.map +0 -1
  357. package/dist/ui/renderer/symbols.d.ts +0 -176
  358. package/dist/ui/renderer/symbols.d.ts.map +0 -1
  359. package/dist/ui/renderer/symbols.js +0 -246
  360. package/dist/ui/renderer/symbols.js.map +0 -1
  361. package/dist/ui/views/index.d.ts +0 -7
  362. package/dist/ui/views/index.d.ts.map +0 -1
  363. package/dist/ui/views/index.js +0 -7
  364. package/dist/ui/views/index.js.map +0 -1
  365. package/dist/ui/views/sidebar-view.d.ts +0 -89
  366. package/dist/ui/views/sidebar-view.d.ts.map +0 -1
  367. package/dist/ui/views/sidebar-view.js +0 -259
  368. package/dist/ui/views/sidebar-view.js.map +0 -1
  369. package/dist/ui/views/terminal-bar-view.d.ts +0 -67
  370. package/dist/ui/views/terminal-bar-view.d.ts.map +0 -1
  371. package/dist/ui/views/terminal-bar-view.js +0 -172
  372. package/dist/ui/views/terminal-bar-view.js.map +0 -1
  373. package/dist/ui/views/welcome-view.d.ts +0 -34
  374. package/dist/ui/views/welcome-view.d.ts.map +0 -1
  375. package/dist/ui/views/welcome-view.js +0 -116
  376. package/dist/ui/views/welcome-view.js.map +0 -1
@@ -1,47 +0,0 @@
1
- /**
2
- * Keybinding Definitions
3
- *
4
- * Maps key combinations to action names.
5
- */
6
- import type { KeyEvent } from './keyboard';
7
- export type ActionName = 'navigate:up' | 'navigate:down' | 'navigate:left' | 'navigate:right' | 'navigate:pageUp' | 'navigate:pageDown' | 'navigate:home' | 'navigate:end' | 'select' | 'selectPrevious' | 'selectNext' | 'session:create' | 'session:delete' | 'session:rename' | 'session:switch' | 'worktree:create' | 'worktree:delete' | 'worktree:rename' | 'terminal:create' | 'terminal:delete' | 'terminal:rename' | 'terminal:next' | 'terminal:previous' | 'terminal:focus' | 'ui:toggleSidebar' | 'ui:toggleHelp' | 'ui:refresh' | 'ui:scrollUp' | 'ui:scrollDown' | 'modal:confirm' | 'modal:cancel' | 'modal:selectUp' | 'modal:selectDown' | 'input:submit' | 'input:cancel' | 'input:clear' | 'input:deleteChar' | 'input:deleteWord' | 'input:cursorLeft' | 'input:cursorRight' | 'input:cursorHome' | 'input:cursorEnd' | 'app:quit' | 'app:detach' | 'app:help' | 'unknown';
8
- export interface Keybinding {
9
- key: string;
10
- action: ActionName;
11
- description: string;
12
- context?: 'default' | 'modal' | 'input' | 'sidebar';
13
- }
14
- export declare const DEFAULT_KEYBINDINGS: Keybinding[];
15
- /**
16
- * Get action for a key event in a given context
17
- */
18
- export declare function getAction(event: KeyEvent, context?: 'default' | 'modal' | 'input' | 'sidebar'): ActionName;
19
- /**
20
- * Get all bindings for a context
21
- */
22
- export declare function getBindingsForContext(context: 'default' | 'modal' | 'input' | 'sidebar'): Keybinding[];
23
- /**
24
- * Get binding by action name
25
- */
26
- export declare function getBindingForAction(action: ActionName): Keybinding | undefined;
27
- /**
28
- * Get all bindings for an action
29
- */
30
- export declare function getAllBindingsForAction(action: ActionName): Keybinding[];
31
- /**
32
- * Add a custom keybinding
33
- */
34
- export declare function addBinding(binding: Keybinding): void;
35
- /**
36
- * Remove a keybinding
37
- */
38
- export declare function removeBinding(key: string, context?: string): void;
39
- /**
40
- * Reset to default keybindings
41
- */
42
- export declare function resetBindings(): void;
43
- /**
44
- * Get help text for keybindings
45
- */
46
- export declare function getHelpText(context?: string): string[];
47
- //# sourceMappingURL=keybindings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keybindings.d.ts","sourceRoot":"","sources":["../../../src/ui/input/keybindings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAM3C,MAAM,MAAM,UAAU,GAElB,aAAa,GACb,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,cAAc,GAGd,QAAQ,GACR,gBAAgB,GAChB,YAAY,GAGZ,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAGhB,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GAGjB,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,mBAAmB,GACnB,gBAAgB,GAGhB,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,aAAa,GACb,eAAe,GAGf,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,kBAAkB,GAGlB,cAAc,GACd,cAAc,GACd,aAAa,GACb,kBAAkB,GAClB,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GAGjB,UAAU,GACV,YAAY,GACZ,UAAU,GAGV,SAAS,CAAC;AAEd,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;CACrD;AAMD,eAAO,MAAM,mBAAmB,EAAE,UAAU,EAgF3C,CAAC;AAQF;;GAEG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,QAAQ,EACf,OAAO,GAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,SAAqB,GAC7D,UAAU,CAkBZ;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GACjD,UAAU,EAAE,CAId;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAE9E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,CAExE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAEpD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAIjE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CA2BtD"}
@@ -1,168 +0,0 @@
1
- /**
2
- * Keybinding Definitions
3
- *
4
- * Maps key combinations to action names.
5
- */
6
- // ============================================================================
7
- // Default Keybindings
8
- // ============================================================================
9
- export const DEFAULT_KEYBINDINGS = [
10
- // Navigation
11
- { key: 'up', action: 'navigate:up', description: 'Move up' },
12
- { key: 'down', action: 'navigate:down', description: 'Move down' },
13
- { key: 'left', action: 'navigate:left', description: 'Move left' },
14
- { key: 'right', action: 'navigate:right', description: 'Move right' },
15
- { key: 'k', action: 'navigate:up', description: 'Move up (vim)', context: 'sidebar' },
16
- { key: 'j', action: 'navigate:down', description: 'Move down (vim)', context: 'sidebar' },
17
- { key: 'h', action: 'navigate:left', description: 'Move left (vim)', context: 'sidebar' },
18
- { key: 'l', action: 'navigate:right', description: 'Move right (vim)', context: 'sidebar' },
19
- { key: 'pageup', action: 'navigate:pageUp', description: 'Page up' },
20
- { key: 'pagedown', action: 'navigate:pageDown', description: 'Page down' },
21
- { key: 'home', action: 'navigate:home', description: 'Go to start' },
22
- { key: 'end', action: 'navigate:end', description: 'Go to end' },
23
- { key: 'g', action: 'navigate:home', description: 'Go to start (vim)', context: 'sidebar' },
24
- { key: 'shift+g', action: 'navigate:end', description: 'Go to end (vim)', context: 'sidebar' },
25
- // Selection
26
- { key: 'enter', action: 'select', description: 'Select/Activate' },
27
- { key: 'space', action: 'select', description: 'Select/Activate', context: 'sidebar' },
28
- { key: 'tab', action: 'selectNext', description: 'Select next' },
29
- { key: 'shift+tab', action: 'selectPrevious', description: 'Select previous' },
30
- // Session management
31
- { key: 'n', action: 'session:create', description: 'New session', context: 'sidebar' },
32
- { key: 'x', action: 'session:delete', description: 'Delete session', context: 'sidebar' },
33
- { key: 'r', action: 'session:rename', description: 'Rename session', context: 'sidebar' },
34
- // Worktree management
35
- { key: 'w', action: 'worktree:create', description: 'New worktree', context: 'sidebar' },
36
- { key: 'shift+x', action: 'worktree:delete', description: 'Delete worktree', context: 'sidebar' },
37
- { key: 'shift+r', action: 'worktree:rename', description: 'Rename worktree', context: 'sidebar' },
38
- // Terminal management
39
- { key: 't', action: 'terminal:create', description: 'New terminal' },
40
- { key: 'ctrl+t', action: 'terminal:create', description: 'New terminal' },
41
- { key: 'ctrl+w', action: 'terminal:delete', description: 'Close terminal' },
42
- { key: 'ctrl+n', action: 'terminal:next', description: 'Next terminal' },
43
- { key: 'ctrl+p', action: 'terminal:previous', description: 'Previous terminal' },
44
- { key: '1', action: 'terminal:focus', description: 'Focus terminal 1' },
45
- { key: '2', action: 'terminal:focus', description: 'Focus terminal 2' },
46
- { key: '3', action: 'terminal:focus', description: 'Focus terminal 3' },
47
- { key: '4', action: 'terminal:focus', description: 'Focus terminal 4' },
48
- { key: '5', action: 'terminal:focus', description: 'Focus terminal 5' },
49
- // UI actions
50
- { key: 's', action: 'ui:toggleSidebar', description: 'Toggle sidebar' },
51
- { key: 'ctrl+b', action: 'ui:toggleSidebar', description: 'Toggle sidebar' },
52
- { key: '?', action: 'ui:toggleHelp', description: 'Toggle help' },
53
- { key: 'ctrl+r', action: 'ui:refresh', description: 'Refresh' },
54
- { key: 'ctrl+u', action: 'ui:scrollUp', description: 'Scroll up' },
55
- { key: 'ctrl+d', action: 'ui:scrollDown', description: 'Scroll down' },
56
- // Modal actions
57
- { key: 'enter', action: 'modal:confirm', description: 'Confirm', context: 'modal' },
58
- { key: 'escape', action: 'modal:cancel', description: 'Cancel', context: 'modal' },
59
- { key: 'up', action: 'modal:selectUp', description: 'Move selection up', context: 'modal' },
60
- { key: 'down', action: 'modal:selectDown', description: 'Move selection down', context: 'modal' },
61
- { key: 'k', action: 'modal:selectUp', description: 'Move selection up (vim)', context: 'modal' },
62
- { key: 'j', action: 'modal:selectDown', description: 'Move selection down (vim)', context: 'modal' },
63
- // Input actions
64
- { key: 'enter', action: 'input:submit', description: 'Submit input', context: 'input' },
65
- { key: 'escape', action: 'input:cancel', description: 'Cancel input', context: 'input' },
66
- { key: 'ctrl+u', action: 'input:clear', description: 'Clear input', context: 'input' },
67
- { key: 'backspace', action: 'input:deleteChar', description: 'Delete character', context: 'input' },
68
- { key: 'ctrl+w', action: 'input:deleteWord', description: 'Delete word', context: 'input' },
69
- { key: 'left', action: 'input:cursorLeft', description: 'Cursor left', context: 'input' },
70
- { key: 'right', action: 'input:cursorRight', description: 'Cursor right', context: 'input' },
71
- { key: 'home', action: 'input:cursorHome', description: 'Cursor to start', context: 'input' },
72
- { key: 'end', action: 'input:cursorEnd', description: 'Cursor to end', context: 'input' },
73
- { key: 'ctrl+a', action: 'input:cursorHome', description: 'Cursor to start', context: 'input' },
74
- { key: 'ctrl+e', action: 'input:cursorEnd', description: 'Cursor to end', context: 'input' },
75
- // Application
76
- { key: 'q', action: 'app:quit', description: 'Quit', context: 'sidebar' },
77
- { key: 'ctrl+q', action: 'app:quit', description: 'Quit' },
78
- { key: 'd', action: 'app:detach', description: 'Detach', context: 'sidebar' },
79
- { key: 'ctrl+d', action: 'app:detach', description: 'Detach' },
80
- { key: 'f1', action: 'app:help', description: 'Help' },
81
- ];
82
- // ============================================================================
83
- // Keybinding Manager
84
- // ============================================================================
85
- let currentBindings = [...DEFAULT_KEYBINDINGS];
86
- /**
87
- * Get action for a key event in a given context
88
- */
89
- export function getAction(event, context = 'default') {
90
- const keyLower = event.key.toLowerCase();
91
- // First, try to find a context-specific binding
92
- for (const binding of currentBindings) {
93
- if (binding.context === context && binding.key.toLowerCase() === keyLower) {
94
- return binding.action;
95
- }
96
- }
97
- // Then, try to find a default binding (no context specified)
98
- for (const binding of currentBindings) {
99
- if (!binding.context && binding.key.toLowerCase() === keyLower) {
100
- return binding.action;
101
- }
102
- }
103
- return 'unknown';
104
- }
105
- /**
106
- * Get all bindings for a context
107
- */
108
- export function getBindingsForContext(context) {
109
- return currentBindings.filter((b) => b.context === context || !b.context);
110
- }
111
- /**
112
- * Get binding by action name
113
- */
114
- export function getBindingForAction(action) {
115
- return currentBindings.find((b) => b.action === action);
116
- }
117
- /**
118
- * Get all bindings for an action
119
- */
120
- export function getAllBindingsForAction(action) {
121
- return currentBindings.filter((b) => b.action === action);
122
- }
123
- /**
124
- * Add a custom keybinding
125
- */
126
- export function addBinding(binding) {
127
- currentBindings.push(binding);
128
- }
129
- /**
130
- * Remove a keybinding
131
- */
132
- export function removeBinding(key, context) {
133
- currentBindings = currentBindings.filter((b) => !(b.key === key && b.context === context));
134
- }
135
- /**
136
- * Reset to default keybindings
137
- */
138
- export function resetBindings() {
139
- currentBindings = [...DEFAULT_KEYBINDINGS];
140
- }
141
- /**
142
- * Get help text for keybindings
143
- */
144
- export function getHelpText(context) {
145
- const bindings = context
146
- ? currentBindings.filter((b) => b.context === context || !b.context)
147
- : currentBindings.filter((b) => !b.context);
148
- // Group by action category
149
- const grouped = new Map();
150
- for (const binding of bindings) {
151
- const category = binding.action.split(':')[0];
152
- if (!grouped.has(category)) {
153
- grouped.set(category, []);
154
- }
155
- grouped.get(category).push(binding);
156
- }
157
- const lines = [];
158
- for (const [category, bindings] of grouped) {
159
- lines.push(` ${category.toUpperCase()}`);
160
- for (const binding of bindings) {
161
- const key = binding.key.padEnd(12);
162
- lines.push(` ${key} ${binding.description}`);
163
- }
164
- lines.push('');
165
- }
166
- return lines;
167
- }
168
- //# sourceMappingURL=keybindings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keybindings.js","sourceRoot":"","sources":["../../../src/ui/input/keybindings.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Keyboard Input Parser
3
- *
4
- * Parses raw keyboard input from the terminal into structured key events.
5
- */
6
- import type { KeyModifiers } from '../../types';
7
- export interface KeyEvent {
8
- key: string;
9
- raw: string;
10
- modifiers: KeyModifiers;
11
- }
12
- /**
13
- * Parse a raw input buffer into a key event
14
- */
15
- export declare function parseKeyInput(data: Buffer | string): KeyEvent;
16
- /**
17
- * Check if a key event matches a key binding
18
- */
19
- export declare function matchesKey(event: KeyEvent, pattern: string): boolean;
20
- /**
21
- * Format a key event for display
22
- */
23
- export declare function formatKeyEvent(event: KeyEvent): string;
24
- //# sourceMappingURL=keyboard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../../src/ui/input/keyboard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMhD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,YAAY,CAAC;CACzB;AA4FD;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAyD7D;AAkDD;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAiBpE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAoBtD"}
@@ -1,230 +0,0 @@
1
- /**
2
- * Keyboard Input Parser
3
- *
4
- * Parses raw keyboard input from the terminal into structured key events.
5
- */
6
- // ============================================================================
7
- // Special Key Mappings
8
- // ============================================================================
9
- const ESCAPE_SEQUENCES = {
10
- // Arrow keys
11
- '\x1b[A': 'up',
12
- '\x1b[B': 'down',
13
- '\x1b[C': 'right',
14
- '\x1b[D': 'left',
15
- // Arrow keys with modifiers (some terminals)
16
- '\x1b[1;5A': 'ctrl+up',
17
- '\x1b[1;5B': 'ctrl+down',
18
- '\x1b[1;5C': 'ctrl+right',
19
- '\x1b[1;5D': 'ctrl+left',
20
- '\x1b[1;2A': 'shift+up',
21
- '\x1b[1;2B': 'shift+down',
22
- '\x1b[1;2C': 'shift+right',
23
- '\x1b[1;2D': 'shift+left',
24
- '\x1b[1;3A': 'alt+up',
25
- '\x1b[1;3B': 'alt+down',
26
- '\x1b[1;3C': 'alt+right',
27
- '\x1b[1;3D': 'alt+left',
28
- // Function keys
29
- '\x1bOP': 'f1',
30
- '\x1bOQ': 'f2',
31
- '\x1bOR': 'f3',
32
- '\x1bOS': 'f4',
33
- '\x1b[15~': 'f5',
34
- '\x1b[17~': 'f6',
35
- '\x1b[18~': 'f7',
36
- '\x1b[19~': 'f8',
37
- '\x1b[20~': 'f9',
38
- '\x1b[21~': 'f10',
39
- '\x1b[23~': 'f11',
40
- '\x1b[24~': 'f12',
41
- // Navigation keys
42
- '\x1b[H': 'home',
43
- '\x1b[F': 'end',
44
- '\x1b[1~': 'home',
45
- '\x1b[4~': 'end',
46
- '\x1b[5~': 'pageup',
47
- '\x1b[6~': 'pagedown',
48
- '\x1b[2~': 'insert',
49
- '\x1b[3~': 'delete',
50
- // Alternative sequences (some terminals)
51
- '\x1b[7~': 'home',
52
- '\x1b[8~': 'end',
53
- };
54
- const CONTROL_CHARS = {
55
- 0: 'ctrl+space',
56
- 1: 'ctrl+a',
57
- 2: 'ctrl+b',
58
- 3: 'ctrl+c',
59
- 4: 'ctrl+d',
60
- 5: 'ctrl+e',
61
- 6: 'ctrl+f',
62
- 7: 'ctrl+g',
63
- 8: 'backspace',
64
- 9: 'tab',
65
- 10: 'enter',
66
- 11: 'ctrl+k',
67
- 12: 'ctrl+l',
68
- 13: 'enter',
69
- 14: 'ctrl+n',
70
- 15: 'ctrl+o',
71
- 16: 'ctrl+p',
72
- 17: 'ctrl+q',
73
- 18: 'ctrl+r',
74
- 19: 'ctrl+s',
75
- 20: 'ctrl+t',
76
- 21: 'ctrl+u',
77
- 22: 'ctrl+v',
78
- 23: 'ctrl+w',
79
- 24: 'ctrl+x',
80
- 25: 'ctrl+y',
81
- 26: 'ctrl+z',
82
- 27: 'escape',
83
- 127: 'backspace',
84
- };
85
- // ============================================================================
86
- // Parser Functions
87
- // ============================================================================
88
- /**
89
- * Parse a raw input buffer into a key event
90
- */
91
- export function parseKeyInput(data) {
92
- const raw = typeof data === 'string' ? data : data.toString('utf8');
93
- // Check for escape sequences first
94
- if (ESCAPE_SEQUENCES[raw]) {
95
- return parseEscapeSequenceKey(raw, ESCAPE_SEQUENCES[raw]);
96
- }
97
- // Check for Alt+key combinations (Escape followed by a character)
98
- if (raw.length === 2 && raw[0] === '\x1b' && /[a-zA-Z0-9]/.test(raw[1])) {
99
- const key = raw[1].toLowerCase();
100
- return {
101
- key: `alt+${key}`,
102
- raw,
103
- modifiers: {
104
- ctrl: false,
105
- alt: true,
106
- shift: raw[1] === raw[1].toUpperCase() && /[A-Z]/.test(raw[1]),
107
- meta: false,
108
- },
109
- };
110
- }
111
- // Single character
112
- if (raw.length === 1) {
113
- const code = raw.charCodeAt(0);
114
- // Control characters
115
- if (code < 32 || code === 127) {
116
- const keyName = CONTROL_CHARS[code] || `ctrl+${String.fromCharCode(code + 96)}`;
117
- return parseControlKey(raw, keyName);
118
- }
119
- // Regular printable character
120
- return {
121
- key: raw,
122
- raw,
123
- modifiers: {
124
- ctrl: false,
125
- alt: false,
126
- shift: raw === raw.toUpperCase() && /[A-Z]/.test(raw),
127
- meta: false,
128
- },
129
- };
130
- }
131
- // Unknown sequence - return raw
132
- return {
133
- key: raw,
134
- raw,
135
- modifiers: {
136
- ctrl: false,
137
- alt: false,
138
- shift: false,
139
- meta: false,
140
- },
141
- };
142
- }
143
- /**
144
- * Parse an escape sequence key
145
- */
146
- function parseEscapeSequenceKey(raw, keyName) {
147
- const modifiers = {
148
- ctrl: keyName.includes('ctrl+'),
149
- alt: keyName.includes('alt+'),
150
- shift: keyName.includes('shift+'),
151
- meta: false,
152
- };
153
- // Clean up key name
154
- let key = keyName
155
- .replace('ctrl+', '')
156
- .replace('alt+', '')
157
- .replace('shift+', '');
158
- // If modifiers were present, reconstruct the key name
159
- if (modifiers.ctrl || modifiers.alt || modifiers.shift) {
160
- const parts = [];
161
- if (modifiers.ctrl)
162
- parts.push('ctrl');
163
- if (modifiers.alt)
164
- parts.push('alt');
165
- if (modifiers.shift)
166
- parts.push('shift');
167
- parts.push(key);
168
- key = parts.join('+');
169
- }
170
- return { key, raw, modifiers };
171
- }
172
- /**
173
- * Parse a control key
174
- */
175
- function parseControlKey(raw, keyName) {
176
- const isCtrl = keyName.startsWith('ctrl+');
177
- return {
178
- key: keyName,
179
- raw,
180
- modifiers: {
181
- ctrl: isCtrl,
182
- alt: false,
183
- shift: false,
184
- meta: false,
185
- },
186
- };
187
- }
188
- /**
189
- * Check if a key event matches a key binding
190
- */
191
- export function matchesKey(event, pattern) {
192
- const normalizedPattern = pattern.toLowerCase();
193
- const normalizedKey = event.key.toLowerCase();
194
- if (normalizedKey === normalizedPattern) {
195
- return true;
196
- }
197
- // Parse pattern for modifiers
198
- const patternParts = normalizedPattern.split('+');
199
- const keyParts = normalizedKey.split('+');
200
- // Sort parts for comparison
201
- patternParts.sort();
202
- keyParts.sort();
203
- return patternParts.join('+') === keyParts.join('+');
204
- }
205
- /**
206
- * Format a key event for display
207
- */
208
- export function formatKeyEvent(event) {
209
- const parts = [];
210
- if (event.modifiers.ctrl)
211
- parts.push('Ctrl');
212
- if (event.modifiers.alt)
213
- parts.push('Alt');
214
- if (event.modifiers.shift)
215
- parts.push('Shift');
216
- if (event.modifiers.meta)
217
- parts.push('Meta');
218
- // Get the base key without modifiers
219
- let baseKey = event.key
220
- .replace(/ctrl\+/gi, '')
221
- .replace(/alt\+/gi, '')
222
- .replace(/shift\+/gi, '');
223
- // Capitalize special keys
224
- if (baseKey.length > 1 && !baseKey.includes('+')) {
225
- baseKey = baseKey.charAt(0).toUpperCase() + baseKey.slice(1);
226
- }
227
- parts.push(baseKey);
228
- return parts.join('+');
229
- }
230
- //# sourceMappingURL=keyboard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../../../src/ui/input/keyboard.ts"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- /**
2
- * Mouse Input Parser
3
- *
4
- * Parses SGR (Select Graphic Rendition) mouse tracking events.
5
- */
6
- export interface MouseEvent {
7
- x: number;
8
- y: number;
9
- button: 'left' | 'right' | 'middle' | 'none';
10
- action: 'press' | 'release' | 'move' | 'scroll';
11
- scrollDirection?: 'up' | 'down';
12
- modifiers: {
13
- ctrl: boolean;
14
- alt: boolean;
15
- shift: boolean;
16
- };
17
- }
18
- /**
19
- * Parse SGR mouse input
20
- *
21
- * SGR format: ESC [ < Cb ; Cx ; Cy M (press) or m (release)
22
- * where Cb is the button code, Cx is x coordinate, Cy is y coordinate
23
- */
24
- export declare function parseMouseInput(data: string): MouseEvent | null;
25
- /**
26
- * Check if input looks like a mouse sequence
27
- */
28
- export declare function isMouseSequence(data: string): boolean;
29
- /**
30
- * Format mouse event for display
31
- */
32
- export declare function formatMouseEvent(event: MouseEvent): string;
33
- /**
34
- * Check if a mouse event is within a rectangular region
35
- */
36
- export declare function isInRegion(event: MouseEvent, x: number, y: number, width: number, height: number): boolean;
37
- /**
38
- * Get relative position within a region
39
- */
40
- export declare function getRelativePosition(event: MouseEvent, regionX: number, regionY: number): {
41
- x: number;
42
- y: number;
43
- };
44
- //# sourceMappingURL=mouse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mouse.d.ts","sourceRoot":"","sources":["../../../src/ui/input/mouse.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC7C,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IAChD,eAAe,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAChC,SAAS,EAAE;QACT,IAAI,EAAE,OAAO,CAAC;QACd,GAAG,EAAE,OAAO,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;CACH;AAwBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAe/D;AA+ED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAoB1D;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,UAAU,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAOT;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAK1B"}