Rework definition context rules
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 25/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 领域
- tooling
调研方向
从 define-definition-context-refactoring-rule 入口点开始,并查看 issue #476,以了解这里描述的替换问题。将其当前行为与 issue 中提到的 Rhombus 语句宏模型进行比较。完成的标准是确定并实现一种方案,避免要求调用者管理替换形式,并且不再依赖硬编码的定义上下文形式。
由索引模型根据 Issue 内容生成。
描述
Creating a definition context rule with define-definition-context-refactoring-rule is somewhat awkward. There's a few usability issues:
- You have to match the entire definition context, which is rarely useful.
- You have to be careful to use
~replacement,~splicing-replacement, and~focus-replacement-onin order to avoid issues like #476. - The set of recognized definition context forms is hard-coded.
Something better should be possible. Perhaps something like how Rhombus macros work, where a statement macro can match on all following statements and statement macros return two values: an expansion and an "unprocessed tail". That would let Resyntax automatically use ~replacement, ~splicing-replacement, and ~focus-replacement-on, and it would remove the need for definition context rules to care about the forms earlier in the definition context.
- 主要语言
- Racket
- 星标
- 70
- 派生
- 11
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
jackfirth/resyntax 的其他 Issue
-
documentation
难度 2/5 1-3 小时 新手友好度 68/100
-
documentation
难度 4/5 3-5 天 新手友好度 45/100
-
testing
难度 4/5 3-5 天 新手友好度 45/100
-
testing
难度 3/5 1-2 天 新手友好度 75/100
-
testing
难度 4/5 3-5 天 新手友好度 68/100
查看 jackfirth/resyntax 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
-
enhancement
难度 2/5 1-3 小时 新手友好度 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 条评论 ·
-
good first issue
难度 1/5 1 小时以内 新手友好度 90/100
-
难度 2/5 1-3 小时 新手友好度 75/100
rust-bitcoin/rust-bitcoin#6930 · 1 条评论 ·
-
Solved site promotion gate fails on runner PHP patch drift (expects 8.2.33, runner installs 8.2.34) 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
Automattic/blocks-engine#2161 ·