diff --git a/data/app.metainfo.xml b/data/app.metainfo.xml
index 40e1596f5..9bcaa0066 100644
--- a/data/app.metainfo.xml
+++ b/data/app.metainfo.xml
@@ -46,6 +46,25 @@
+
+
+
+ - Use GNOME 46
+ - Add basic Rust diagnostics
+ - Allow using the new libadwaita dialogs
+ - Stop adding a superfluous newlines to end of files
+ - Optimize opening Library entries
+ - Open project windows maximized
+ - Update Biome to 1.5.3
+ - Update gst-plugin-gtk4 to 0.12.1
+ - Update libshumate to 1.2
+ - Update VTE to 0.76
+ - Update Blueprint
+ - Update GTKCssLanguageServer
+ - Update icon-development-kit
+
+
+
-
+
- Use GNOME 45
diff --git a/src/Extensions/Extensions.js b/src/Extensions/Extensions.js
index 00aeaf0e2..b97275488 100644
--- a/src/Extensions/Extensions.js
+++ b/src/Extensions/Extensions.js
@@ -1,5 +1,4 @@
import Gio from "gi://Gio";
-import GLib from "gi://GLib";
import { build } from "../../troll/src/main.js";
@@ -9,16 +8,6 @@ import { settings } from "../util.js";
import "./Extension.js";
-const extensions = (() => {
- const keyfile = new GLib.KeyFile();
-
- keyfile.load_from_file("/.flatpak-info", GLib.KeyFileFlags.NONE);
-
- return keyfile
- .get_string_list("Instance", "runtime-extensions")
- .map((extension) => extension.split("=")[0]);
-})();
-
export const action_extensions = new Gio.SimpleAction({
name: "extensions",
parameter_type: null,
@@ -62,13 +51,17 @@ export default function Extensions({ application }) {
application.add_action(action_extensions);
}
+let rust_enabled;
export function isRustEnabled() {
- return (
- extensions.includes("org.freedesktop.Sdk.Extension.rust-stable") &&
- extensions.includes("org.freedesktop.Sdk.Extension.llvm16")
- );
+ rust_enabled ??=
+ Gio.File.new_for_path("/usr/lib/sdk/rust-stable").query_exists(null) &&
+ Gio.File.new_for_path("/usr/lib/sdk/llvm16").query_exists(null);
+ return rust_enabled;
}
+let vala_enabled;
export function isValaEnabled() {
- return extensions.includes("org.freedesktop.Sdk.Extension.vala");
+ vala_enabled ??=
+ Gio.File.new_for_path("/usr/lib/sdk/vala").query_exists(null);
+ return vala_enabled;
}
diff --git a/src/langs/rust/rust.js b/src/langs/rust/rust.js
index 29bd494cb..570a73b3f 100644
--- a/src/langs/rust/rust.js
+++ b/src/langs/rust/rust.js
@@ -3,8 +3,11 @@ import GLib from "gi://GLib";
import { createLSPClient } from "../../common.js";
import { getLanguage } from "../../util.js";
+import { isRustEnabled } from "../../Extensions/Extensions.js";
export function setup({ document }) {
+ if (!isRustEnabled()) return;
+
const { file, buffer, code_view } = document;
const lspc = createLSPClient({