a13n
Build AI agents and run them on cloud.
scala-esque syntax for rust
Translation pending
Developer toolsRust · CGitHub @scarf005OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Renk is an indentation-based syntax for Rust, inspired by Rust's Ugly Syntax.
Documentation: https://scarf005.github.io/renk/ (한국어)
#[derive(Debug, Clone)]
pub struct User:
pub id: u64
pub name: String
impl User:
pub fn new(id: u64, name: String) -> Self = Self{ id, name }
pub fn display_name(&self) -> &str = &self.name
pub fn main():
let user = User.new(1, "Ada".to_string())
println!("{user.display_name()}")
Generated Rust:
#[derive(Debug, Clone)]
pub struct User {
pub id: u64,
pub name: String,
}
impl User {
pub fn new(id: u64, name: String) -> Self {
Self{ id, name }
}
pub fn display_name(&self) -> &str {
&self.name
}
}
pub fn main() {
let user = User::new(1, "Ada".to_string());
println!("{}", user.display_name());
}
cargo install --path crates/renk --bin renk --bin renk-lsp
renk transpile input.rk -o output.rs
renk from-rust input.rs -o output.rk
cat input.rk | renk
See Getting started and Syntax.
renk fmt formats a file with rustfmt's layout; --check prints a diff and exits with 1 for unformatted files. Details.
renk fmt src/main.rk -o src/main.rk
renk fmt --check src/*.rk
renk build, renk run, renk test, and renk cargo ... transpile .rk files under Cargo source roots into .rs files, then run Cargo. Details.
renk cargo test
renk script runs a single-file script with cargo +nightly -Zscript. Dependencies go in --- frontmatter; renk add edits it. Details.
#!/usr/bin/env -S renk script
---
[dependencies]
regex = "1"
---
fn main():
println!("{}", regex::Regex::new("a+").unwrap().is_match("caab"))
renk script tool.rk arg
renk add tool.rk regex
renk-lsp is a stdio language server. It reports syntax errors and symbols, and forwards rust-analyzer's diagnostics, hover, definition, completion, references, rename, code actions, and inlay hints. Editor setup.
podman compose up --build serves the web editor at http://localhost:8080. just web starts it from a checkout. Details.
Renk reads text, not types, so some names are misread. See Limits.