This repository contains a collection features for developing Common Lisp software. Each sub-section below shows a sample devcontainer.json alongside example usage of the Feature.
Use Devcontainers to quickly spawn containers and work on Common Lisp projects without polluting your user configuration.
Create a project folder and put the following to .devcontainer/devcontainer.json:
Then install Devcontainers CLI:
npm install -g @devcontainers/cli... build container for your project:
devcontainer up --workspace-folder <project-folder>Now you can run Lem Project editor up and running with latest Roswell, Qlot and SBCL installed:
devcontainer exec --workspace-folder <project-folder> lemThis feature will install and configure roswell tool with the requested Common Lisp implementation and extra tools. A specific version of Quicklisp distribution could be specified. Ultralisp distribution can be added as well.
{
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"features": {
"ghcr.io/egao1980/features/roswell:1": {
"version": "latest",
}
}
}$ ros
Common Lisp environment setup Utility.
Usage:
ros [options] Command [arguments...]
or
ros [options] [[--] script-path arguments...]
commands:
run Run repl
install Install a given implementation or a system for roswell environment
...{
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"features": {
"ghcr.io/egao1980/features/roswell:1": {
"version": "latest",
"installLisp": "sbcl/2.5.0",
"useLisp": "sbcl/2.5.0",
"installTools": true,
"installUltralisp": true
}
}
}This feature provides a Lem project's lem editor. The feature depends on roswell with qlot installed and will automatically install the corresponding feature if not already present in the Devcontainer definition.
{
"image": "mcr.microsoft.com/devcontainers/base:alpine",
"features": {
"ghcr.io/egao1980/features/lem:1": {
"version": "latest"
}
}
}This uses version option to select git tag / branch name to install.
{
"image": "mcr.microsoft.com/devcontainers/base:alpine",
"features": {
"ghcr.io/egao1980/features/lem:1": {
"version": "v2.2.0"
}
}
}
{ "image": "mcr.microsoft.com/devcontainers/base:alpine", "features": { "ghcr.io/egao1980/features/lem:1": { "version": "latest" } } }