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.tomlin 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 Arcunder the hood.
- ExecutorSettings 
- The executor settings.
- FormatOptions 
- Format options.
- IMPORT_FILE_ EXTENSIONS 
- KclErrorWith Outputs 
- KclLspBackend 
- The lsp server backend.
- KclLspServer SubCommand 
- 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.tomlin 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.
- ProjectManager 
- RELEVANT_FILE_ EXTENSIONS 
- Report
- ReportWith Outputs 
- 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
- NodePath Step 
Traits§
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.