Forester
与
Neovim
/
Nix
合作笔记 [jsr-0004]
- May 1, 2024
- Jinser Kafka
Forester
与
Neovim
/
Nix
合作笔记 [jsr-0004]
- May 1, 2024
- Jinser Kafka
扁平的文件树导航问题可以通过虚拟嵌套(部分)解决,如果不是遇到特别大的树,效果挺好的。
1.
Forester
nesting tree [fst-0001]
- April 9, 2024
- Jinser Kafka
1. Forester nesting tree [fst-0001]
- April 9, 2024
- Jinser Kafka
Forester 的 tree 是扁平的,不推荐用 file tree 组织,这样一来当树多的时候,使用 file tree 就难以导航。我暂时没有使用 fuzz finder 类似插件的习惯,所以我就在 file tree 插件层面配置了一个 file nesting 虚拟嵌套。
1.1. Neo-tree file nesting [nvim-0001]
- April 9, 2024
- Jinser Kafka
1.1. Neo-tree file nesting [nvim-0001]
- April 9, 2024
- Jinser Kafka
:help neo-tree-file-nesting
nesting_rules = { ["forester"] = { pattern = "(.*)-0001%.tree$", files = { "%1-*.tree" }, }, },
hls-0001.tree hls-0002.tree hls-0003.tree hls-0004.tree TREENAME-0001.tree TREENAME-0002.tree TREENAME-0003.tree ...
效果还不错。但有个小问题,git status 只会渲染文件和包含该文件的文件夹;而 nested file 不是文件夹,而 pattern 作为文件本身也不应该被渲染。
1.2. Neo-tree file nesting git-status issue [nvim-0002]
- April 9, 2024
- Jinser Kafka
1.2. Neo-tree file nesting git-status issue [nvim-0002]
- April 9, 2024
- Jinser Kafka
expand nested files
trees/ hls-0001.tree hls-0002.tree hls-0003.tree hls-0004.tree ... TREENAME-0001.tree TREENAME-0002.tree TREENAME-0003.tree ...
collapse nested files
trees/
hls-0001.tree
...
TREENAME-0001.tree
这有一点两难,我目前想到了两个方式。
- 动态渲染:折叠 file 后,让 pattern 也渲染 git status。但是估计有点问题,文件夹的状态应该也是 git status 给的,貌似很难决定 nested file pattern 应该是什么状态。
- 虚拟文件夹:在 Forester 的用例下,其实有个虚拟文件夹会更好?但是这样仍然不能让 git 来计算文件夹的 status。