forked from jess/Acord
1
0
Fork 0
Go to file
jess 8111a8164a Implemented Docs Browser for Windows and Linux 2026-04-29 02:21:10 -07:00
.cargo Build scripts and flow resituated for better organization & Implementing cross compilation utilities. 2026-04-28 15:53:20 -07:00
assets Icon, Windows, Dead Code. I bought a pizza. Er, right, this is git. But the pizza was REALLY good 2026-04-19 21:06:06 -07:00
core Implemented Docs Browser for Windows and Linux 2026-04-29 02:21:10 -07:00
linux Implemented Docs Browser for Windows and Linux 2026-04-29 02:21:10 -07:00
scripts The was a single linux build warning. It turned out to be a hydra. It's probably dead now. 2026-04-28 23:02:14 -07:00
src Added more auto-pairs types, '', ""; 2026-04-28 22:58:18 -07:00
viewport Implemented Docs Browser for Windows and Linux 2026-04-29 02:21:10 -07:00
windows Implemented Docs Browser for Windows and Linux 2026-04-29 02:21:10 -07:00
xtask Build scripts and flow resituated for better organization & Implementing cross compilation utilities. 2026-04-28 15:53:20 -07:00
.gitignore Build scripts and flow resituated for better organization & Implementing cross compilation utilities. 2026-04-28 15:53:20 -07:00
.gitmodules Initial commit 2026-04-15 02:39:18 -07:00
Cargo.toml Build scripts and flow resituated for better organization & Implementing cross compilation utilities. 2026-04-28 15:53:20 -07:00
Home.png whoops 2026-04-15 10:11:52 -07:00
Info.plist Initial commit 2026-04-15 02:39:18 -07:00
LICENCE Initial commit 2026-04-15 02:39:18 -07:00
README.md Build scripts and flow resituated for better organization & Implementing cross compilation utilities. 2026-04-28 15:53:20 -07:00

README.md

Acord

Quickstart

  • Download a pre-compiled binary from Releases

  • Or build from source — one command, picks the right script for your platform:

cargo xtask install

On macOS this drops a release .app into /Applications. On Linux it installs the binary into ~/.local/bin, drops a .desktop entry into ~/.local/share/applications, and registers the icon. On Windows it builds the release exe (no install step yet).

Other commands:

cargo xtask build              # release build only
cargo xtask debug              # debug build, foreground launch
cargo xtask build-universal    # universal arm64+x86_64 binary (macOS / Windows)
cargo xtask package --all      # cross-compile + zip all six distributables

Append -macos, -windows, or -linux to force a platform (e.g. cargo xtask build-universal-windows).

On Linux, both x11 and wayland backends are linked into the binary by default. Force one with ACORD_FEATURES=wayland cargo xtask build (handy for flatpak or stripped distros).

Releasing

cargo xtask package --all produces six zips in dist/ from a single macOS host:

dist/acord-macos-aarch64.zip       # Acord.app — drag to /Applications
dist/acord-macos-x86_64.zip
dist/acord-windows-aarch64.zip     # folder with Acord.exe + assets
dist/acord-windows-x86_64.zip
dist/acord-linux-aarch64.zip       # folder with Acord + install.sh
dist/acord-linux-x86_64.zip

Cross-compile uses cargo-zigbuild (zig as the cross-linker) for the windows/linux targets — no Docker, no VMs. One-time setup:

brew install zig librsvg
cargo install cargo-zigbuild

Or build a single target: cargo xtask package --target windows-aarch64.

Here's the 'sales' pitch:

"Hi there, do you enjoy casually solving project euler problems and are tired of using the spotlight bar as your primary calculator?" - Then this might be your kinda thing.

First, but least importantly, Acord is a native markdown editor... with a 'small' expression language baked in.

  • Lines starting with /= evaluate — the result is printed inline below it.
  • Tables are real, editable, and can carry formulas.
  • Runs on Rust + iced + wgpu in a Swift shell on macOS.
  • Sports my wicked cool Rust DSL, Cordial. Trust me, you'll love it. It's like Rust but you never have to remember any semi-colons. Don't panic - indentation, case, these things don't matter much either. It's a sensible, salad days sort of syntax.

The war - against the evil, as always. Here's an analogy. Against the evil that is unsavory programming languages and — things... those things I don't like. Just generally, "things," sucky things. Evil. Against this evil, let's say Rust is the best weapon made by humankind. It's what you need, it's the truth, it is the goodness within us all. Python sure wanted to help, and golly, in its own ways it has. It was something like... the hand grenade. Effective at the start of the war, devastating it both its sweeping victories and its massive shortcomings. But I am grateful nonetheless, they did the trick when they were most needed. Not evil. Just bad. Normal bad. If the enemy is evil and the other side is good, that makes warfare just bad. This is just an analogy. I'm no expert on wars, or analogies for that matter. So bear with me. Well, assuming everything I have said is true and just, then this,

  • Cordial - ...would be like a garden hoe. Sure, you'll find plenty of them in a war. But that's just cuz lots of the country is farmland. Sure, you could do some damage with it. But mostly, its a garden hoe. It just does its job. Its no swiss army knife, nor scalpel, or even X-acto. It's the pocket knife you have, the one in your hand cuz there's an apple to cut and there's no need to get out the good knife, both the tool and the tool-be'd are already in hand, they'll handle it... man.

Happy? Me too.

Screenie

I built Acord because I needed something between vim and the IDE — not a webapp (VS Code), not a stack of plugins held together with hope. A real, focused, native tool for thinking in. Notes I write turn into running calculators turn into working code, all in the same file.

What you can do here

Math

let m = 100
let v = 9.8
/= 0.5 * m * v^2
    → 4802

With use spice enabled, write with units and SPICE conventions.

use spice

fn L(f: Hz, c: F) -> H {
    return 1 / (((2pi * f)^2) * c)
}

/= L(1000, 22n)
    → 1.15H

Take any function and invert it on a chosen variable in one line:

let f0 = solve!(f, L)

/= f0(1.15H, 22n)
    → 1000

Tables work the way you'd expect from Numbers or Excel: cells, formulas, ranges, references between tables, mutation from text blocks. Headings carry scope, so a table under ### Budget becomes @Budget from anywhere in the document.

Where to start

Status

macOS only for now (Apple Silicon, macOS 14+). Windows is the next target. As in, I just installed a VM, will be done by the weekend.