Skip to content

User commands

User commands are Cider’s user interface

AddNuGetDependencies ListOpenProjects AddTatinDependencies ListTatinDependencies CloseProject Make Config OpenProject CreateProject ProjectConfig Help RunTests ListAliases UpdateCider ListNuGetDependencies Version

Cider user commands and their options are case-insensitive. They all have help built in, for example

]cider -?
]cider -??
]CIDER.AddNuGetDependencies -?

Identifying projects

You can always identify a project by its project path.

]CIDER.OpenProject path/to/project

If you have assigned it an alias (e.g. foo) you can use the alias, embraced with square brackets to mark it as an alias.

]CIDER.OpenProject [foo]

If a project is open, you can identify it by its project space.

]CIDER.ListTatinDependencies #.bar

Square brackets in the command syntax

Square brackets in the command sytaxes shown on this page indicate optional command arguments, not aliases. For example, the ListTatinDependencies command has syntax

]CIDER.ListTatinDependencies [project]

If the project has alias foo, has been opened in #.bar, and is the only project open, then the following are equivalent.

]CIDER.ListTatinDependencies path/to/project
]CIDER.ListTatinDependencies [foo]
]CIDER.ListTatinDependencies #.bar
]CIDER.ListTatinDependencies

Command options

Options are further optional arguments to the command.

Specify all the command’s arguments before any options. Prefix options with dashes, e.g.

]CIDER.CreateProject path/to/foo path/to/bar -noEdit
]CIDER.OpenProject path/to/foo -alias=ted

Options affect only the current command. They override settings in the project and global configurations and leave them unchanged.

Each command’s options are tabulated below its definition.


Add NuGet dependencies

]CIDER.AddNuGetDependencies pkglist [project]

Where pkglist is a comma-separated list of NuGet packages to be installed, Cider registers the listed dependencies in the project.

If you omit project Cider uses the one open project or, if you have more than one open, asks you which.

If the project config does not specify a NuGet dependency folder, Cider asks you to edit it.

target= Name of a namespace to be created and added to the project config’s dependencies or the dependencies_dev setting.

If it exists, Cider signals an error. You then need to edit the project’s config file.

Add Tatin dependencies

]CIDER.AddTatinDependency pkglist [project]

Where pkglist is a comma-separated list of Tatin packages to be installed, Cider registers the listed dependencies in the project.

If you omit project Cider uses the one open project or, if you have more than one open, asks you which.

If the project config does not specify a Tatin dependency folder, Cider asks you to edit it.

development By default the packages are added as project dependencies. This option makes them development dependencies instead.
target= Name of a namespace to be created and added to the dependencies or the dependencies_dev parameter.

If the namespace exists, Cider signals an error. You then need to edit the project’s config file.

Close project

]CIDER.CloseProject [projects]

Where projects is one or more projects, Cider breaks the link between their namespaces and the associated files on disk.

If you omit projects Cider uses the one open project or, if you have more than one open, asks you which.

Separate multiple projects with spaces or commas.

Where a particular project is specified, success or failure is reported as a boolean. Otherwise attempts to close projects are reported in detail.

fast Close project without checking for Dropbox conflicts.

Config

]CIDER.Config

Cider prints the content of its global config file to the session.

edit Display the global config for editing. Changes are saved to file but do not affect the currently running instance of Cider.

Example

      ]CIDER.Config
 --- Cider Config File: /Users/sjt/.cider/config.json ---
 {
   // AskForDirChange: 1,
   // CheckForDropboxConflicts: 1,
   // ExecuteAfterProjectOpen: "⎕SE.Path.To.Function",
   // ReportGitStatus: 1,
   // verbose: 1,
 }

Create project

]CIDER.CreateProject [path [space] ]

Where

  • path (optional) is a path to the project folder
  • space (optional) is a namespace in the active workspace to be linked to the project

Cider initialises the project folder, links it to the project space, and offers the project config for editing, checking required settings are specified correctly.

