review

review patchsets using your default editor
Log | Files | Refs

commit 3b8fd9865142638b461ec479094cf7ed9de10d38
parent 5db1d92aac6d0003fa071a39282d17c2d92d8d3f
Author: Jack Mordaunt <jackmordaunt.dev@gmail.com>
Date:   Thu, 24 Sep 2026 06:49:40 -0300

review: follow the collection's rename from jfm to jm

The Odin collection this tool builds on was renamed from jfm to jm and
its checkout moved to ~/Source/Personal/jm, so every import, the
justfile's collection flag, ols.json and the docs name it the new way.
Nothing else changes: the rename is the whole diff.

Diffstat:
Manalyser/analyser.odin | 2+-
Manalyser/analyser_test.odin | 6+++---
Manalyser/go.odin | 2+-
Manalyser/others.odin | 2+-
Mbench/bench_test.odin | 2+-
Mchange/change_test.odin | 2+-
Mcheck/check_test.odin | 2+-
Mfrontend/frontend.odin | 2+-
Mfrontend/grep.odin | 2+-
Mgit/git.odin | 2+-
Mhook/hook_test.odin | 2+-
Mjustfile | 4++--
Mols.json | 2+-
Mprovider/api.odin | 2+-
Mprovider/provider.odin | 2+-
Mreadme.md | 2+-
Mreview/main.odin | 2+-
Mtree/tree.odin | 4++--
18 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/analyser/analyser.odin b/analyser/analyser.odin @@ -16,7 +16,7 @@ import "core:strconv" import "core:strings" import "core:text/regex" import "core:time" -import "jfm:sh" +import "jm:sh" import "../change" import "../finding" diff --git a/analyser/analyser_test.odin b/analyser/analyser_test.odin @@ -5,7 +5,7 @@ import "core:os" import "core:path/filepath" import "core:strings" import "core:testing" -import "jfm:sh" +import "jm:sh" import "../change" import "../finding" @@ -202,7 +202,7 @@ collections_resolve_against_the_repository :: proc(t: ^testing.T) { os.write_entire_file( join(scratch, "ols.json"), transmute([]byte)string( - `{"collections":[{"name":"jfm","path":"../odin"},{"name":"abs","path":"/opt/abs"},{"name":""}]}`, + `{"collections":[{"name":"jm","path":"../jm"},{"name":"abs","path":"/opt/abs"},{"name":""}]}`, ), ) == nil, @@ -211,7 +211,7 @@ collections_resolve_against_the_repository :: proc(t: ^testing.T) { testing.expect_value( t, fmt.tprint(got), - `["-collection:jfm=/odin", "-collection:abs=/opt/abs"]`, + `["-collection:jm=/jm", "-collection:abs=/opt/abs"]`, ) testing.expect_value(t, len(collections("/nowhere", "/repo", context.temp_allocator)), 0) } diff --git a/analyser/go.odin b/analyser/go.odin @@ -4,7 +4,7 @@ import "core:encoding/json" import "core:os" import "core:slice" import "core:strings" -import "jfm:sh" +import "jm:sh" import "../finding" diff --git a/analyser/others.odin b/analyser/others.odin @@ -5,7 +5,7 @@ import "core:os" import "core:strconv" import "core:strings" import "core:text/regex" -import "jfm:sh" +import "jm:sh" import "../finding" diff --git a/bench/bench_test.odin b/bench/bench_test.odin @@ -4,7 +4,7 @@ import "core:os" import "core:path/filepath" import "core:strings" import "core:testing" -import "jfm:sh" +import "jm:sh" @(test) bench_counts_what_fires :: proc(t: ^testing.T) { diff --git a/change/change_test.odin b/change/change_test.odin @@ -5,7 +5,7 @@ import "core:os" import "core:path/filepath" import "core:strings" import "core:testing" -import "jfm:sh" +import "jm:sh" import "../frontend" import "../tree" diff --git a/check/check_test.odin b/check/check_test.odin @@ -6,7 +6,7 @@ import "core:path/filepath" import "core:slice" import "core:strings" import "core:testing" -import "jfm:sh" +import "jm:sh" import "../change" import "../finding" diff --git a/frontend/frontend.odin b/frontend/frontend.odin @@ -9,7 +9,7 @@ package frontend import "core:encoding/json" import "core:strings" -import "jfm:sh" +import "jm:sh" // Decl is one declaration as a sidecar reports it. Kinds are func, type, // field, const, var and value. A test is what the language's test runner diff --git a/frontend/grep.odin b/frontend/grep.odin @@ -14,7 +14,7 @@ import "core:slice" import "core:strconv" import "core:strings" import "core:text/regex" -import "jfm:sh" +import "jm:sh" // Pattern is one top-level declaration shape a TypeScript grammar binds. // Export status is part of the pattern so a symbol's audience is known; diff --git a/git/git.odin b/git/git.odin @@ -7,7 +7,7 @@ the caller that wants them. package git import "core:strings" -import "jfm:sh" +import "jm:sh" // run asks git, in root, and returns what it printed with trailing // whitespace removed. diff --git a/hook/hook_test.odin b/hook/hook_test.odin @@ -4,7 +4,7 @@ import "core:os" import "core:path/filepath" import "core:strings" import "core:testing" -import "jfm:sh" +import "jm:sh" @(test) install_writes_the_hook_once :: proc(t: ^testing.T) { diff --git a/justfile b/justfile @@ -2,10 +2,10 @@ # review is the Odin binary; review-go and review-vet are the Go sidecars # (the Go parser, and go vet's multichecker) and odin-review-extract the # Odin one. install ships all four beside each other on PATH. The Odin -# packages need the jfm collection at ~/Source/Personal/odin. +# packages need the jm collection at ~/Source/Personal/jm. odin := env("ODIN", "odin") -flags := "-vet -strict-style -collection:jfm=" + home_directory() / "Source" / "Personal" / "odin" +flags := "-vet -strict-style -collection:jm=" + home_directory() / "Source" / "Personal" / "jm" packages := "txt frontend git tree change finding report check analyser job provider cache reviewer hook bench" # `just` alone lists the recipes. diff --git a/ols.json b/ols.json @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/DanielGavin/ols/master/misc/ols.schema.json", "collections": [ - { "name": "jfm", "path": "../odin" } + { "name": "jm", "path": "../jm" } ], "enable_semantic_tokens": true, "enable_snippets": true diff --git a/provider/api.odin b/provider/api.odin @@ -10,7 +10,7 @@ import "core:fmt" import "core:os" import "core:strings" import "core:time" -import "jfm:http" +import "jm:http" api_url :: "https://api.anthropic.com/v1/messages" api_version :: "2023-06-01" diff --git a/provider/provider.odin b/provider/provider.odin @@ -12,7 +12,7 @@ import "core:fmt" import "core:os" import "core:strings" import "core:time" -import "jfm:sh" +import "jm:sh" // Answer is what a provider returned, with whatever it could say about // the cost. A provider that reports no usage leaves the counts at zero diff --git a/readme.md b/readme.md @@ -29,7 +29,7 @@ review agent what an agent's instructions should say about th ## Building -The tool is written in Odin, on the `jfm` collection (`~/Source/Personal/odin`), and +The tool is written in Odin, on the `jm` collection (`~/Source/Personal/jm`), and reads each language through a sidecar built on that language's own parser. `just build` compiles the four binaries into `build/`; `just install` puts them beside each other on the path: `review`, `review-go` (Go's parser, from `sidecar/gofront`), `review-vet` (go diff --git a/review/main.odin b/review/main.odin @@ -11,7 +11,7 @@ import "core:debug/trace" import "core:fmt" import "core:os" import "core:strings" -import "jfm:debug" +import "jm:debug" import "../analyser" import "../bench" diff --git a/tree/tree.odin b/tree/tree.odin @@ -11,8 +11,8 @@ import "core:os" import "core:path/filepath" import "core:slice" import "core:strings" -import "jfm:sh" -import "jfm:tar" +import "jm:sh" +import "jm:tar" import "../git"