nore-dev / fman Goto Github PK
View Code? Open in Web Editor NEWTUI File Manager
License: MIT License
TUI File Manager
License: MIT License
All entries are rendered with the same color and it looks too confusing. It would be awesome to use different colors on directories and hidden entries
Visual feedback from list items can be improved by using emojis to represent files/directories/symlinks.
Hi! Forgive me for being picky, but I was at first disoriented by how j
and k
keys are mapped by default.
Line 250 in fd1d4e7
Line 257 in fd1d4e7
The reason for my confusion is the fact that I'm used to j
being responsible for moving the cursor down instead of up, as portrayed here, for example.
Was just wondering if this is intended ๐ค
Thanks in advance!
Use TOML
could you also consider adding [Everblush[https://github.com/Everblush) theme.
Shift
+G
: Move to the end of the list
GG
: Move to beginning of the list
It works fine under /home directory but for example, if you go to /usr directory it gives an error.
Caught panic:
stat lib: no such file or directory
Restoring terminal...
goroutine 1 [running]:
runtime/debug.Stack()
/usr/lib/go/src/runtime/debug/stack.go:24 +0x65
runtime/debug.PrintStack()
/usr/lib/go/src/runtime/debug/stack.go:16 +0x19
github.com/charmbracelet/bubbletea.(*Program).StartReturningModel.func3()
/home/noredev/go/pkg/mod/github.com/charmbracelet/[email protected]/tea.go:370 +0x95
panic({0x7cb520, 0xc00009a090})
/usr/lib/go/src/runtime/panic.go:890 +0x262
github.com/nore-dev/fman/model.ListModel.Update({{0xc000153b00, 0xd, 0x10}, {0xc0000162b8, 0x16}, 0x0, 0x0, 0x0, 0xc000072c80, 0x0, ...}, ...)
/home/noredev/dev/fman/model/list.go:178 +0x11fc
main.(*App).Update(0xc000324000, {0x7cc5a0?, 0xc000321a20})
/home/noredev/dev/fman/main.go:66 +0x4aa
github.com/charmbracelet/bubbletea.(*Program).StartReturningModel(0xc00011e160)
/home/noredev/go/pkg/mod/github.com/charmbracelet/[email protected]/tea.go:539 +0x12bf
github.com/charmbracelet/bubbletea.(*Program).Start(...)
/home/noredev/go/pkg/mod/github.com/charmbracelet/[email protected]/tea.go:548
main.main()
/home/noredev/dev/fman/main.go:124 +0x77f
When you go to a folder the app can't access or the file path gets malformed in some way the app just crashes. Looking at the code it seems that this behaviour stems from the Update
function on the ListModel
. I suggest doing some form of error validation to check if the error is recoverable or indeed a panic must happen.
Due to the fact that this implies some design decisions as to how to handle this from a UI perspective I don't think that doing a pull request with my own solution will be beneficial. If there is anything I can help with let me know.
The code is messy
Add more ways to install.
Copy the entry path when pressing the c
key.
sudo mv fman /usr/bin/fman
could not decode rune
Ability to specify where to source the file/directory icons from:
Right now, the symlinks are ignored. It would be nice to handle symlinks.
Lines 71 to 74 in 8f64a62
Strangely, a blank line is inserted when the list element name has more than two "-" signs in its name. I temporarily changed the "-" character to "_"
Line 252 in 8f64a62
Add more themes and add option to select themes
fman --theme dracula
Thanks a lot for your work on this project, really love it.
Two feature requests:
/
keyAdd ability to browse through the contents of file preview (using vim key combinations as an initial proposal):
Ctrl+Y
to scroll upCtrl+E
to scroll downShow help text to user
Toggle the view with ?
key
First of all, awesome work!
As a developer, I love it when the work is praised, and this is the case.
After installation with go install
and running, I've got this:
> fman
Caught panic:
runtime error: index out of range [0] with length 0
Restoring terminal...
goroutine 1 [running]:
runtime/debug.Stack()
/opt/homebrew/Cellar/go/1.19.1/libexec/src/runtime/debug/stack.go:24 +0x64
runtime/debug.PrintStack()
/opt/homebrew/Cellar/go/1.19.1/libexec/src/runtime/debug/stack.go:16 +0x1c
github.com/charmbracelet/bubbletea.(*Program).StartReturningModel.func3()
/Users/yuriizinets/go/pkg/mod/github.com/charmbracelet/[email protected]/tea.go:370 +0x8c
panic({0x1011bcec0, 0x140003a02b8})
/opt/homebrew/Cellar/go/1.19.1/libexec/src/runtime/panic.go:890 +0x258
github.com/nore-dev/fman/model.ListModel.View({{0x140000c0000, 0x3a, 0x47}, {0x1400012a1c8, 0x12}, 0x52, 0x27, 0x0, 0x140000de000, 0x1d, ...})
/Users/yuriizinets/go/pkg/mod/github.com/nore-dev/[email protected]/model/list.go:397 +0x1da4
main.(*App).View(0x140000e0000)
/Users/yuriizinets/go/pkg/mod/github.com/nore-dev/[email protected]/main.go:84 +0xd8
github.com/charmbracelet/bubbletea.(*Program).StartReturningModel(0x140000e4000)
/Users/yuriizinets/go/pkg/mod/github.com/charmbracelet/[email protected]/tea.go:541 +0xfb4
github.com/charmbracelet/bubbletea.(*Program).Start(...)
/Users/yuriizinets/go/pkg/mod/github.com/charmbracelet/[email protected]/tea.go:548
main.main()
/Users/yuriizinets/go/pkg/mod/github.com/nore-dev/[email protected]/main.go:128 +0x624
Some additional information:
Right now it just writes "empty". Create an awesome design
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.