Skip to content

Latest commit

 

History

History
50 lines (36 loc) · 2.42 KB

File metadata and controls

50 lines (36 loc) · 2.42 KB

Reads

File reading and directory listing ops. Reach for these when you know the path and want content — a single file, a directory listing, or metadata without searching.

Ops

Op Syntax What it does
read read:PATH or read:PATH:OFFSET:LIMIT 300 lines / 20KB cap
read (filter) read:PATH:OFFSET:LIMIT:grep=PATTERN Only show lines matching PATTERN (original line numbers preserved). Use read:PATH:::grep=PATTERN for defaults.
head head:PATH:N First N lines (default 20). Minified single-line files return a char-window peek instead of the whole giant line; window size via builtin-ops.head.char_window (default 1000, or env SUPERTOOL_HEAD_CHAR_WINDOW).
tail tail:PATH:N Last N lines (default 20). Minified single-line files return a char-window peek; window size via builtin-ops.tail.char_window (default 1000, or env SUPERTOOL_TAIL_CHAR_WINDOW).
wc wc:PATH Line/word/char count (like unix wc). Output: LINES WORDS CHARS PATH. Flags single-line/minified files where the line count is degenerate.
stat stat:PATH File/directory metadata: size (bytes), last modified (ISO datetime), type (file/dir).
ls ls:PATH Directory listing. Trailing / on subdirs.
glob glob:PATTERN ** supported. Auto-reads if PATTERN is a concrete file path (no wildcards).
tree tree:PATH or tree:PATH:DEPTH Directory structure with depth limit (default 3). Hides dotfiles. Files listed before subdirectories.
diff diff:PATH1:PATH2 Unified diff between two files.

Common patterns

Read three files in one round-trip — parallel where safe:

./supertool 'read:src/Module.py' 'read:src/Config.py' 'read:src/Auth.py'

Survey a directory then read the interesting file:

./supertool 'tree:src/app/' 'glob:src/app/**/*.py' 'read:src/app/Module.py'

Read only matching lines from a large file (line numbers preserved):

./supertool 'read:src/app/Config.py:::grep=DEBUG'

Check size before deciding to read:

./supertool 'stat:src/app/BigFile.py' 'head:src/app/BigFile.py:50'

See also

  • search.md — when you don't know the path yet (grep, between, around)
  • map.md — when you want the symbol skeleton of a file/directory without reading every line
  • docs/validators.md — validators run automatically on mutating ops