From 123e1539a515ce78c4da6de9d09096fcf3a3152e Mon Sep 17 00:00:00 2001 From: Sonny Piers Date: Sun, 18 Feb 2024 16:21:03 +0100 Subject: [PATCH 1/2] Fix extensions detection --- data/app.metainfo.xml | 21 ++++++++++++++++++++- src/Extensions/Extensions.js | 25 +++++++++---------------- 2 files changed, 29 insertions(+), 17 deletions(-) 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; } From ce241812c5d8aa4566b3bd79b3540ef886943605 Mon Sep 17 00:00:00 2001 From: Sonny Piers Date: Sun, 18 Feb 2024 16:30:04 +0100 Subject: [PATCH 2/2] f --- src/langs/rust/rust.js | 3 +++ 1 file changed, 3 insertions(+) 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({