MCPcopy Index your code
hub / github.com/gokcehan/lf

github.com/gokcehan/lf @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
457 symbols 1,399 edges 34 files 48 documented · 11% 6 cross-repo links updated 11d agor41 · 2026-02-04★ 9,37451 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

LF

Doc | Wiki | #lf:matrix.org (with IRC bridge)

Go Build Go Report Card

lf (as in "list files") is a terminal file manager written in Go with a heavy inspiration from ranger file manager. See faq for more information and tutorial for a gentle introduction with screencasts.

icons-and-border image-preview new-features

Features

  • Cross-platform (Linux, macOS, BSDs, Windows)
  • Single binary without any runtime dependencies
  • Fast startup and low memory footprint due to native code and static binaries
  • Asynchronous IO operations to avoid UI locking
  • Server/client architecture and remote commands to manage multiple instances
  • Extendable and configurable with shell commands
  • Customizable keybindings (vi and readline defaults)
  • A reasonable set of other features (see the documentation)

Non-Features

  • Tabs or windows (better handled by window manager or terminal multiplexer)
  • Builtin pager/editor (better handled by your pager/editor of choice)
  • Builtin commands for file operations (better handled by the underlying shell tools including but not limited to mkdir, touch, chmod, chown, chgrp, and ln)

Installation

See packages for community maintained packages.

See releases for pre-built binaries.

Building from the source requires Go.

On Unix:

env CGO_ENABLED=0 go install -trimpath -ldflags="-s -w" github.com/gokcehan/lf@latest

On Windows cmd:

set CGO_ENABLED=0
go install -trimpath -ldflags="-s -w" github.com/gokcehan/lf@latest

On Windows PowerShell:

$env:CGO_ENABLED = '0'
go install -trimpath -ldflags="-s -w" github.com/gokcehan/lf@latest

Usage

After the installation lf command should start the application in the current directory.

Run lf -help to see command line options.

Run lf -doc to see the documentation.

See etc directory to integrate lf to your shell and/or editor. Example configuration files along with example colors and icons files can also be found in this directory.

See integrations to integrate lf to other tools.

See tips for more examples.

Contributing

See contributing for guidelines.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

echoerrf
called by 92
ui.go
loadFile
called by 75
ui.go
currDir
called by 59
nav.go
Name
called by 54
nav.go
String
called by 50
parse.go
echoerr
called by 40
ui.go
scan
called by 38
scan.go
IsDir
called by 34
nav.go

Shape

Function 236
Method 171
Struct 39
TypeAlias 10
Interface 1

Languages

Go100%

Modules by API surface

nav.go90 symbols
ui.go60 symbols
eval.go29 symbols
parse.go27 symbols
misc_test.go24 symbols
misc.go22 symbols
os_windows.go16 symbols
os.go16 symbols
opts.go16 symbols
complete.go15 symbols
app.go15 symbols
main.go14 symbols

Dependencies from manifests, versioned

github.com/clipperhouse/displaywidthv0.11.0 · 1×
github.com/clipperhouse/uax29/v2v2.7.0 · 1×
github.com/djherbis/timesv1.6.0 · 1×
github.com/gdamore/encodingv1.0.1 · 1×
golang.org/x/sysv0.46.0 · 1×
golang.org/x/termv0.44.0 · 1×
golang.org/x/textv0.37.0 · 1×

For agents

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

⬇ download graph artifact