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 underBackup/, 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.
- Update
Folders - Where the family’s update notice is kept and where QCode remembers when it last asked for a newer version of itself.
- Workspace
Contents - 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 --versionprints: the package’s name and version, the way cargo writes them.