Skip to main content

Crate qcode

Crate qcode 

Source
Expand description

QCode runs coding harnesses inside containers, never on the machine itself.

The crate carries the application: its state, the messages that change it and the screens that draw it. The qcode and quvyta-code commands are thin wrappers around QCode.

Every screen lives in its own module under ui and knows nothing about this one: each has a state, an update and a view, and speaks a message type of its own that this module maps into Msg. This module is where they become one application — which screen is open, what each of them is given, and what happens when one of them asks for something only the application can do.

Modules§

backup
The workspace backup: frequent snapshots of Work/ in a git folder of its own under Backup/, and bringing the workspace or one file back from any of them.
base
The base image every QCode container comes from, and the places inside it every other layer agrees on.
bridge
The bridge between tabs: the agent of one tab lists the other agent tabs of its workspace and sends one of them a message.
desktop
What this machine offers a window, and what an engine has to be told before it opens one.
engine
The container engine layer: finding a working engine, spelling out its commands and running them.
profile
Profiles: a harness, the template it is set up with, the account it signs in with and the permissions it runs under.
provider
Providers: the model services a person adds themselves, and what QCode asks each of them.
service
The background service: stopping the containers QCode started once no QCode is open.
store
The store: where QCode’s settings, workspaces and profiles live on disk.
switch
Moving from one container engine to the other: what the new engine lacks, what of the old one QCode carries over, and what it leaves behind.
ui
The screens of QCode.

Structs§

QCode
The application.
UpdateFolders
Where the family’s update notice is kept and where QCode remembers when it last asked for a newer version of itself.
WorkspaceContents
Everything one workspace needs before the workspace screen can show it.

Enums§

Msg
Everything that can happen in QCode.
Opening
What the workspaces that were read are for.
Page
The screens the application moves between.

Functions§

keymap
The application’s own key bindings, compiled in for the same reason the text is: an installed program carries its keys with it rather than looking for a file beside the binary.
locales
The application’s own locale files, compiled in so an installed program carries its text with it instead of looking for files beside the binary.
run
Starts the application: preferences come from the platform’s config folder, the text is compiled in, and the runtime drives the screens until the person leaves.
version_line
What qcode --version prints: the package’s name and version, the way cargo writes them.