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
  • +
+
+
    @@ -214,7 +233,7 @@
- +
  • 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({