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:
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"