id = "monodevelop" name = "MonoDevelop" homepage = "https://www.monodevelop.com" description = "MonoDevelop is a cross platform .NET IDE." # The app icon, from the theme icons in the project's repository. icon = "https://raw.githubusercontent.com/mono/monodevelop/main/main/theme-icons/Mac/png/256x256/monodevelop.png" executables = ["monodevelop", "mdtool"] [dotfiles] # main/src/core/MonoDevelop.Core/MonoDevelop.Core/UserProfile.cs. The profile # directory is built per platform: # # ForMac ConfigDir = ~/Library/Preferences/ # ForUnix ConfigDir = ${XDG_CONFIG_HOME:-~/.config}/ # ForWindows ConfigDir = %APPDATA%\\Config # # and GetAppId() in the same file makes "MonoDevelop-" below # version 7 and "MonoDevelop/" from 7 on, with ProfileVersions listing # 2.4 through 8.0. Both shapes are globbed so a machine with either is covered. # PropertyService.cs names what lands there: `readonly static string FileName = # "MonoDevelopProperties.xml"`, written to `UserProfile.Current.ConfigDir`. # # macOS is ~/Library/Preferences, which is [preferences]. The Unix half is # written literally rather than as [configHome], because [configHome] would # also claim %APPDATA%\MonoDevelop-*\ on Windows — the roaming *data* root, # one level above the Config directory MonoDevelop actually writes. paths = [ "[preferences]/MonoDevelop-*/", "[preferences]/MonoDevelop/*/", "~/.config/MonoDevelop-*/", "~/.config/MonoDevelop/*/", "%APPDATA%/MonoDevelop-*/Config/", "%APPDATA%/MonoDevelop/*/Config/", ] # Caches, logs and the local install directory are separate roots in the same # file (CacheDir under ~/Library/Caches, $XDG_CACHE_HOME or %LOCALAPPDATA%; # LogDir under ~/Library/Logs or the cache directory), so none of them sits # inside the config directories above and there is nothing to carve out. # Nothing MonoDevelop writes to ConfigDir is a credential file. Its NuGet and # publishing credentials go to the .NET tooling's own stores, not here. secret = [] # No machine_lines. MonoDevelopProperties.xml is an XML property bag, and the # schema's `format` is toml, yaml or json — there is no parser for it here, so # a per-key carve-out could not be written even where one was wanted.