From 86b5ce601a1aac873b38a0ca14e5d34f107cdf2b Mon Sep 17 00:00:00 2001 From: Cleboost Date: Sat, 1 Aug 2026 04:34:16 +0200 Subject: [PATCH] feat(jetbrains-provider): add JetBrains Provider launcher plugin (#148) * feat(jetbrains-provider): add JetBrains Provider launcher plugin Expose recent JetBrains IDE projects in the Noctalia launcher via /jb. * fix(jetbrains-provider): address PR review feedback Support IdeaIC and Android Studio, decode XML entities in project paths, align launcher caching with zed, and update the catalog thumbnail. --- jetbrains-provider/README.md | 48 +++++ jetbrains-provider/jb_provider.luau | 219 ++++++++++++++++++++++ jetbrains-provider/plugin.toml | 48 +++++ jetbrains-provider/scan_projects.sh | 236 ++++++++++++++++++++++++ jetbrains-provider/thumbnail.webp | Bin 0 -> 68154 bytes jetbrains-provider/translations/en.json | 25 +++ jetbrains-provider/translations/fr.json | 25 +++ 7 files changed, 601 insertions(+) create mode 100644 jetbrains-provider/README.md create mode 100644 jetbrains-provider/jb_provider.luau create mode 100644 jetbrains-provider/plugin.toml create mode 100755 jetbrains-provider/scan_projects.sh create mode 100644 jetbrains-provider/thumbnail.webp create mode 100644 jetbrains-provider/translations/en.json create mode 100644 jetbrains-provider/translations/fr.json diff --git a/jetbrains-provider/README.md b/jetbrains-provider/README.md new file mode 100644 index 0000000..23db2ca --- /dev/null +++ b/jetbrains-provider/README.md @@ -0,0 +1,48 @@ +# JetBrains Provider + +![JetBrains Provider thumbnail](thumbnail.webp) + +JetBrains Provider integrates recent projects from supported JetBrains-based IDEs +with the Noctalia launcher so you can reopen a project quickly without leaving +the shell. + +## Plugin + +| Field | Value | +| --- | --- | +| ID | `cleboost/jetbrains-provider` | +| Entry | Launcher provider: `provider` | +| Launcher Prefix | `/jb` | + +## Requirements + +Install at least one supported IDE (via Toolbox or standalone). The plugin uses +`bash` and `awk` to scan recent-project files and `nohup` to launch IDEs in the +background. + +## Usage + +Open the Noctalia launcher and type `/jb` to list recent projects from your +installed IDEs. Continue typing to filter projects by name, then select one to +open it with the IDE that last used it. + +## Supported IDEs + +IntelliJ IDEA (Ultimate and Community `IdeaIC`), Android Studio, WebStorm, +CLion, GoLand, RustRover, PyCharm (including Community `PyCharmCE`), PhpStorm, +RubyMine, DataGrip, and Rider. + +## Settings + +- `config_dir` — root directory for JetBrains IDE configuration folders. +- `toolbox_dir` — JetBrains Toolbox apps directory used to locate IDE launchers. +- `max_results` — maximum number of projects shown in the launcher. +- `ignored_ides` — IDE names to exclude (e.g. `WebStorm`, `CLion`). + +## Notes + +Projects are read from each IDE's `recentProjects.xml`, typically under +`~/.config/JetBrains//options/`. When the same project +appears in multiple IDEs, only the most recently activated entry is shown. +Backup config folders and ignored IDEs are skipped. The list is cached for the +launcher session and refreshed when you clear the query. diff --git a/jetbrains-provider/jb_provider.luau b/jetbrains-provider/jb_provider.luau new file mode 100644 index 0000000..e7ac92d --- /dev/null +++ b/jetbrains-provider/jb_provider.luau @@ -0,0 +1,219 @@ +--!nonstrict + +local cachedProjects = nil +local productIcons = {} + +local PRODUCTS = { + IntelliJIdea = { cmd = "idea", slug = "intellij-idea" }, + AndroidStudio = { cmd = "studio", slug = "android-studio" }, + WebStorm = { cmd = "webstorm", slug = "webstorm" }, + CLion = { cmd = "clion", slug = "clion" }, + GoLand = { cmd = "goland", slug = "goland" }, + RustRover = { cmd = "rustrover", slug = "rustrover" }, + PyCharm = { cmd = "pycharm", slug = "pycharm" }, + PhpStorm = { cmd = "phpstorm", slug = "phpstorm" }, + RubyMine = { cmd = "rubymine", slug = "rubymine" }, + DataGrip = { cmd = "datagrip", slug = "datagrip" }, + Rider = { cmd = "rider", slug = "rider" }, +} + +local function trim(s) + return s:match("^%s*(.-)%s*$") +end + +local function shellQuote(s) + return "'" .. s:gsub("'", "'\"'\"'") .. "'" +end + +local function getConfigDir() + local configured = noctalia.getConfig("config_dir") + if type(configured) == "string" and configured ~= "" then + return noctalia.expandPath(configured) + end + return noctalia.expandPath("~/.config/JetBrains") +end + +local function getToolboxDir() + local configured = noctalia.getConfig("toolbox_dir") + if type(configured) == "string" and configured ~= "" then + return noctalia.expandPath(configured) + end + return noctalia.expandPath("~/.local/share/JetBrains/Toolbox/apps") +end + +local function getMaxResults() + local n = noctalia.getConfig("max_results") + return (type(n) == "number" and n > 0) and math.floor(n) or 20 +end + +local function ignoredIdes() + local raw = noctalia.getConfig("ignored_ides") + if type(raw) ~= "table" then + return {} + end + local list = {} + for _, entry in ipairs(raw) do + local name = trim(tostring(entry)) + if name ~= "" then + table.insert(list, name) + end + end + return list +end + +local function projectName(path) + return path:match("([^/]+)$") or path +end + +local function buildScanCommand() + local script = shellQuote(noctalia.pluginDir() .. "/scan_projects.sh") + local ignoreArgs = "" + for _, name in ipairs(ignoredIdes()) do + ignoreArgs = ignoreArgs .. " " .. shellQuote(name) + end + + return string.format( + "JB_CONFIG_DIR=%s JB_TOOLBOX_DIR=%s JB_MAX_RESULTS=%d bash %s%s 2>/dev/null", + shellQuote(getConfigDir()), + shellQuote(getToolboxDir()), + getMaxResults(), + script, + ignoreArgs + ) +end + +local function parseScanOutput(stdout) + local projects = {} + productIcons = {} + + for line in stdout:gmatch("[^\n]+") do + local kind, product, value = line:match("^(%w+)\t([^%c]+)\t(.+)$") + if kind == "ICON" and product and value then + productIcons[product] = value + elseif kind and tonumber(kind) and product and value then + table.insert(projects, { + timestamp = tonumber(kind) or 0, + product = product, + path = value, + }) + end + end + + return projects +end + +local function makeRows(projects, filter) + local home = noctalia.getenv("HOME") or "" + local rows = {} + for _, project in ipairs(projects) do + local path = project.path + local name = projectName(path) + local score = filter == "" and 0 or noctalia.fuzzyScore(filter, name) + if score == nil then + score = noctalia.fuzzyScore(filter, path) + end + if filter == "" or score ~= nil then + local display = (home ~= "" and path:sub(1, #home) == home) and "~" .. path:sub(#home + 1) or path + local iconPath = productIcons[project.product] + local row = { + id = project.product .. "|" .. path, + title = name, + subtitle = project.product .. " · " .. display, + score = filter == "" and nil or score, + } + if iconPath then + row.icon = iconPath + else + row.glyph = "code" + end + table.insert(rows, row) + end + end + return rows +end + +local function showResults(query, projects, filter) + local rows = makeRows(projects, filter) + if #rows == 0 then + launcher.setResults(query, { + { + id = "", + title = noctalia.tr("no-projects-found"), + subtitle = filter ~= "" and noctalia.tr("filter-empty", { filter = filter }) or noctalia.tr("database-empty"), + glyph = "folder-x", + }, + }) + else + launcher.setResults(query, rows) + end +end + +local function loadProjects(onDone) + noctalia.runAsync(buildScanCommand(), function(result) + local projects = {} + if result.exitCode == 0 and type(result.stdout) == "string" then + projects = parseScanOutput(result.stdout) + end + cachedProjects = projects + onDone(projects) + end) +end + +local function resolveLauncher(product) + local meta = PRODUCTS[product] + if meta == nil then + return nil + end + + local script = getToolboxDir() .. "/" .. meta.slug .. "/bin/" .. meta.cmd .. ".sh" + if noctalia.fileExists(script) then + return script + end + + return meta.cmd +end + +function onQuery(query) + local filter = trim(query or "") + + if filter == "" then + cachedProjects = nil + productIcons = {} + end + + if cachedProjects then + showResults(query, cachedProjects, filter) + return + end + + launcher.setResults(query, { + { + id = "", + title = noctalia.tr("loading"), + subtitle = noctalia.tr("loading-subtitle"), + glyph = "loader", + }, + }) + + loadProjects(function(projects) + showResults(query, projects, filter) + end) +end + +function onActivate(id) + if id == "" then + return + end + + local product, path = id:match("^(.-)|(.+)$") + if product == nil or path == nil or path == "" then + return + end + + local launcherCmd = resolveLauncher(product) + if launcherCmd == nil then + return + end + + noctalia.runAsync(string.format("nohup %s %s &>/dev/null &", shellQuote(launcherCmd), shellQuote(path))) +end diff --git a/jetbrains-provider/plugin.toml b/jetbrains-provider/plugin.toml new file mode 100644 index 0000000..d5db694 --- /dev/null +++ b/jetbrains-provider/plugin.toml @@ -0,0 +1,48 @@ +id = "cleboost/jetbrains-provider" +name = "JetBrains Provider" +version = "1.0.0" +plugin_api = 3 +author = "Cleboost" +license = "MIT" +icon = "folder-open" +description = "Open a recent JetBrains project from the launcher. Type /jb to list your projects." +tags = ["launcher", "development", "productivity"] +dependencies = ["bash", "awk", "nohup"] + +[[setting]] +key = "config_dir" +type = "folder" +label_key = "settings.config_dir.label" +description_key = "settings.config_dir.description" +default = "~/.config/JetBrains" + +[[setting]] +key = "toolbox_dir" +type = "folder" +label_key = "settings.toolbox_dir.label" +description_key = "settings.toolbox_dir.description" +default = "~/.local/share/JetBrains/Toolbox/apps" + +[[setting]] +key = "max_results" +type = "int" +label_key = "settings.max_results.label" +description_key = "settings.max_results.description" +default = 20 +min = 1 +max = 100 + +[[setting]] +key = "ignored_ides" +type = "string_list" +label_key = "settings.ignored_ides.label" +description_key = "settings.ignored_ides.description" +default = [] + +[[launcher_provider]] +id = "provider" +entry = "jb_provider.luau" +prefix = "jb" +glyph = "code" +include_in_global_search = false +debounce_ms = 0 diff --git a/jetbrains-provider/scan_projects.sh b/jetbrains-provider/scan_projects.sh new file mode 100755 index 0000000..38002fb --- /dev/null +++ b/jetbrains-provider/scan_projects.sh @@ -0,0 +1,236 @@ +#!/usr/bin/env bash +set -eu + +CONFIG="${JB_CONFIG_DIR:-$HOME/.config/JetBrains}" +TOOLBOX="${JB_TOOLBOX_DIR:-$HOME/.local/share/JetBrains/Toolbox/apps}" +MAX_RESULTS="${JB_MAX_RESULTS:-20}" +IGNORED=("$@") + +PRODUCT_PREFIXES=( + IdeaIC:IntelliJIdea + IntelliJIdea:IntelliJIdea + AndroidStudio:AndroidStudio + WebStorm:WebStorm + CLion:CLion + GoLand:GoLand + RustRover:RustRover + PyCharm:PyCharm + PhpStorm:PhpStorm + RubyMine:RubyMine + DataGrip:DataGrip + Rider:Rider +) + +declare -A PRODUCT_CMD=( + [IntelliJIdea]=idea + [AndroidStudio]=studio + [WebStorm]=webstorm + [CLion]=clion + [GoLand]=goland + [RustRover]=rustrover + [PyCharm]=pycharm + [PhpStorm]=phpstorm + [RubyMine]=rubymine + [DataGrip]=datagrip + [Rider]=rider +) + +declare -A PRODUCT_SLUG=( + [IntelliJIdea]=intellij-idea + [AndroidStudio]=android-studio + [WebStorm]=webstorm + [CLion]=clion + [GoLand]=goland + [RustRover]=rustrover + [PyCharm]=pycharm + [PhpStorm]=phpstorm + [RubyMine]=rubymine + [DataGrip]=datagrip + [Rider]=rider +) + +declare -A PRODUCT_ICON=( + [IntelliJIdea]=jetbrains-intellij-idea + [AndroidStudio]=com.google.AndroidStudio + [WebStorm]=com.jetbrains.WebStorm + [CLion]=com.jetbrains.CLion + [GoLand]=com.jetbrains.GoLand + [RustRover]=com.jetbrains.RustRover + [PyCharm]=com.jetbrains.PyCharm + [PhpStorm]=com.jetbrains.PhpStorm + [RubyMine]=com.jetbrains.RubyMine + [DataGrip]=com.jetbrains.DataGrip + [Rider]=com.jetbrains.Rider +) + +declare -A seen_icons=() + +product_name() { + local dir="$1" entry prefix canonical + for entry in "${PRODUCT_PREFIXES[@]}"; do + prefix="${entry%%:*}" + canonical="${entry#*:}" + if [[ "$dir" == "$prefix"* ]]; then + printf '%s\n' "$canonical" + return 0 + fi + done + return 1 +} + +is_ignored() { + local dir="$1" + local lower="${dir,,}" + local ig lower_ig + for ig in "${IGNORED[@]}"; do + lower_ig="${ig,,}" + if [[ "$lower" == "$lower_ig"* ]]; then + return 0 + fi + done + return 1 +} + +find_icon() { + local product="$1" + local cmd="${PRODUCT_CMD[$product]:-}" + local slug="${PRODUCT_SLUG[$product]:-}" + local icon_name="${PRODUCT_ICON[$product]:-}" + local base name path root ext + + [[ -n "$cmd" && -n "$slug" ]] || return 1 + + base="${TOOLBOX}/${slug}/bin" + for name in "${cmd}.svg" "${cmd}.png" "idea.svg"; do + path="${base}/${name}" + if [[ -f "$path" ]]; then + printf '%s\n' "$path" + return 0 + fi + done + + [[ -n "$icon_name" ]] || return 1 + for root in \ + "${HOME}/.local/share/icons" \ + "/usr/share/icons/hicolor/scalable/apps" \ + "/usr/share/icons/WhiteSur/apps/scalable" \ + "/usr/share/pixmaps"; do + for ext in .svg .png; do + path="${root}/${icon_name}${ext}" + if [[ -f "$path" ]]; then + printf '%s\n' "$path" + return 0 + fi + done + done + + return 1 +} + +parse_xml() { + local xml="$1" + local product="$2" + awk -v product="$product" -v home="$HOME" ' + function decode_xml(text) { + gsub(""", "\"", text) + gsub("'", "\047", text) + gsub("<", "<", text) + gsub(">", ">", text) + gsub("&", "\\&", text) + return text + } + + function expand_path(path, pos, needle) { + needle = "$USER_HOME$" + while ((pos = index(path, needle)) > 0) { + path = substr(path, 1, pos - 1) home substr(path, pos + length(needle)) + } + needle = "$APPLICATION_HOME_DIR$" + while ((pos = index(path, needle)) > 0) { + path = substr(path, 1, pos - 1) substr(path, pos + length(needle)) + } + return path + } + + BEGIN { RS = "" } + /"$projects_file" + +for xml in "$CONFIG"/*/options/recentProjects.xml; do + [[ -f "$xml" ]] || continue + dir="$(basename "$(dirname "$(dirname "$xml")")")" + [[ "$dir" == *-backup ]] && continue + is_ignored "$dir" && continue + product="$(product_name "$dir" || true)" + [[ -n "$product" ]] || continue + + if [[ -z "${seen_icons[$product]:-}" ]]; then + seen_icons[$product]=1 + if icon="$(find_icon "$product" || true)" && [[ -n "$icon" ]]; then + printf 'ICON\t%s\t%s\n' "$product" "$icon" + fi + fi + + parse_xml "$xml" "$product" >>"$projects_file" +done + +awk -F '\t' -v limit="$MAX_RESULTS" ' + { + path = $3 + if (!(path in best_ts) || $1 > best_ts[path]) { + best_ts[path] = $1 + best_line[path] = $0 + } + } + END { + count = 0 + for (path in best_line) { + split(best_line[path], fields, "\t") + count++ + ts[count] = fields[1] + 0 + out[count] = best_line[path] + } + for (i = 1; i <= count; i++) { + for (j = i + 1; j <= count; j++) { + if (ts[j] > ts[i]) { + tmp = ts[i]; ts[i] = ts[j]; ts[j] = tmp + tmp = out[i]; out[i] = out[j]; out[j] = tmp + } + } + } + if (limit < 1) { + limit = 20 + } + max = count < limit ? count : limit + for (i = 1; i <= max; i++) { + print out[i] + } + } +' "$projects_file" diff --git a/jetbrains-provider/thumbnail.webp b/jetbrains-provider/thumbnail.webp new file mode 100644 index 0000000000000000000000000000000000000000..66269b703f074717c7fd6f31fdd81c0a73c0bab3 GIT binary patch literal 68154 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 literal 0 HcmV?d00001 diff --git a/jetbrains-provider/translations/en.json b/jetbrains-provider/translations/en.json new file mode 100644 index 0000000..30d6bfe --- /dev/null +++ b/jetbrains-provider/translations/en.json @@ -0,0 +1,25 @@ +{ + "database-empty": "No JetBrains projects found", + "filter-empty": "Filter: \"{filter}\"", + "loading": "Loading…", + "loading-subtitle": "Reading JetBrains projects", + "no-projects-found": "No projects found", + "settings": { + "config_dir": { + "description": "Root directory for JetBrains IDE configuration folders.", + "label": "JetBrains config directory" + }, + "ignored_ides": { + "description": "IDE names to exclude (e.g. WebStorm, CLion). Matches the start of each config folder name.", + "label": "Ignored IDEs" + }, + "max_results": { + "description": "Maximum number of projects to display.", + "label": "Maximum results" + }, + "toolbox_dir": { + "description": "JetBrains Toolbox apps directory used to locate IDE launchers.", + "label": "Toolbox apps directory" + } + } +} diff --git a/jetbrains-provider/translations/fr.json b/jetbrains-provider/translations/fr.json new file mode 100644 index 0000000..b8f4ced --- /dev/null +++ b/jetbrains-provider/translations/fr.json @@ -0,0 +1,25 @@ +{ + "database-empty": "Aucun projet JetBrains trouvé", + "filter-empty": "Filtre : « {filter} »", + "loading": "Chargement…", + "loading-subtitle": "Lecture des projets JetBrains", + "no-projects-found": "Aucun projet trouvé", + "settings": { + "config_dir": { + "description": "Répertoire racine des dossiers de configuration JetBrains.", + "label": "Répertoire de config JetBrains" + }, + "ignored_ides": { + "description": "Noms d'IDE à exclure (ex. WebStorm, CLion). Correspond au début du nom du dossier de config.", + "label": "IDE ignorés" + }, + "max_results": { + "description": "Nombre maximum de projets à afficher.", + "label": "Nombre maximum de résultats" + }, + "toolbox_dir": { + "description": "Répertoire des apps JetBrains Toolbox pour localiser les lanceurs d'IDE.", + "label": "Répertoire Toolbox apps" + } + } +}