Discover Packages
github.com/xyproto/megafile
package
module
Version:
v1.2.0
Opens a new window with list of versions in this module.
Published: Dec 17, 2025
License: BSD-3-Clause
Opens a new window with license information.
Imports: 10
Opens a new window with list of imports.
Imported by: 1
Opens a new window with list of known importers.
README
README
¶
MegaFile
A simple and colorful TUI shell for Linux, written in Go.
This project can be used as the github.com/xyproto/megafile package, or as a standalone exectuable.
(screenshot of the previous version, before the project rename)
Building
make
Installation
make install
Commands
any filename - edit file with $EDITOR
cd, .. or any directory name - change directory
./script.sh - execute a script named script.sh
ls or dir list directory (happens automatically, though)
q, quit or exit - exit program
Hotkeys
tab - cycle between the 3 different current diretories, or tab completion of directories and filenames
ctrl-space - cycle backwards between the 3 different current directories
ctrl-q - exit program
ctrl-o or ctrl-h - toggle "show hidden files"
ctrl-a - start of line
ctrl-d - delete character under cursor, or exit program
ctrl-k - delete text to the end of the line
ctrl-l - clear screen
ctrl-c - clear text, or exit program
ctrl-t - run tig
ctrl-g - run lazygit
ctrl-n - enter the freshest directory
ctrl-p - go up one directory
General info
Expand ▾
Collapse ▴
Documentation
¶
Package megafile provides functionality for a simple TUI for browsing files and directories
ErrExit is the error that is returned if the user appeared to want to exit
Cleanup tries to set everything right in the terminal emulator before returning
MegaFile launches a file browser
c and tty is a canvas and TTY, initiated with the vt package
startdirs is a slice of directories to browse (toggle with tab)
startMessage is the string to display at the top of the screen
the function returns the absolute path to the directory the user ended up in,
and an error if something went wrong
type FileEntry struct {
}
FileEntry represents a file entry with position and name information
State holds the current state of the shell, then canvas and the directory structures
Source Files
¶
Directories
¶
cmd
megafile
command
package main is the main package for the MegaFile program
package main is the main package for the MegaFile program
Click to show internal directories.
Click to hide internal directories.