jesseduffield.lazygit/pkg/gui/filetree
Yaroslav Veremenko fdeaf9cea0 Add new filter to only show tracked files in Files panel
This allows to hide all non-tracked files on large repos
2024-11-12 16:54:24 +11:00
..
build_tree.go Use map to quickly find children in BuildTreeFromFiles 2024-09-18 09:16:58 +02:00
build_tree_test.go Remove redundant variable dedeclarations 2024-05-19 16:38:21 +10:00
collapsed_paths.go
commit_file_node.go
commit_file_tree.go
commit_file_tree_view_model.go Use non-sticky range diff when entering commit files panel 2024-08-28 19:51:15 +02:00
file_node.go Actually look for conflict markers in GetHasInlineMergeConflicts 2024-09-02 18:12:47 +02:00
file_node_test.go Remove redundant variable dedeclarations 2024-05-19 16:38:21 +10:00
file_tree.go Add new filter to only show tracked files in Files panel 2024-11-12 16:54:24 +11:00
file_tree_test.go Add new filter to only show tracked files in Files panel 2024-11-12 16:54:24 +11:00
file_tree_view_model.go Reduce the chance of race condition with list cursor 2024-01-28 09:20:52 +11:00
node.go
README.md

FileTree Package

This package handles the representation of file trees. There are two ways to render files: one is to render them flat, so something like this:

dir1/file1
dir1/file2
file3

And the other is to render them as a tree

dir1/
  file1
  file2
file3

Internally we represent each of the above as a tree, but with the flat approach there's just a single root node and every path is a direct child of that root. Viewing in 'tree' mode (as opposed to 'flat' mode) allows for collapsing and expanding directories, and lets you perform actions on directories e.g. staging a whole directory. But it takes up more vertical space and sometimes you just want to have a flat view where you can go flick through your files one by one to see the diff.

This package is not concerned about rendering the tree: only representing its internal state.