Crate kcl_lib

Source
Expand description

Rust support for KCL (aka the KittyCAD Language).

KCL is written in Rust. This crate contains the compiler tooling (e.g. parser, lexer, code generation), the standard library implementation, a LSP implementation, generator for the docs, and more.

Modules§

exec
lint
mock_engine
native_engine
pretty
std
Functions implemented for language execution.
std_utils
test_server
Types used to send data to the test server.
walk

Structs§

AsyncTasks
BacktraceItem
CompilationError
An error which occurred during parsing, etc.
Configuration
User specific settings for the app. These live in user.toml in the app’s configuration directory. Updating the settings in the app will update this file automatically. Do not edit this file manually, as it may be overwritten by the app. Manual edits can cause corruption of the settings file.
CopilotLspBackend
EngineStats
ExecOutcome
Outcome of executing a program. This is used in TS.
ExecState
State for executing a program.
ExecutorContext
The executor context. Cloning will return another handle to the same engine connection/session, as this uses Arc under the hood.
ExecutorSettings
The executor settings.
FormatOptions
Format options.
IMPORT_FILE_EXTENSIONS
KclErrorWithOutputs
KclLspBackend
The lsp server backend.
KclLspServerSubCommand
A subcommand for running the server.
MetaSettings
ModuleId
Identifier of a source file. Uses a u32 to keep the size small.
NodePath
A traversal path through the AST to a node.
Point2d
Program
ProjectConfiguration
Project specific settings for the app. These live in project.toml in the base of the project directory. Updating the settings for the project in the app will update this file automatically. Do not edit this file manually, as it may be overwritten by the app. Manual edits can cause corruption of the settings file.
RELEVANT_FILE_EXTENSIONS
Report
ReportWithOutputs
SourceRange
The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the ‘main’ file, i.e., the file currently being rendered/displayed in the editor.
TypedPath

Enums§

ConnectionError
How did KCL client fail to connect to the engine
ExecError
How did the KCL execution fail
KclError
NodePathStep
UnitAngle
A unit of angle.
UnitLen
A unit of length.
UnitLength
The valid types of length units.

Traits§

CoreDump
EngineManager

Functions§

bust_cache
clear_mem_cache
recast_dir
Recast all the kcl files in a directory, recursively.
version
Get the version of the KCL library.
walk_dir
Collect all the kcl (and other relevant) files in a directory, recursively.