MCPcopy Index your code
hub / github.com/dmcg310/rust-traverse

github.com/dmcg310/rust-traverse @v2.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.0.0 ↗ · + Follow
68 symbols 149 edges 28 files 1 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Rust-Traverse

Rust traverse is a terminal based file explorer. It is inspired by the NNN file manager. It uses Ratatui for the terminal UI, with Crossterm for the terminal backend.

To traverse or not to traverse?

Features

  • [x] Full CRUD operations on files and directories.
  • [x] Move and copy files and directories.
  • [x] Keyboard shortcuts for navigation and operations, to make sure you don't have to leave the keyboard.
  • [x] Traverse directly to a directory by typing its path.
  • [x] Configurable.
  • [x] Extract tar.gz, or zip archives.
  • [x] Bookmarks for your favourite directories.
  • [x] Fuzzy finder for files in your current directory.
  • [x] Preview files in the terminal.
  • [x] Blazingly fast.

Installation

From source

  1. Install Rust.
  2. Clone the repository.
  3. Run cargo build --release.
  4. The binary will be in target/release/rt.
  5. Add the binary to your path.

From Binary

  1. Download the binary from the releases page.
  2. chmod +x rt (linux only) within the same directory as it, to make it executable.
  3. Move the resulting binary to your path.

Usage

Run rt in your terminal.

Keyboard Shortcuts

Navigation

  • ESC or q: Quit the application.
  • 1: Select the Files pane.
  • 2: Select the Directories pane.
  • j: Select the next item in the current pane.
  • k: Select the previous item in the current pane.

File and Directory Operations

  • n: Create a new file or directory, depending on the current pane.
  • CTRL + d: Delete the selected file or directory, (to bin).
  • r: Rename the selected file or directory.
  • f: Navigate to a directory using a relative or absolute path.
  • x: Extract the selected archive, to the current directory.

Move/Copy Operations

  • c: Append the selected file or directory to the move/copy buffer.
  • p: Opens the move/copy buffer menu, (enter on any option is in relation to your current directory).

Fuzzy Finder Operations

  • w: Toggle fzf.
  • CTRL + n: 'Next' item in results.
  • CTRL + p: 'Previous' item in results.

Bookmark Operations

  • b: Shows bookarks menu.
  • z: Add current directory to bookmarks.
  • CTRL + n: 'Next' bookmark in menu.
  • CTRL + p: 'Previous' bookmark in menu.

Help

  • ?: Shows help menu.

Configuration

The configuration file is located at <config-dir>/traverse/config.txt. The default configuration is as follows:

show_hidden=false
excluded_directories=.git,.idea,.vscode,target

The excluded directories are directories that will not be searched when using the FZF. The bookmarks file is located at <config-dir>/traverse/bookmarks.

Core symbols most depended-on inside this repo

update_files
called by 16
src/app/app.rs
update_dirs
called by 16
src/app/app.rs
get_pwd
called by 7
src/ui/display/pane.rs
block_binds
called by 6
src/ui/display/block.rs
handle_fzf
called by 4
src/ui/input/nav.rs
output_cur_dir
called by 3
src/ui/input/nav.rs
update_bookmarks
called by 2
src/app/app.rs
selected_pane_content
called by 2
src/ui/display/pane.rs

Shape

Function 50
Method 12
Class 4
Enum 2

Languages

Rust100%

Modules by API surface

src/app/app.rs11 symbols
src/ui/input/file_ops.rs8 symbols
src/ui/display/pane.rs6 symbols
src/ui/input/nav.rs5 symbols
src/ui/input/movement.rs5 symbols
src/ui/input/stateful_list.rs4 symbols
src/ui/input/bookmark.rs4 symbols
src/ui/input/submit.rs3 symbols
src/ui/display/render.rs3 symbols
src/ui/input/run_app.rs2 symbols
src/ui/input/extract.rs2 symbols
src/ui/display/navs.rs2 symbols

For agents

$ claude mcp add rust-traverse \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact