Commit graph

5 commits

Author SHA256 Message Date
eeb113389a (std set) is (std hashset), and the grammar knows the new forms
The prelude's set is HashSet now, with hashset-* functions. The grammar
highlights please-hoist-i-promise-i-am-not-naughty and the path macros get,
try-get, set and update as the other special forms are.

🤖 Generated with [ECA](https://eca.dev) (anthropic/claude-opus-4-5)

Co-Authored-By: eca-agent <git@eca.dev>
2026-10-03 14:48:03 +02:00
e51b7170a9 The Bjolang grammar is a resource, so bjo publish copies it
The module reads grammars/bjolang from beside its src/, found from its own
DLL. Declared with (resources "grammars"), bjo publish copies it to the same
place relative to the module, and a published program highlights Bjolang.

Version 0.1.1.

🤖 Generated with [ECA](https://eca.dev) (anthropic/claude-opus-5-5)

Co-Authored-By: eca-agent <git@eca.dev>
2026-10-02 14:39:31 +02:00
6bb44bc05f Bjolang's raw strings are strings
Bjolang reads """...""" as a raw string: three or more quotes open it, the
same number close it, and nothing in it is an escape. The grammar has a
string.quoted.triple.bjolang scope for it, so quotes inside one stay inside,
and one over several lines is a string on every line. tests/demo.bjo checks
both, and passes.

🤖 Generated with [ECA](https://eca.dev) (anthropic/claude-opus-5-5)

Co-Authored-By: eca-agent <git@eca.dev>
2026-10-01 09:32:18 +02:00
c499691376 The package is fetched from rikspucko.koketteriet.se
Where the repository lives, and readable there over https without an
account, which is what a bjo fetch needs.

🤖 Generated with [ECA](https://eca.dev) (anthropic/claude-opus-4-7)

Co-Authored-By: eca-agent <git@eca.dev>
2026-09-30 16:01:12 +02:00
0ecc65e134 textmate-bjolang: code highlighted as VS Code does, as Bjolang values
TextMateSharp runs VS Code's TextMate grammars and themes; this hands
the result over once, as Bjolang values, so nothing using it needs to
know TextMateSharp is there. `tokenize` gives each line's tokens and
their scopes, `highlight` each line's spans in the theme's colours, and
`highlight->node` and `code->node` give (text xml) nodes: a pre and a
code element around spans, coloured inline by the theme or by class
names taken from the scopes. `highlighter-css` writes the stylesheet
for the classes from a theme, choosing each class's rule the way
TextMateSharp's tokenizer chooses a token's.

Bjolang's own grammar is in grammars/bjolang, laid out as a VS Code
extension, and every highlighter reads it from beside the package's
src/. It follows what Bjolang's reader reads, including interpolated
strings with expressions in their holes.

There is no C# shim: everything goes through import/class and
import/extern. The package is kept within TextMateSharp 2.0, because
token colours are decoded with a class in its Internal namespace.

🤖 Generated with [ECA](https://eca.dev) (anthropic/claude-opus-4-7)

Co-Authored-By: eca-agent <git@eca.dev>
2026-09-30 15:51:24 +02:00