Add rust LSP utilities

Added the rust analyzer rules needed to generate a rust-project.json.
Once generated, this will be picked up by the rust analyzer server to
provide better language server features.
To generate it you can `bazel run //tools:gen_rust_project`

Change-Id: I5b05fa6f891ac3710b6f60d98e8be792db740a47
Signed-off-by: Adam Snaider <adsnaider@gmail.com>
diff --git a/tools/BUILD b/tools/BUILD
index 48e4342..98e1348 100644
--- a/tools/BUILD
+++ b/tools/BUILD
@@ -4,6 +4,15 @@
 
 exports_files(["test_sharding_compliant"])
 
+alias(
+    name = "gen_rust_project",
+    actual = "@rules_rust//tools/rust_analyzer:gen_rust_project",
+    target_compatible_with = select({
+        "//tools/platforms/rust:has_support": [],
+        "//conditions:default": ["@platforms//:incompatible"],
+    }),
+)
+
 # Don't use these directly! Use //tools/build_rules/*.bzl instead.
 config_setting(
     name = "compiler_clang",