gh-dash项目中的搜索与过滤功能详解
gh-dash A beautiful CLI dashboard for GitHub 🚀 项目地址: https://gitcode.com/gh_mirrors/gh/gh-dash
概述
gh-dash作为一个高效的项目管理工具,提供了强大的搜索和过滤功能,帮助开发者快速定位和管理代码库中的问题和拉取请求。本文将深入解析gh-dash的搜索机制,包括基础过滤语法、模板函数以及智能过滤特性。
基础搜索语法
gh-dash的搜索功能基于GitHub原生搜索语法构建,用户可以通过定义YAML格式的过滤条件来筛选问题和拉取请求。
基本配置示例
prsSections:
- title: 待我审核的PR
filter: >-
is:open
-author:@me
updated>={{ nowModify "-2w" }}
关键点说明:
- 无需指定
is:pr
,系统会自动添加此条件 - 使用
>-
语法可以使多行过滤条件更易读 @me
代表当前登录用户
高级模板函数
gh-dash扩展了GitHub原生搜索语法,提供了实用的模板函数来简化日期计算。
nowModify函数详解
nowModify
函数用于计算相对日期,生成符合ISO-8601标准的日期字符串。
语法示例:
updated>={{ nowModify "-1mo" }} # 一个月前的日期
支持的时间单位:
- 基础单位:
ns
、µs
、ms
、s
、m
、h
- 扩展单位:
d
/D
:天w
/W
:周M
/mo
:月y
/Y
:年
复合表达式示例:
created>={{ nowModify "-1y2w3d" }} # 1年2周3天前
智能过滤机制
gh-dash的智能过滤功能可以根据上下文自动优化搜索范围,显著提升工作效率。
工作原理
- 环境变量优先:检查
GH_REPO
环境变量 - Git仓库检测:按顺序检查以下远程仓库名称:
upstream
github
origin
- 默认选择:使用
git remote
列出的第一个远程仓库
使用场景
- 单仓库模式:当工作在特定仓库时,自动限定搜索范围
- 全局模式:需要搜索所有仓库时,可关闭智能过滤
控制方式
- 启动时禁用:在配置中设置
smartFilteringAtLaunch: false
- 运行时切换:使用快捷键
t
或自定义键绑定
最佳实践建议
- 组织过滤条件:将复杂条件分行书写,提高可读性
- 合理使用日期过滤:结合
nowModify
实现动态时间范围 - 利用智能过滤:在专注单个项目时保持开启,跨项目搜索时临时关闭
- 保存常用查询:在配置文件中预设常用搜索条件
通过掌握这些搜索技巧,开发者可以大幅提升使用gh-dash管理项目和代码的效率,快速定位需要关注的工作项。
gh-dash A beautiful CLI dashboard for GitHub 🚀 项目地址: https://gitcode.com/gh_mirrors/gh/gh-dash
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考