VS Code extension for Holy Script — an interpreted language with archaic/biblical English syntax, implemented in Rust.
Features
- Syntax highlighting for
.holyfiles - Code snippets for all language constructs (
salm,scripture,covenant,sin,whether,litany,confess,discern,grace,verdict,testament, and more) - File icon for
.holyfiles (enable via File → Preferences → File Icon Theme → Holy Language Icons) - Run button (▶) in the editor title bar — executes the current file with
holy
Requirements
Install the interpreter and add it to your PATH:
git clone https://github.com/Gaok1/holy-script
cd holy-script
cargo install --path .
If you have the Code Runner extension installed, it will also be configured automatically to run
.holyfiles usingholy.
Usage
Open any .holy file and click the ▶ button in the top-right corner of the editor.
The output appears in a terminal panel named Holy.
Language overview
-- line comment
testament MathUtils -- import from MathUtils.holy (same directory)
scripture Point -- struct
x of atom
y of atom
sin OutOfBounds -- exception type
message of word
covenant Direction -- enum
North
South
salm add receiving a of atom, b of atom reveals atom
reveal a plus b
-- variables
let there p of Point be manifest Point praying 3, 4
let there r of atom be hail add praying 1, 2
let there xs of legion of atom be hail legion praying 1, 2 and 3
-- built-in salms
hail proclaim praying "Hello!"
let there line of word be hail inquire
let there n of atom be hail atom_of praying line
let there ok of verdict of word and word be hail read_file praying "data.txt"
-- conditionals
whether r is 3
hail proclaim praying "correct"
otherwise
hail proclaim praying "wrong"
-- loop with break/continue
litany for r no greater than 10
r become r plus 1
whether r remainder 2 is 0
ascend -- continue
whether r is 9
forsake -- break
-- pattern matching
discern ok
as righteous bearing content
hail proclaim praying content
as condemned bearing reason
hail proclaim praying reason
-- exceptions
confess
transgress OutOfBounds praying "index too large"
answer for OutOfBounds as err
hail proclaim praying message from err
absolve
hail proclaim praying "done"
amen
License
MIT