Skip to content

feat: 支持 Shell 终端点击定位光标#259

Merged
sunny0826 merged 1 commit into
mainfrom
feat/check-shell
Jun 1, 2026
Merged

feat: 支持 Shell 终端点击定位光标#259
sunny0826 merged 1 commit into
mainfrom
feat/check-shell

Conversation

@sunny0826
Copy link
Copy Markdown
Contributor

摘要 (Summary)

支持 Shell 类型课程终端通过鼠标单击定位当前命令行光标,提升编辑较长 shell 命令时的交互体验。实现保持在前端 Shell 终端组件内,不改后端 WebSocket 协议。

主要变更 (Key Changes)

  • Shell 终端: 根据鼠标点击位置计算 xterm 单元格坐标,并转换为 readline 可识别的左右方向键序列。
  • 交互保护: 仅处理普通单击,保留拖拽选择、双击、修饰键点击和应用鼠标追踪模式下的原有行为。
  • 视觉反馈: 为终端区域补充 cursor-text,强化可点击编辑区域感知。

变更类型 (Type of Change)

  • Bug 修复 (Bug fix)
  • 新功能 (New feature)
  • 破坏性变更 (Breaking change)
  • 代码重构 (Refactor / Code cleanup)
  • 文档更新 (Documentation update)

测试情况 (Testing Performed)

  • pnpm run check
  • pnpm exec eslint src/components/business/Terminal.tsx

给 Reviewer 的提示 (Notes for Reviewers)

  • 这次只影响 Shell 终端 src/components/business/Terminal.tsx,SQL/Code 终端不在改动范围内。
  • 光标定位依赖真实 PTY/readline 响应方向键,因此不会绕过容器内 shell 状态。

@sunny0826 sunny0826 merged commit 565b9aa into main Jun 1, 2026
5 checks passed
@sunny0826 sunny0826 deleted the feat/check-shell branch June 1, 2026 11:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant