The slope package manager (currently broken due to domain transfer, fix in progress)
Go to file
2022-05-19 22:04:46 -07:00
operators Adds fetch to slp 2022-05-19 22:04:46 -07:00
.gitignore Adds man page and makefile, updates license, removes binary 2021-08-26 15:25:48 -07:00
go.mod Initial commit of pluto-lang plp fork 2021-08-26 14:31:43 -07:00
go.sum Initial commit of pluto-lang plp fork 2021-08-26 14:31:43 -07:00
LICENSE Adds man page and makefile, updates license, removes binary 2021-08-26 15:25:48 -07:00
main.go Adds fetch to slp 2022-05-19 22:04:46 -07:00
Makefile Adds makefile target for creating the global lib dir 2021-12-24 10:27:31 -08:00
README.md Adds local install option 2022-05-09 15:40:53 -07:00
slp.1 Updates slp to have a more normalized syntax and updates surrounding documentation 2021-09-16 14:43:08 -07:00
TODO.md Adds fetch to slp 2022-05-19 22:04:46 -07:00

slp

SLope Package manager.

An easy way to install, remove, and update slope packages.

slp docs      [[-g]]  [module]    # open a module's readme in $PAGER
slp gen                           # creates new module dir/skeleton
slp help                          # print usage information
slp install   [[-g]]  [module...] # installs module(s)
slp installed [[-g]]              # lists all installed packages
slp list                          # lists all available packages
slp local     [[-g]]  [filepath]  # installs the module at filepath
slp remove    [[-g]]  [module...] # removes module(s)
slp search            [term...]   # searches for modules
slp show              [module...] # shows details for module(s)
slp update    [[-g]]  [module...] # updates module(s)

The above options are more or less self-explanatory with the exception of local. local will install a module that you have on your system, but not on the slope module path. This is useful if, for example, a person has made their module available but it is not in the slp registry. In which case you can clone their repo and run slp local ~/path/to/their-module. Once installed in this manner the slp remove, installed, and docs commands will be able to operate on the module based on its folder name. update, however, requires the registry to know what git tag is the current/newest tag.

Global installs

Operations that accept a -g flag will attempt to install a module systemwide (this may require root access). A --global flag may be passed in lieu of a -g flag if desired for clarity.

The install location for global modules is: /usr/lib/slope/modules

Globals modules must be dealt with separately from local modules and cannot be combined in a single command.

Note that early versions of slope to not search the global module path. If you have installed modules globally on your system and are unable to use load-mod to access them: update your slope version.

Adding new packages

Packages can be registered in the repository at https://git.rawtext.club/slope-lang/packages by submitting a PR to that repository. If you are unsure of how to proceed feel free to open an issue at said repository instead, with a link to your module's source code.

Notes

A note on module versioning: At present, slp does not handle any versioning and will always grab the newest version of a module, while update will always update to the newest. There are plans in place to declare a module release via the release's tag value: module-name@tag (ex. ini@0.2.1). Stay tuned for an announcement that that has been added. In the meantime: good fortune and safe journeys in the wilderness.