claude-code-plus-plus 0.2.1 → 0.2.2

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 (365) hide show
  1. package/package.json +1 -1
  2. package/dist/app.d.ts +0 -52
  3. package/dist/app.d.ts.map +0 -1
  4. package/dist/app.js +0 -318
  5. package/dist/app.js.map +0 -1
  6. package/dist/core/index.d.ts +0 -14
  7. package/dist/core/index.d.ts.map +0 -1
  8. package/dist/core/index.js +0 -14
  9. package/dist/core/index.js.map +0 -1
  10. package/dist/core/session/index.d.ts +0 -7
  11. package/dist/core/session/index.d.ts.map +0 -1
  12. package/dist/core/session/index.js +0 -6
  13. package/dist/core/session/index.js.map +0 -1
  14. package/dist/core/session/session-manager.d.ts +0 -46
  15. package/dist/core/session/session-manager.d.ts.map +0 -1
  16. package/dist/core/session/session-manager.js +0 -245
  17. package/dist/core/session/session-manager.js.map +0 -1
  18. package/dist/core/session/session.d.ts +0 -44
  19. package/dist/core/session/session.d.ts.map +0 -1
  20. package/dist/core/session/session.js +0 -78
  21. package/dist/core/session/session.js.map +0 -1
  22. package/dist/core/terminal/index.d.ts +0 -7
  23. package/dist/core/terminal/index.d.ts.map +0 -1
  24. package/dist/core/terminal/index.js +0 -6
  25. package/dist/core/terminal/index.js.map +0 -1
  26. package/dist/core/terminal/terminal-manager.d.ts +0 -36
  27. package/dist/core/terminal/terminal-manager.d.ts.map +0 -1
  28. package/dist/core/terminal/terminal-manager.js +0 -182
  29. package/dist/core/terminal/terminal-manager.js.map +0 -1
  30. package/dist/core/terminal/terminal.d.ts +0 -27
  31. package/dist/core/terminal/terminal.d.ts.map +0 -1
  32. package/dist/core/terminal/terminal.js +0 -38
  33. package/dist/core/terminal/terminal.js.map +0 -1
  34. package/dist/core/workspace/index.d.ts +0 -7
  35. package/dist/core/workspace/index.d.ts.map +0 -1
  36. package/dist/core/workspace/index.js +0 -6
  37. package/dist/core/workspace/index.js.map +0 -1
  38. package/dist/core/workspace/workspace-manager.d.ts +0 -59
  39. package/dist/core/workspace/workspace-manager.d.ts.map +0 -1
  40. package/dist/core/workspace/workspace-manager.js +0 -224
  41. package/dist/core/workspace/workspace-manager.js.map +0 -1
  42. package/dist/core/workspace/workspace.d.ts +0 -56
  43. package/dist/core/workspace/workspace.d.ts.map +0 -1
  44. package/dist/core/workspace/workspace.js +0 -96
  45. package/dist/core/workspace/workspace.js.map +0 -1
  46. package/dist/core/worktree/index.d.ts +0 -7
  47. package/dist/core/worktree/index.d.ts.map +0 -1
  48. package/dist/core/worktree/index.js +0 -6
  49. package/dist/core/worktree/index.js.map +0 -1
  50. package/dist/core/worktree/worktree-manager.d.ts +0 -47
  51. package/dist/core/worktree/worktree-manager.d.ts.map +0 -1
  52. package/dist/core/worktree/worktree-manager.js +0 -170
  53. package/dist/core/worktree/worktree-manager.js.map +0 -1
  54. package/dist/core/worktree/worktree.d.ts +0 -35
  55. package/dist/core/worktree/worktree.d.ts.map +0 -1
  56. package/dist/core/worktree/worktree.js +0 -50
  57. package/dist/core/worktree/worktree.js.map +0 -1
  58. package/dist/core/worktree-manager.d.ts +0 -26
  59. package/dist/core/worktree-manager.d.ts.map +0 -1
  60. package/dist/core/worktree-manager.js +0 -177
  61. package/dist/core/worktree-manager.js.map +0 -1
  62. package/dist/events/bus.d.ts +0 -76
  63. package/dist/events/bus.d.ts.map +0 -1
  64. package/dist/events/bus.js +0 -223
  65. package/dist/events/bus.js.map +0 -1
  66. package/dist/events/handlers/index.d.ts +0 -28
  67. package/dist/events/handlers/index.d.ts.map +0 -1
  68. package/dist/events/handlers/index.js +0 -44
  69. package/dist/events/handlers/index.js.map +0 -1
  70. package/dist/events/handlers/session-events.d.ts +0 -12
  71. package/dist/events/handlers/session-events.d.ts.map +0 -1
  72. package/dist/events/handlers/session-events.js +0 -38
  73. package/dist/events/handlers/session-events.js.map +0 -1
  74. package/dist/events/handlers/terminal-events.d.ts +0 -12
  75. package/dist/events/handlers/terminal-events.d.ts.map +0 -1
  76. package/dist/events/handlers/terminal-events.js +0 -37
  77. package/dist/events/handlers/terminal-events.js.map +0 -1
  78. package/dist/events/handlers/ui-events.d.ts +0 -11
  79. package/dist/events/handlers/ui-events.d.ts.map +0 -1
  80. package/dist/events/handlers/ui-events.js +0 -202
  81. package/dist/events/handlers/ui-events.js.map +0 -1
  82. package/dist/events/index.d.ts +0 -9
  83. package/dist/events/index.d.ts.map +0 -1
  84. package/dist/events/index.js +0 -10
  85. package/dist/events/index.js.map +0 -1
  86. package/dist/multiplexer/base.d.ts +0 -73
  87. package/dist/multiplexer/base.d.ts.map +0 -1
  88. package/dist/multiplexer/base.js +0 -68
  89. package/dist/multiplexer/base.js.map +0 -1
  90. package/dist/multiplexer/factory.d.ts +0 -28
  91. package/dist/multiplexer/factory.d.ts.map +0 -1
  92. package/dist/multiplexer/factory.js +0 -72
  93. package/dist/multiplexer/factory.js.map +0 -1
  94. package/dist/multiplexer/index.d.ts +0 -14
  95. package/dist/multiplexer/index.d.ts.map +0 -1
  96. package/dist/multiplexer/index.js +0 -15
  97. package/dist/multiplexer/index.js.map +0 -1
  98. package/dist/multiplexer/tmux/index.d.ts +0 -9
  99. package/dist/multiplexer/tmux/index.d.ts.map +0 -1
  100. package/dist/multiplexer/tmux/index.js +0 -7
  101. package/dist/multiplexer/tmux/index.js.map +0 -1
  102. package/dist/multiplexer/tmux/tmux-commands.d.ts +0 -96
  103. package/dist/multiplexer/tmux/tmux-commands.d.ts.map +0 -1
  104. package/dist/multiplexer/tmux/tmux-commands.js +0 -282
  105. package/dist/multiplexer/tmux/tmux-commands.js.map +0 -1
  106. package/dist/multiplexer/tmux/tmux-config.d.ts +0 -57
  107. package/dist/multiplexer/tmux/tmux-config.d.ts.map +0 -1
  108. package/dist/multiplexer/tmux/tmux-config.js +0 -103
  109. package/dist/multiplexer/tmux/tmux-config.js.map +0 -1
  110. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts +0 -94
  111. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts.map +0 -1
  112. package/dist/multiplexer/tmux/tmux-multiplexer.js +0 -302
  113. package/dist/multiplexer/tmux/tmux-multiplexer.js.map +0 -1
  114. package/dist/multiplexer/windows/index.d.ts +0 -5
  115. package/dist/multiplexer/windows/index.d.ts.map +0 -1
  116. package/dist/multiplexer/windows/index.js +0 -5
  117. package/dist/multiplexer/windows/index.js.map +0 -1
  118. package/dist/multiplexer/windows/windows-multiplexer.d.ts +0 -61
  119. package/dist/multiplexer/windows/windows-multiplexer.d.ts.map +0 -1
  120. package/dist/multiplexer/windows/windows-multiplexer.js +0 -151
  121. package/dist/multiplexer/windows/windows-multiplexer.js.map +0 -1
  122. package/dist/services/claude/claude-detector.d.ts +0 -37
  123. package/dist/services/claude/claude-detector.d.ts.map +0 -1
  124. package/dist/services/claude/claude-detector.js +0 -83
  125. package/dist/services/claude/claude-detector.js.map +0 -1
  126. package/dist/services/claude/claude-service.d.ts +0 -57
  127. package/dist/services/claude/claude-service.d.ts.map +0 -1
  128. package/dist/services/claude/claude-service.js +0 -108
  129. package/dist/services/claude/claude-service.js.map +0 -1
  130. package/dist/services/claude/index.d.ts +0 -7
  131. package/dist/services/claude/index.d.ts.map +0 -1
  132. package/dist/services/claude/index.js +0 -6
  133. package/dist/services/claude/index.js.map +0 -1
  134. package/dist/services/git/branch-service.d.ts +0 -64
  135. package/dist/services/git/branch-service.d.ts.map +0 -1
  136. package/dist/services/git/branch-service.js +0 -217
  137. package/dist/services/git/branch-service.js.map +0 -1
  138. package/dist/services/git/git-service.d.ts +0 -44
  139. package/dist/services/git/git-service.d.ts.map +0 -1
  140. package/dist/services/git/git-service.js +0 -145
  141. package/dist/services/git/git-service.js.map +0 -1
  142. package/dist/services/git/index.d.ts +0 -8
  143. package/dist/services/git/index.d.ts.map +0 -1
  144. package/dist/services/git/index.js +0 -7
  145. package/dist/services/git/index.js.map +0 -1
  146. package/dist/services/git/worktree-service.d.ts +0 -61
  147. package/dist/services/git/worktree-service.d.ts.map +0 -1
  148. package/dist/services/git/worktree-service.js +0 -243
  149. package/dist/services/git/worktree-service.js.map +0 -1
  150. package/dist/services/index.d.ts +0 -12
  151. package/dist/services/index.d.ts.map +0 -1
  152. package/dist/services/index.js +0 -12
  153. package/dist/services/index.js.map +0 -1
  154. package/dist/services/process/index.d.ts +0 -8
  155. package/dist/services/process/index.d.ts.map +0 -1
  156. package/dist/services/process/index.js +0 -6
  157. package/dist/services/process/index.js.map +0 -1
  158. package/dist/services/process/process-monitor.d.ts +0 -98
  159. package/dist/services/process/process-monitor.d.ts.map +0 -1
  160. package/dist/services/process/process-monitor.js +0 -173
  161. package/dist/services/process/process-monitor.js.map +0 -1
  162. package/dist/services/process/process-spawner.d.ts +0 -55
  163. package/dist/services/process/process-spawner.d.ts.map +0 -1
  164. package/dist/services/process/process-spawner.js +0 -93
  165. package/dist/services/process/process-spawner.js.map +0 -1
  166. package/dist/sidebar.d.ts +0 -13
  167. package/dist/sidebar.d.ts.map +0 -1
  168. package/dist/sidebar.js +0 -1535
  169. package/dist/sidebar.js.map +0 -1
  170. package/dist/state/actions.d.ts +0 -49
  171. package/dist/state/actions.d.ts.map +0 -1
  172. package/dist/state/actions.js +0 -512
  173. package/dist/state/actions.js.map +0 -1
  174. package/dist/state/index.d.ts +0 -16
  175. package/dist/state/index.d.ts.map +0 -1
  176. package/dist/state/index.js +0 -28
  177. package/dist/state/index.js.map +0 -1
  178. package/dist/state/middleware/index.d.ts +0 -7
  179. package/dist/state/middleware/index.d.ts.map +0 -1
  180. package/dist/state/middleware/index.js +0 -6
  181. package/dist/state/middleware/index.js.map +0 -1
  182. package/dist/state/middleware/logger.d.ts +0 -22
  183. package/dist/state/middleware/logger.d.ts.map +0 -1
  184. package/dist/state/middleware/logger.js +0 -45
  185. package/dist/state/middleware/logger.js.map +0 -1
  186. package/dist/state/middleware/persistence.d.ts +0 -29
  187. package/dist/state/middleware/persistence.d.ts.map +0 -1
  188. package/dist/state/middleware/persistence.js +0 -71
  189. package/dist/state/middleware/persistence.js.map +0 -1
  190. package/dist/state/persistence/file-adapter.d.ts +0 -48
  191. package/dist/state/persistence/file-adapter.d.ts.map +0 -1
  192. package/dist/state/persistence/file-adapter.js +0 -96
  193. package/dist/state/persistence/file-adapter.js.map +0 -1
  194. package/dist/state/persistence/index.d.ts +0 -8
  195. package/dist/state/persistence/index.d.ts.map +0 -1
  196. package/dist/state/persistence/index.js +0 -6
  197. package/dist/state/persistence/index.js.map +0 -1
  198. package/dist/state/persistence/serializer.d.ts +0 -41
  199. package/dist/state/persistence/serializer.d.ts.map +0 -1
  200. package/dist/state/persistence/serializer.js +0 -114
  201. package/dist/state/persistence/serializer.js.map +0 -1
  202. package/dist/state/selectors.d.ts +0 -67
  203. package/dist/state/selectors.d.ts.map +0 -1
  204. package/dist/state/selectors.js +0 -177
  205. package/dist/state/selectors.js.map +0 -1
  206. package/dist/state/store.d.ts +0 -86
  207. package/dist/state/store.d.ts.map +0 -1
  208. package/dist/state/store.js +0 -161
  209. package/dist/state/store.js.map +0 -1
  210. package/dist/state/types.d.ts +0 -269
  211. package/dist/state/types.d.ts.map +0 -1
  212. package/dist/state/types.js +0 -7
  213. package/dist/state/types.js.map +0 -1
  214. package/dist/state.d.ts +0 -53
  215. package/dist/state.d.ts.map +0 -1
  216. package/dist/state.js +0 -101
  217. package/dist/state.js.map +0 -1
  218. package/dist/terminal-manager.d.ts +0 -16
  219. package/dist/terminal-manager.d.ts.map +0 -1
  220. package/dist/terminal-manager.js +0 -364
  221. package/dist/terminal-manager.js.map +0 -1
  222. package/dist/tmux.d.ts +0 -163
  223. package/dist/tmux.d.ts.map +0 -1
  224. package/dist/tmux.js +0 -360
  225. package/dist/tmux.js.map +0 -1
  226. package/dist/types/config.d.ts +0 -103
  227. package/dist/types/config.d.ts.map +0 -1
  228. package/dist/types/config.js +0 -7
  229. package/dist/types/config.js.map +0 -1
  230. package/dist/types/entities.d.ts +0 -88
  231. package/dist/types/entities.d.ts.map +0 -1
  232. package/dist/types/entities.js +0 -8
  233. package/dist/types/entities.js.map +0 -1
  234. package/dist/types/events.d.ts +0 -156
  235. package/dist/types/events.d.ts.map +0 -1
  236. package/dist/types/events.js +0 -8
  237. package/dist/types/events.js.map +0 -1
  238. package/dist/types/index.d.ts +0 -11
  239. package/dist/types/index.d.ts.map +0 -1
  240. package/dist/types/index.js +0 -8
  241. package/dist/types/index.js.map +0 -1
  242. package/dist/types/multiplexer.d.ts +0 -238
  243. package/dist/types/multiplexer.d.ts.map +0 -1
  244. package/dist/types/multiplexer.js +0 -8
  245. package/dist/types/multiplexer.js.map +0 -1
  246. package/dist/ui/components/base.d.ts +0 -155
  247. package/dist/ui/components/base.d.ts.map +0 -1
  248. package/dist/ui/components/base.js +0 -269
  249. package/dist/ui/components/base.js.map +0 -1
  250. package/dist/ui/components/index.d.ts +0 -10
  251. package/dist/ui/components/index.d.ts.map +0 -1
  252. package/dist/ui/components/index.js +0 -10
  253. package/dist/ui/components/index.js.map +0 -1
  254. package/dist/ui/components/input-field.d.ts +0 -98
  255. package/dist/ui/components/input-field.d.ts.map +0 -1
  256. package/dist/ui/components/input-field.js +0 -274
  257. package/dist/ui/components/input-field.js.map +0 -1
  258. package/dist/ui/components/list.d.ts +0 -94
  259. package/dist/ui/components/list.d.ts.map +0 -1
  260. package/dist/ui/components/list.js +0 -294
  261. package/dist/ui/components/list.js.map +0 -1
  262. package/dist/ui/components/modal.d.ts +0 -83
  263. package/dist/ui/components/modal.d.ts.map +0 -1
  264. package/dist/ui/components/modal.js +0 -249
  265. package/dist/ui/components/modal.js.map +0 -1
  266. package/dist/ui/components/tabs.d.ts +0 -97
  267. package/dist/ui/components/tabs.d.ts.map +0 -1
  268. package/dist/ui/components/tabs.js +0 -252
  269. package/dist/ui/components/tabs.js.map +0 -1
  270. package/dist/ui/components/text.d.ts +0 -60
  271. package/dist/ui/components/text.d.ts.map +0 -1
  272. package/dist/ui/components/text.js +0 -224
  273. package/dist/ui/components/text.js.map +0 -1
  274. package/dist/ui/index.d.ts +0 -12
  275. package/dist/ui/index.d.ts.map +0 -1
  276. package/dist/ui/index.js +0 -18
  277. package/dist/ui/index.js.map +0 -1
  278. package/dist/ui/input/index.d.ts +0 -8
  279. package/dist/ui/input/index.d.ts.map +0 -1
  280. package/dist/ui/input/index.js +0 -8
  281. package/dist/ui/input/index.js.map +0 -1
  282. package/dist/ui/input/input-manager.d.ts +0 -83
  283. package/dist/ui/input/input-manager.d.ts.map +0 -1
  284. package/dist/ui/input/input-manager.js +0 -200
  285. package/dist/ui/input/input-manager.js.map +0 -1
  286. package/dist/ui/input/keybindings.d.ts +0 -47
  287. package/dist/ui/input/keybindings.d.ts.map +0 -1
  288. package/dist/ui/input/keybindings.js +0 -168
  289. package/dist/ui/input/keybindings.js.map +0 -1
  290. package/dist/ui/input/keyboard.d.ts +0 -24
  291. package/dist/ui/input/keyboard.d.ts.map +0 -1
  292. package/dist/ui/input/keyboard.js +0 -230
  293. package/dist/ui/input/keyboard.js.map +0 -1
  294. package/dist/ui/input/mouse.d.ts +0 -44
  295. package/dist/ui/input/mouse.d.ts.map +0 -1
  296. package/dist/ui/input/mouse.js +0 -161
  297. package/dist/ui/input/mouse.js.map +0 -1
  298. package/dist/ui/layout/box.d.ts +0 -63
  299. package/dist/ui/layout/box.d.ts.map +0 -1
  300. package/dist/ui/layout/box.js +0 -160
  301. package/dist/ui/layout/box.js.map +0 -1
  302. package/dist/ui/layout/constraints.d.ts +0 -77
  303. package/dist/ui/layout/constraints.d.ts.map +0 -1
  304. package/dist/ui/layout/constraints.js +0 -154
  305. package/dist/ui/layout/constraints.js.map +0 -1
  306. package/dist/ui/layout/flex.d.ts +0 -59
  307. package/dist/ui/layout/flex.d.ts.map +0 -1
  308. package/dist/ui/layout/flex.js +0 -163
  309. package/dist/ui/layout/flex.js.map +0 -1
  310. package/dist/ui/layout/index.d.ts +0 -7
  311. package/dist/ui/layout/index.d.ts.map +0 -1
  312. package/dist/ui/layout/index.js +0 -7
  313. package/dist/ui/layout/index.js.map +0 -1
  314. package/dist/ui/modals/delete-modal.d.ts +0 -27
  315. package/dist/ui/modals/delete-modal.d.ts.map +0 -1
  316. package/dist/ui/modals/delete-modal.js +0 -59
  317. package/dist/ui/modals/delete-modal.js.map +0 -1
  318. package/dist/ui/modals/index.d.ts +0 -7
  319. package/dist/ui/modals/index.d.ts.map +0 -1
  320. package/dist/ui/modals/index.js +0 -7
  321. package/dist/ui/modals/index.js.map +0 -1
  322. package/dist/ui/modals/input-modal.d.ts +0 -66
  323. package/dist/ui/modals/input-modal.d.ts.map +0 -1
  324. package/dist/ui/modals/input-modal.js +0 -185
  325. package/dist/ui/modals/input-modal.js.map +0 -1
  326. package/dist/ui/modals/quit-modal.d.ts +0 -30
  327. package/dist/ui/modals/quit-modal.d.ts.map +0 -1
  328. package/dist/ui/modals/quit-modal.js +0 -65
  329. package/dist/ui/modals/quit-modal.js.map +0 -1
  330. package/dist/ui/renderer/ansi.d.ts +0 -206
  331. package/dist/ui/renderer/ansi.d.ts.map +0 -1
  332. package/dist/ui/renderer/ansi.js +0 -318
  333. package/dist/ui/renderer/ansi.js.map +0 -1
  334. package/dist/ui/renderer/canvas.d.ts +0 -126
  335. package/dist/ui/renderer/canvas.d.ts.map +0 -1
  336. package/dist/ui/renderer/canvas.js +0 -346
  337. package/dist/ui/renderer/canvas.js.map +0 -1
  338. package/dist/ui/renderer/colors.d.ts +0 -65
  339. package/dist/ui/renderer/colors.d.ts.map +0 -1
  340. package/dist/ui/renderer/colors.js +0 -260
  341. package/dist/ui/renderer/colors.js.map +0 -1
  342. package/dist/ui/renderer/index.d.ts +0 -8
  343. package/dist/ui/renderer/index.d.ts.map +0 -1
  344. package/dist/ui/renderer/index.js +0 -8
  345. package/dist/ui/renderer/index.js.map +0 -1
  346. package/dist/ui/renderer/symbols.d.ts +0 -176
  347. package/dist/ui/renderer/symbols.d.ts.map +0 -1
  348. package/dist/ui/renderer/symbols.js +0 -246
  349. package/dist/ui/renderer/symbols.js.map +0 -1
  350. package/dist/ui/views/index.d.ts +0 -7
  351. package/dist/ui/views/index.d.ts.map +0 -1
  352. package/dist/ui/views/index.js +0 -7
  353. package/dist/ui/views/index.js.map +0 -1
  354. package/dist/ui/views/sidebar-view.d.ts +0 -89
  355. package/dist/ui/views/sidebar-view.d.ts.map +0 -1
  356. package/dist/ui/views/sidebar-view.js +0 -259
  357. package/dist/ui/views/sidebar-view.js.map +0 -1
  358. package/dist/ui/views/terminal-bar-view.d.ts +0 -67
  359. package/dist/ui/views/terminal-bar-view.d.ts.map +0 -1
  360. package/dist/ui/views/terminal-bar-view.js +0 -172
  361. package/dist/ui/views/terminal-bar-view.js.map +0 -1
  362. package/dist/ui/views/welcome-view.d.ts +0 -34
  363. package/dist/ui/views/welcome-view.d.ts.map +0 -1
  364. package/dist/ui/views/welcome-view.js +0 -116
  365. 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"}