Comments (8)
This should work:
engine marzano(0.1)
language js
`<$name $props>$body</$name>` where {
$props <: contains `label={$label}` => ``,
$newbody = `{$label}`,
} => `<$name $props>$newbody</$name>`
from gritql.
jsx_attribute
is a syntax tree node: https://docs.grit.io/language/patterns#syntax-tree-nodes
You can inspect the AST by clicking "debug" in the studio.
Text.Heading
is technically two identifiers. Try using a string match instead:
$name <: "Text.Heading", // not found
from gritql.
@morgante Thank you so much.
from gritql.
@morgante what about if content is plain text?
<Text size={24} content='Some content'/>
https://app.grit.io/studio?key=MTd7mR3taj5k6i2sDL1mZ
from gritql.
@romanlex It looks like you have it working fine. You can drop the {}
from the pattern to make it match a plain text property.
from gritql.
@morgante its work only when I use regexp for find string
see same link
work
$props <: contains r"content=\'(.*)\'"($children) => .
doesn't work
$props <: contains
content='$children'
from gritql.
This should work instead of a regex:
$props <: contains jsx_attribute(name=`content`, $value) => .,
or {
and {
$value <: string($fragment),
$value <: contains string_fragment() as $children
},
$children = $value
}
from gritql.
oh, thx
where I can read about jsx_attribute?
And another question. Why I can find components with name wich contain .
For example
<$name $props />` where {
or {
$name <: `Text`,
$name <: `Text.Heading`, // not found
$name <: `Anchor`,
$name <: `Amount`,
$name <: `ContextMenu.Item`, // not found
},
$props <: contains r"content=\{`(.*)`\}"($children) => .,
$children = replaceSybmol($children)
} => `<$name $props>$children</$name>
from gritql.
Related Issues (20)
- (grammar update required) JavaScript parsing error: Error parsing source code at ... HOT 4
- Sending on a closed channel error
- Switch to fs_err HOT 1
- Restore paywall
- `--stdin` should imply `--dry-run`
- Add global .gritmodules info to `grit doctor`
- `sequential` causes panic
- `before` not working as expected
- Good performance for replacing thousands of imports at once
- Compiler optimization: rewrite or patterns
- Look for `.grit` patterns anywhere when running `grit patterns test` HOT 1
- .mdx support
- Support for running transformations on ipython notebooks
- Retrieve / check the direct ancestor of a binding
- Automatic apply modules by URL
- Improve Jupyter notebook serialization
- Test fail due to different spacing (ignore whitespace)
- `or file()` pattern doesn't work properly
- C++ support HOT 2
- Uninstall instructions HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gritql.