phext-shell

Crates.iophext-shell
lib.rsphext-shell
version0.1.12
sourcesrc
created_at2024-08-14 22:15:55.015549
updated_at2024-10-20 22:43:46.599847
descriptionA phext-native implementation of an operating system shell
homepagehttps://phext.io/
repository
max_upload_size
id1338049
size42,882
Will Bickford (wbic16)

documentation

README

phext shell

  • a shell that is phext-aware
  • keeps track of your current scroll by coordinate
  • allows programs to pass hierarchical information between processes

Commands

  • af: appends the contents of the specified file to the current coordinate
  • cs: Change scroll
  • ds: Display scroll
  • lp: Loads a phext into memory
  • os: overwrites the current scroll with the specified text
  • ph: computes the phext checksum
  • pi: indexes the current phext
  • ps: soundex for the current phext
  • rp: resets the current phext
  • rs: resets the current scroll
  • sp: saves the current phext to disk
  • help: display online help

Overview

This interactive shell is a swiss-army knife designed to make working with phexts simple and fun. The shell displays your current coordinate next to the prompt. Input and output for non-phext-aware programs is collected on the current scroll.

Hierarchical History

Upon terminating your phext session, phext-shell will automatically write out a history of actions completed. This history is stored in phext itself, allowing you to track which commands were issued. This allows you to walk/share notes and learn from others in the way they discovered information!

Thinking in Terms of Phexts

Several commands provide SIMD-style output (producing a child phext document with the same structure, but new data). You can inspect the corresponding document in any phext-capable editor.

  • ph: phext hash
    • runs xxh3 on every scroll, computes a manifest, and spits out a hash for the entire phext
    • related suffix: .checksum
  • pi: phext index
    • calculates the absolute offset of each scroll, including necessary delimiters
    • related suffix: .index
  • ps: phext soundex
    • similar to the phext hash, but designed to produce numbers suitable for use as coordinates

Session Example

1.1.1/1.1.1/1.1.1> hello-phext

Result: All output from the hello-phext process will be collected on the scroll starting at 2.1.1/1.1.1/1.1.1. No additional programs can be started from this node, but we can change our current scroll with the cs command.

2.1.1/1.1.1/1.1.1> ls ERROR: hello-phext is currently running. Switch to another scroll context to run a new program.

2.1.1/1.1.1/1.1.1> cs 1.1.1/1.1.1/1.1.2

Result: The user's I/O mount point will be adjusted to the given coordinate, which is not generating any output currently.

1.1.1/1.1.1/1.1.2> cs 1.1.1/1.1.1/1.1.1

Result: The user's I/O mount point will return to the root node, which is also not producing any output currently.

Commit count: 0

cargo fmt