diff --git a/README.md b/README.md
index ea5625f..9895b02 100644
--- a/README.md
+++ b/README.md
@@ -273,7 +273,7 @@ fn component() -> impl IntoView {
}
}
```
-... and have "cls1" on both `h1` and `p` auto-assigned. Isn't this cool?
+... and have "cls1" on both `h1` and `p` auto-assigned. Isn't that cool?
So, if you're on leptos, and don't mind to take this approach, I'd highly recommend turning the *lepty-scoping* feature on:
@@ -327,6 +327,7 @@ fn component() -> impl IntoView {
That will perform *much* better:
- All scope members - like `scope::breadcumbs` - wont contain repeating scope hash, just the original class/id selector
+ - So instead of scope members (which [aren't](https://github.com/yiffyrusdev/sabry/issues/2) autocompleted for sass-in-the-rust yet) you could just write bare selectors, as you do, for example, with svelte: `
`
- You will not encounter [the catch](#scoping) with nested tagname selectors
Also, this isn't really exclusive leptos-supporting feature. It just changes scoping behavour.
@@ -631,15 +632,20 @@ So you still can get the scoped variant of `cls1-dark` class: `scope::_dark(scop
This isn't very handy, also isn't strict enough, and is a high-priority subject to change. wip.
+#### Scope member naming rules
+
+Not any valid CSS selector is a valid rust identifier. In general this section should not be needed, as you should receive autocompletion from the editor. *However* it doesn't seem to work properly. Check the [wip](#wip) section out.
+
## WIP
*(sorted by my own priority)*, "dones" are excluded
-- [] Crates of styled components - currently the only way to create them seems to be const styly.
- - [] CSS support
-- [] Currently the crate causes "dependency inheritance" infection. We cant get rid of it, however should be doable to at least get rid of flag inheritance
-- [] There are some strange parsing errors, seems like a bug, however very hard to reproduce. Have to investigate. Maybe do more tests.
-- [] Experience with cargo-leptos is fine, and we do use it, however its a bit "raughy". Need to do something about it.
+- [ ] Somehow achieve the autocompletion for scopes. The problem is explained in details [here](https://github.com/yiffyrusdev/sabry/issues/2)
+- [ ] Crates of styled components - currently the only way to create them seems to be const styly.
+ - [ ] CSS support
+- [ ] Currently the crate causes "dependency inheritance" infection. We cant get rid of it, however should be doable to at least get rid of flag inheritance
+- [ ] There are some strange parsing errors, seems like a bug, however very hard to reproduce. Have to investigate. Maybe do more tests.
+- [ ] Experience with cargo-leptos is fine, and we do use it, however its a bit "raughy". Need to do something about it.
## Contributions
diff --git a/examples/use-styles/Cargo.lock b/examples/use-styles/Cargo.lock
index 8bc46bd..d0d46c5 100644
--- a/examples/use-styles/Cargo.lock
+++ b/examples/use-styles/Cargo.lock
@@ -994,7 +994,7 @@ checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
[[package]]
name = "sabry"
-version = "0.0.1"
+version = "0.0.1-alpha.2"
dependencies = [
"sabry_build",
"sabry_intrnl",
@@ -1003,7 +1003,7 @@ dependencies = [
[[package]]
name = "sabry_build"
-version = "0.0.1"
+version = "0.0.1-alpha.2"
dependencies = [
"proc-macro2",
"sabry_intrnl",
@@ -1015,10 +1015,11 @@ dependencies = [
[[package]]
name = "sabry_intrnl"
-version = "0.0.1"
+version = "0.0.1-alpha.2"
dependencies = [
"base64",
"blake3",
+ "cfg-if",
"const_format",
"grass",
"lightningcss",
@@ -1034,14 +1035,14 @@ dependencies = [
[[package]]
name = "sabry_procmacro"
-version = "0.0.1"
+version = "0.0.1-alpha.2"
dependencies = [
"sabry_procmacro_impl",
]
[[package]]
name = "sabry_procmacro_impl"
-version = "0.0.1"
+version = "0.0.1-alpha.2"
dependencies = [
"proc-macro2",
"quote",
diff --git a/examples/use-styles/src/main.rs b/examples/use-styles/src/main.rs
index 6472b0e..0f69f52 100644
--- a/examples/use-styles/src/main.rs
+++ b/examples/use-styles/src/main.rs
@@ -11,8 +11,6 @@ styly!(pub const bundlemod {
}
});
-styly!(pub const filemod:sass "src/main.sass");
-
fn main(){
println!("someth class codemod styles: {}", bundlemod::someth);
println!("someth class filemod styles: {}", filemod::someth);
diff --git a/release.toml b/release.toml
index d60c78b..edd975f 100644
--- a/release.toml
+++ b/release.toml
@@ -4,5 +4,9 @@ sign-tag = true
target = "x86_64-unknown-linux-gnu"
pre-release-replacements = [
- {file="README.md", search='sabry = {\s?version = "[0-9a-z\-\.]*"(?.*)\s?}', replace='sabry = { version = "{{version}}" $rest}'},
+ {file="README.md", search='sabry = {\s?version = "[0-9a-z\-\.]*"', replace='sabry = { version = "{{version}}"'},
+]
+
+pre-release-hook = [
+ "/bin/echo $NEW_VERSION"
]
diff --git a/sabry_intrnl/src/scoper/mod.rs b/sabry_intrnl/src/scoper/mod.rs
index 0d82a7d..659fc7f 100644
--- a/sabry_intrnl/src/scoper/mod.rs
+++ b/sabry_intrnl/src/scoper/mod.rs
@@ -226,7 +226,7 @@ impl HashedSelector {
Some(format!("{} {}", hash.as_str(), a.ident))
}
}
- },
+ }
// As we dont want to use two HTML props for a single ID,
// ID scoping is done with id modification
ScopedSelector::Id(a) => {
@@ -237,7 +237,7 @@ impl HashedSelector {
Some(format!("{}-{}", hash.as_str(), a.ident))
}
}
- },
+ }
ScopedSelector::Tag(_) => None,
}
}
diff --git a/sabry_procmacro_impl/src/impls/mod.rs b/sabry_procmacro_impl/src/impls/mod.rs
index a6876d8..f86a7ae 100644
--- a/sabry_procmacro_impl/src/impls/mod.rs
+++ b/sabry_procmacro_impl/src/impls/mod.rs
@@ -57,7 +57,12 @@ impl Parse for ArbitraryStyleBlock {
let iofile = match fs::read(&fullpath) {
Ok(bf) => bf,
- Err(_) => return Err(syn::Error::new(path_tok.span(), format!("Could not read file at {fullpath:?}")))
+ Err(_) => {
+ return Err(syn::Error::new(
+ path_tok.span(),
+ format!("Could not read file at {fullpath:?}"),
+ ))
+ }
};
let code = String::from_utf8_lossy(&iofile).to_string();