_评论者:razum2um_
嗨 Jérémie、Alex 和 Luc,
我是 aprint 的作者,很高兴你喜欢我的库 :)
以下是我对它的一些想法
1) 我真的很喜欢将其推入 tools.trace 的想法
2) 目前所有 clojure contrib-libs 与语言的补丁接受策略相同,这让我感到有些困惑:
https://github.com/clojure/clojure/pull/17#issuecomment-53628365 尝试理解,如果一个库依赖于另一个库,则后者必须与原始库共享相同的策略,但这并不是事实,因为我几乎不停地接受拉取请求。
3) 如果您无法更改此策略,我认为“内联”是最佳选择。
现在来谈谈关于“什么将被内联?”的问题。
4) 我有一点惊讶,人们没有像我希望的那样与我一起集成到 repl 中那样的意图
https://github.com/greglook/whidbey, 他们不喜欢颜色,他们只喜欢布局。因此,我们可以放弃颜色,消除对 clansi 的依赖性。或者,我可以内联 clansi(MIT 许可证),记录一个 :^dynamic 选项来启用颜色(默认情况下将关闭)
5) 用于紧凑布局的代码依赖于 jline,这肯定不会纳入其中 :) 因此,这将保持 pprint/*print-right-margin* 默认值,默认为 72,但在我看来,这并不是最佳选择,但就这样吧。(或者您仍在非常旧的终端上运行 clojure 吗?)
6) 我认为引入一个新的一 ^dynamic 选项没有意义,我建议依赖 pprint/*print-pretty*,如果是真的的话 - 使用紧凑布局而不是 pprint 的默认布局
因此
- 我可以填写并签署一份 CA
- 为您准备一个依赖项自由的补丁,该补丁仅包括紧凑布局(如果您喜欢,还可以包括颜色),由 pprint/*print-pretty* 和 pprint/*print-right-margin* 控制