nmm
Nelson Modules Manager.
📝Syntax
st = nmm('list')
nmm('load', module_name)
l = nmm('autoload', module_name)
nmm('autoload', module_name, state)
nmm('install', git_url)
nmm('uninstall', module_name)
package_filename = nmm('package', module_name, destination_dir)
📥Input Arguments
Parameter Description
module_name a string: short module's name.
state a logical: true will autoload module at startup, false disable autoload for this module.
git_url a string: a git url (http/https protocol).
destination_dir a string: an existing destination directory where archive will be created.
📤Output Arguments
Parameter Description
st a struct: list of installed modules.
l a logical: current state of autoload.
package_filename a string: filename.
📄Description

nmm is the Nelson Modules Manager.

Source-based distribution packages allows to have optimized packages for your computer and allows to have distributed repositories.

Installed modules are locally built and can require an C/C++.

st = nmm('list') get list of installed modules.

nmm('install', git_url) install a distant module.

About git_url, in this example 'https://github.com/nelson-lang/module_skeleton_basic.git#v1.0.0'

'#v1.0.0' is defined as #<commit-ish>, it allows to clone exactly an commit.

The commit-ish can be a tag (exact version), and an sha1 (exac commit) or an branch name.

Without commit-ish, master branch will be used.

nmm('install', filename_nmz) install an prebuilt external module.

nmm('load', module_name) load an installed module for current session.

l = nmm('autoload', module_name returns current state autoload for module_name.

nmm('autoload', module_name, state) marks an installed modules "marked" as autoload at startup.

By default modules are marked as autoload.

nmm('uninstall', module_name) uninstall an installed module.

nmm('package', module_name, destination_dir) packages an module as a zip file.

💡Examples
Deploy module_skeleton_basic template
if ~ismodule('module_skeleton_basic')
    nmm('install', 'https://github.com/nelson-lang/module_skeleton_basic.git#v1.0.0');
    macro_sum(3, 4)
    nmm('uninstall', 'module_skeleton_basic')
end
Package easily a module
if ~ismodule('module_skeleton_basic')
    nmm('install', 'https://github.com/nelson-lang/module_skeleton_basic.git#v1.0.0');
end
package_filename = nmm('package', 'module_skeleton_basic', tempdir())
🔗See Also
ismodulegetmodules
🕔Version History
Version Description
1.0.0 initial version
Edit this page on GitHub