Provide Context for the New Feature or Enhancement You Would Like
nomad currently builds the entire tree before it is displayed in the terminal. While this is not an issue when running nomad within smaller directories, it becomes substantial when running it in very large directories like /, for example. After running nd, it appears the command is hanging but nomad is actually just building the tree in the background.
Like what the original tree command appears to do, live-printing the tree as nomad finds new files or directories would provide a better user experience.
Explain Why You Believe This Would Be a Good Feature
Everyone loves a program that runs fast. Who actually likes waiting, especially for something written in Rust?
The hanging effect after running nd in big directories in the terminal may also cause confusion for the end user (ie. "did nomad crash?").
Is Your Request Related To a Problem?
I did not open a separate bug report for this since this is technically not a bug, but rather a performance issue.
Describe Alternatives You Have Considered
I have considered writing my own implementation of a tree-building library; however, I believe ptree is already a great crate, so why reinvent the wheel?
Additional Context
This is currently just a limitation of the default method of tree building that the ptree crate offers, since I did not implement a custom TreeItem trait and just used the provided TreeBuilder struct and print_tree_with() function to create and display the tree with custom formatting settings.
I believe this feature may be fulfilled once I take a deeper dive into the inner workings of ptree. If it is not possible to do by just implementing my own TreeItem trait, perhaps I would have to modify the source code and maybe even open a pull request for ptree adding a live print option of some sort when I figure it out. If I do open a PR for ptree and it is not accepted, I will just have to fork my own version of the crate and include it in nomad's source code.
Provide Context for the New Feature or Enhancement You Would Like
nomadcurrently builds the entire tree before it is displayed in the terminal. While this is not an issue when runningnomadwithin smaller directories, it becomes substantial when running it in very large directories like/, for example. After runningnd, it appears the command is hanging butnomadis actually just building the tree in the background.Like what the original
treecommand appears to do, live-printing the tree asnomadfinds new files or directories would provide a better user experience.Explain Why You Believe This Would Be a Good Feature
Everyone loves a program that runs fast. Who actually likes waiting, especially for something written in Rust?
The hanging effect after running
ndin big directories in the terminal may also cause confusion for the end user (ie. "didnomadcrash?").Is Your Request Related To a Problem?
I did not open a separate bug report for this since this is technically not a bug, but rather a performance issue.
Describe Alternatives You Have Considered
I have considered writing my own implementation of a tree-building library; however, I believe
ptreeis already a great crate, so why reinvent the wheel?Additional Context
This is currently just a limitation of the default method of tree building that the
ptreecrate offers, since I did not implement a customTreeItemtrait and just used the providedTreeBuilderstruct andprint_tree_with()function to create and display the tree with custom formatting settings.I believe this feature may be fulfilled once I take a deeper dive into the inner workings of
ptree. If it is not possible to do by just implementing my ownTreeItemtrait, perhaps I would have to modify the source code and maybe even open a pull request forptreeadding a live print option of some sort when I figure it out. If I do open a PR forptreeand it is not accepted, I will just have to fork my own version of the crate and include it innomad's source code.