Crates.io | lumesh |
lib.rs | lumesh |
version | 0.7.6 |
created_at | 2025-07-30 10:10:39.460022+00 |
updated_at | 2025-08-17 03:30:17.015731+00 |
description | a lighting shell ⚡ |
homepage | https://lumesh.codeberg.page |
repository | https://codeberg.com/santo/lumesh |
max_upload_size | |
id | 1773346 |
size | 1,223,618 |
Development is now continuing on Codeberg, with the GitHub repository becoming a mirror. Issues & pull requests on GitHub will be ignored from now on.
Write like js, work like Bash, run like light
Lumesh is a modern shell and scripting language, completely rewritten from Dune, designed for high performance and user-friendly experience.
Comparison Item | lume | bash | dash | fish |
---|---|---|---|---|
Speed (million loops) | ***** | *** | **** | * |
Syntax Friendliness | ***** | ** | * | **** |
Error Messages | ***** | * | * | *** |
Error Handling | ***** | * | * | * |
Built-in Libraries | ***** | * | ||
Interactivity | **** | ** | * | ***** |
Size | **** | *** | ***** | ** |
Key Bindings | ☑ | ☑ | ||
Structured Pipelines | ☑ | |||
AI Interaction | ☑ |
# Syntax like modern programming languages
let user = {name: "Alice", age: 25}
let {name, age} = user
let numbers = 1..10 | List.filter(x -> x > 5)
let [a, b] = [1, 2]
Supports method chaining similar to object-oriented languages:
"hello world".split(' ').join(',')
data | .filter(x -> x > 0)
More intelligent error tips, error capture and recovery deeling than traditional shells.
command ?. # Ignore errors
command ?: e # Error capture or default value
command ?+ # Print to standard output
command ?? # Print to error output
command ?> # Override print (data channel)
command ?! # Terminate on error (terminate pipeline)
data | process # Standard pipeline, supports structured data
data |_ positional # Positional pipeline
data |> loop_deel # Loop pipeline
data |^ interactive # PTY pipeline
Structured pipelines:
ls -l | .to_table() | where(size > 5K)
Fs.ls -l | where(size > 5K) | select(name,size,modified)
ls -1 |> cp -r _ /tmp/
Collection Operations: List.reduce, List.map
File System: Fs.ls, Fs.read, Fs.write
String Processing: String.split, String.join
, Regex
module
Time Operations: Time.now, Time.format
Data Conversion: Into
, From
module
Mathematical Calculations: Complete Math
function library
Logging: Log
module
UI Operations: Ui.pick, Ui.confirm
Supports function decorator syntax:
@decorator_name
@decorator_with_args(param1, param2)
fn my_function() { ... }
Supports module import syntax:
use moduleA as ma
Built-in local AI assistant, supports command completion and smart suggestions.
Replace traditional shells, providing a modern command-line experience:
# Start interactive shell
lume
#!/usr/bin/env lumesh
# File processing script
let files = Fs.ls("/data") | where(size > 1MB)
files | List.map(f -> Fs.cp(f, './backup'))
# System management
df -h | Into.table()
Method 1: Download Precompiled Version
Method 2: Build from Cargo
cargo install lumesh
Method 3: Compile from Source
git clone 'https://codeberg.com/santo/lumesh.git'
cd lumesh
cargo build --release
lume
: Complete interactive shell, supports REPL, auto-completion, syntax highlightinglumesh
: Lightweight script executor, quick startup, minimal dependencies# Start interactive shell
lume
# Or execute script
lumesh script.lm
![]() |
![]() |
---|
Due to fish being unable to complete one million tasks, we recorded its half-task time.
Syntax Manual [https://lumesh.codeberg.page/en/syntax]
Built-in Function Library [https://lumesh.codeberg.page/en/libs/index]
Bash Comparison [https://lumesh.codeberg.page/rv/en.html]
Hotkeys [https://lumesh.codeberg.page/en/keys]
Current version 0.6.3, continuously updated: