You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用prompt-toolkit开发终端应用如何实现用户输入内容的简易着色

问题原因

prompt方法的style参数不接受直接传入原始样式字符串,要求接收prompt_toolkit.styles.Style类的实例。同时用户输入内容的样式需要通过input选择器单独指定,不能直接全局赋值样式。

解决代码

from prompt_toolkit import PromptSession, HTML
from prompt_toolkit.styles import Style

# 定义自定义样式
custom_style = Style([
    # input选择器对应普通用户输入内容的样式
    ('input', 'fg:ansiyellow bg:black bold underline'),
])

pts = PromptSession()
result = pts.prompt(HTML('<b>Enter some data > </b>'), style=custom_style)

补充说明

  • 该方案不需要引入lexer,完全适配普通业务数据录入的样式需求
  • 如果需要调整其他区域的样式,可在Style列表中新增对应选择器的配置:比如prompt选择器对应提示语默认样式、selection选择器对应选中内容的样式,你之前通过HTML标签设置的提示语加粗样式优先级高于全局Style配置,不会被覆盖。

内容的提问来源于stack exchange,提问作者ljgww

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 20:36:04