All class names found inside the file `src/component/card/card.module.scss` will be included as constants inside a module named as the identifier passed as first argument to import_style.
The proc macro has no side effects, to generate the transformed css file we then use the stylance cli.
### Nightly feature
If you are using rust nightly you can enable the `nightly` feature to get access to the `import_style!` macro which lets you specify the css module file as relative to the current file.
Enable the nightly feature:
```toml
stylance = { version = "<versionhere>", features = ["nightly"] }
This will find all the files ending with `.module.scss` and `.module.css`and bundle them into `./bundled.scss`, all classes will be modified to include a hash that matches the one the `import_crate_style!` macro produces.
Rust analyzer will not produce any completion for import_style!, this is because it doesn't support the nightly features used to obtain the current rust file path.
### Stable `import_crate_style!`
Rust analyzer will expand the `import_crate_style!(style, "src/mystyle.module.css")` macro properly the first time, which means you'll be able to get completion when typing `style::|`.
Unfortunately RA will cache the result and will not realize that it needs to reevaluate the proc macro when the contents of `src/mystyle.module.css` change.
This only affects completion, errors from cargo check will properly update.
The only way to force RA to reevaluate the macros is to restart the server or to rebuild all proc macros. Sadly this takes a really long time.
It is my opinion that no completion would be better than outdated completion.
Supposedly one should be able to disable the expansion of the macro adding this to `.vscode/settings.json`
```json
"rust-analyzer.procMacro.ignored": {
"stylance": ["import_style_classes"]
},
```
But unfortunately I've not been able to make that work, any help getting this to work would be appreciated.
In the meantime the nightly `import_style` is my recommended way to work with this crate.