doomemacs/modules/lang/scad
2023-11-26 17:06:06 -08:00
..
config.el module: add :lang scad 2023-11-26 17:06:06 -08:00
packages.el module: add :lang scad 2023-11-26 17:06:06 -08:00
README.org module: add :lang scad 2023-11-26 17:06:06 -08:00

:lang scad

Description   unfold

This module add OpenSCAD support to Doom Emacs.

This allows you to design complex, 3D models all from the comfort of the editor you love!

Maintainers

This module has no dedicated maintainers. Become a maintainer?

Module flags

+lsp
Enable LSP support for scad-mode. Requires doom-module::tools lsp and a langserver (supports openscad-lsp).

Hacks

No hacks documented for this module.

TODO Changelog

This module does not have a changelog yet.

Installation

Enable this module in your doom! block.

While the module itself doesn't technically require OpenSCAD to be installed, if you want to actually render geometry, you should install it through your distribution's package manager.

apt-get install openscad # Debian / Ubuntu / Kubuntu
yum install openscad # Fedora
pacman -S openscad # Arch Linux
brew install --cask openscad # MacOS

LSP Server

If you'd like to have language server support, you need to install openscad-lsp manually. This currently isn't packaged by anyone, so you either need to grab a binary from the source or build it manually.

To build it, you need a Rust toolchain installed, then you can run

cargo install openscad-lsp

Usage

To start, create a new .scad file and start writing. Once you have some renderable geometry you can render it directly in editor with scad-preview. Otherwise, you can open in OpenSCAD with scad-open, where by default saves in Emacs will cause a re-render in OpenSCAD. Once you're happy, you can render to a variety of 3D file formats from within OpenSCAD or to an STL for 3D printing with scad-export.

Keybindings

Keybind Command
<localleader> e scad-export
<localleader> o scad-open
<localleader> p scad-preview

TODO Configuration

󱌣 This module's configuration documentation is incomplete. Complete it?

Troubleshooting

There are no known problems with this module. Report one?

Frequently asked questions

This module has no FAQs yet. Ask one?

TODO Appendix

󱌣 This module has no appendix yet. Write one?