mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-14 16:07:52 +00:00
Probing a broken Python install (for example one whose python3xx.dll is gone) blocked on a modal "System Error" dialog, because Windows shows critical-error boxes for any process that fails to load a DLL. The app now sets SEM_FAILCRITICALERRORS and SEM_NOOPENFILEERRORBOX at startup, keeping inherited bits, and children inherit the mode, so such tools exit with an error code instead. Covers interpreter detection, Run, Terminal and every other tool the desktop app starts.
116 lines
3.8 KiB
TOML
116 lines
3.8 KiB
TOML
[package]
|
|
name = "openidea"
|
|
description = "OpenIDEA desktop shell: an open-source IDE inspired by IntelliJ IDEA"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[lib]
|
|
name = "openidea_lib"
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
dunce.workspace = true
|
|
|
|
[dependencies]
|
|
tauri = { version = "2", features = [] }
|
|
tauri-plugin-opener = "2"
|
|
tauri-plugin-dialog = { version = "2", default-features = false, features = ["xdg-portal"] }
|
|
tauri-plugin-mcp-bridge = "0.13"
|
|
tauri-plugin-window-state = "2"
|
|
tauri-plugin-single-instance = "2"
|
|
tauri-plugin-updater = "2"
|
|
tracing-appender = "0.2"
|
|
tauri-specta = { version = "=2.0.0-rc.25", features = ["derive", "typescript"] }
|
|
specta-typescript.workspace = true
|
|
specta.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
base64.workspace = true
|
|
percent-encoding = "2"
|
|
tokio.workspace = true
|
|
parking_lot.workspace = true
|
|
blake3.workspace = true
|
|
tracing.workspace = true
|
|
tracing-subscriber.workspace = true
|
|
dirs.workspace = true
|
|
|
|
ide-core.workspace = true
|
|
ide-cli.workspace = true
|
|
dunce.workspace = true
|
|
ide-clipboard.workspace = true
|
|
ide-fonts.workspace = true
|
|
ide-text.workspace = true
|
|
ide-vfs.workspace = true
|
|
ide-workspace.workspace = true
|
|
ide-language.workspace = true
|
|
ide-index.workspace = true
|
|
ide-syntax.workspace = true
|
|
ide-search.workspace = true
|
|
ide-lsp.workspace = true
|
|
ide-dap.workspace = true
|
|
ide-vcs.workspace = true
|
|
ide-terminal.workspace = true
|
|
ide-run.workspace = true
|
|
ide-sdk.workspace = true
|
|
ide-build.workspace = true
|
|
ide-analysis.workspace = true
|
|
ide-coverage.workspace = true
|
|
ide-profiler.workspace = true
|
|
ide-http.workspace = true
|
|
ide-agent.workspace = true
|
|
ide-db.workspace = true
|
|
ide-web.workspace = true
|
|
ide-spell.workspace = true
|
|
ide-ssh.workspace = true
|
|
ide-remote.workspace = true
|
|
ide-host.workspace = true
|
|
ide-mcp.workspace = true
|
|
ide-notebook.workspace = true
|
|
ide-jsonrpc.workspace = true
|
|
ide-tools = { path = "../crates/ide-tools" }
|
|
ide-scaffold.workspace = true
|
|
ide-plugin = { path = "../crates/ide-plugin" }
|
|
ide-extension = { path = "../crates/ide-extension" }
|
|
ide-docker = { path = "../crates/ide-docker" }
|
|
ide-android = { path = "../crates/ide-android" }
|
|
ide-github = { path = "../crates/ide-github" }
|
|
|
|
[dev-dependencies]
|
|
tempfile.workspace = true
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
block2 = "0.6"
|
|
# Plugin secrets in the login keychain.
|
|
security-framework = "3.7"
|
|
objc2 = "0.6"
|
|
objc2-app-kit = { version = "0.3", default-features = false, features = ["std", "block2", "objc2-core-foundation", "NSApplication", "NSButton", "NSEvent", "NSGraphics", "NSResponder", "NSScreen", "NSTitlebarAccessoryViewController", "NSToolbar", "NSView", "NSViewController", "NSWindow", "NSWindowTabGroup", "NSWorkspace"] }
|
|
objc2-foundation = { version = "0.3", default-features = false, features = ["std", "block2", "NSArray", "NSNotification", "NSOperation", "NSString"] }
|
|
# Used only by the debug font-restriction override; Cargo dependency cfg cannot test debug_assertions.
|
|
objc2-web-kit = { version = "0.3", default-features = false, features = ["std", "WKWebViewConfiguration", "WKPreferences"] }
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
# Wayland detection and the client size without GTK's CSD shadow (linux_window_state.rs).
|
|
gtk = "0.18"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows = { version = "0.62", features = [
|
|
"Win32_Foundation",
|
|
"Win32_Storage_EnhancedStorage",
|
|
"Win32_System_Com",
|
|
"Win32_System_Com_StructuredStorage",
|
|
"Win32_System_Variant",
|
|
"Win32_UI_Shell",
|
|
"Win32_UI_Shell_Common",
|
|
"Win32_UI_Shell_PropertiesSystem",
|
|
] }
|
|
windows-sys = { version = "0.61", features = [
|
|
"Win32_Foundation",
|
|
"Win32_Graphics_Gdi",
|
|
"Win32_System_Diagnostics_Debug",
|
|
"Win32_UI_Input_KeyboardAndMouse",
|
|
"Win32_UI_Shell",
|
|
"Win32_UI_WindowsAndMessaging",
|
|
] }
|