id = "matlab" name = "MATLAB" homepage = "https://www.mathworks.com/products/matlab.html" # MathWorks' own sentence, trimmed to fit: "MATLAB, the language of engineers # and scientists, is a programming and numeric computation environment for # algorithm development, data analysis, and visualization." description = "A programming and numeric computation environment for algorithm development, data analysis, and visualization." # The MATLAB membrane mark. icon = "theSVG:matlab" executables = ["matlab"] [dotfiles] # https://www.mathworks.com/help/matlab/matlab_env/where-matlab-stores-settings.html # gives the settings folder for each platform, with `release` standing for the # release the user runs (R2025a and so on): # Windows C:\Users\\AppData\Roaming\MathWorks\MATLAB\ # Linux ~/.matlab/ # macOS ~/Library/Application Support/MathWorks/MATLAB/ # and `prefdir` in the Command Window prints the resolved path. # # These are three genuinely different locations rather than one location under # three names — Linux uses a dot directory in the home directory, not an XDG # base directory — so no named base directory covers them and each is spelled # out. `platforms` stays unset; a consumer skips the two that do not exist. # # The release is part of the directory name, so the glob carries every release # installed. https://www.mathworks.com/help/matlab/ref/prefdir.html describes # what the folder holds: "settings for MATLAB and related products, MATLAB # favorites files, and MATLAB desktop layout files". paths = [ "~/Library/Application Support/MathWorks/MATLAB/R*/", "~/.matlab/R*/", "%APPDATA%/MathWorks/MATLAB/R*/", ] # No carve-outs. The folder also accumulates the desktop layout and the command # history, which a consumer may well want to leave behind, but MathWorks names # neither file in the documentation above, and inventing the file names would be # worse than listing the folder as documented. Note that any exclude added here # has to be repeated under all three spellings. # MATLAB's licence lives with the installation rather than in the settings # folder, and the folder itself is preferences, favorites and layout. No # whole-file credential among the paths above. secret = [] # No machine_lines. matlab.prf is a key-value file, but MathWorks does not # document its keys, and the machine-local things in the folder — the desktop # layout, the search path saved by `savepath` — are separate files rather than # lines inside one, so there is nothing this schema's line matcher can name # without guessing.