Finally, Cider offers to open the new project.

If you omit path, Cider proposes the current working directory. If you omit space, Cider uses the name of the project folder.

If the project folder already contains a file cider.config Cider signals an error, unless the acceptConfig flag is set.

acceptConfig Accept an already existing config file.
alias= Remember this alias for the project. Aliases are not case sensitive.
batch Open the new project without asking me for confirmation.
ignoreUserExec Open the project without executing the global config’s initialisation function.
noEdit Do not offer me the configuration for editing.
Keep the workspace root empty

Good practice keeps the active workspace root empty. Cider is designed to associate each project with a namespace.

To create a root project (NOT recommended) specify # as the project space.

Help

]CIDER.Help

Displays the Cider User Guide.

List aliases

]CIDER.ListAliases

Lists all defined aliases with their folders.

batch With prune delete without asking me for confirmation.
edit Let me edit the file of aliases.
prune Delete aliases whose folders cannot be found. (Ask me first for confirmation.)
scan= Scan the specified folder for projects and ask me which to add as aliases.

Only options prune and batch can be used together.

List NuGet dependencies

]CIDER.ListNuGetDependencies [project]

Lists the project’s NuGet dependencies.

If you omit project Cider uses the one open project or, if you have more than one open, asks you which.

List open projects

]CIDER.ListOpenProjects

Prints a list of all open projects.

verbose Instead of a list, print a table.

List Tatin dependencies

]CIDER.ListTatinDependencies [project]

Lists Tatin packages installed as its dependencies.

If you omit project Cider uses the one open project or, if you have more than one open, asks you which.

full Print a hierarchical report on all dependencies.

The full report does not show what is actually used, but what the packages themselves require. (Due to minimum version selection they might end up using a later version.) This can help show why a particular (typically old) package is required.

Make

]CIDER.Make [project]

Prints the project’s Make expression: the expression that builds a new version of the project.

If you omit project Cider uses the one open project or, if you have more than one open, asks you which.

Open project

]CIDER.OpenProject project

Builds the project in the active workspace, linked to its source files. More detail…

alias= Remember this alias for the project.
batch Do not ask me for confirmation; print nothing to the session.[^batch]
ignoreUserExec Do not execute the global initialisation function.
import Do not link APL objects to their source files. (Ignore the watch setting in the project config.)
noPkgLoad Do not load the project’s Tatin packages.
parent= Override the parent setting in the project config.
projectSpace= Override the projectSpace setting in the project config.
suppressInit Do not execute the project’s initialisation function
verbose Report command actions in more detail.
watch= Override the watch setting in the project config.

Options import and watch= cannot be used together.

The batch option is intended for test cases. Consider instead using the OpenProject API function.

Project config

]CIDER.ProjectConfig [project]

Displays or edits the project configuration.

If you omit project Cider uses the one open project or, if you have more than one open, asks you which.

edit Display the config for editing.

Run tests

]CIDER.RunTests [project]

Prints the APL expression that executes the project’s test suite.

If you omit project Cider uses the one open project or, if you have more than one open, asks you which.

Update Cider

]CIDER.UpdateCider [version]

Where version is <major>.<minor>.<patch>, tries to update Cider to it.

If you omit version and a later version is available, Cider asks whether you want to update to it.

The update is performed automatically, but does not change Cider in the current workspace. When the update is complete, restart Dyalog, rebuild the user commands, and print the current version.

      ]UReset
153 commands reloaded
      ]CIDER.Version
0.44.0+835
Do not use the command for Cider versions prior to 0.37.3

These versions were installed into the new folder but with a level missing.

Reinstall Cider.

The next time you use ]CIDER.UpdateCider it will remove Cider from the wrong folder.

Uninstall: delete the Cider/ folder from your MyUCMDs/ folder.

Reinstall Cider.

Troubleshooting: Updating Cider

Version

]CIDER.Version

Prints major, minor and patch numbers:

      ]CIDER.Version
0.44.0+835