mirror of
https://github.com/RGBCube/alejandra
synced 2025-07-31 12:37:45 +00:00
feat: implement inherit from
This commit is contained in:
parent
5ffcf04579
commit
870af566c7
2 changed files with 76 additions and 49 deletions
|
@ -165,29 +165,45 @@ fn format(
|
|||
builder.start_node(rowan::SyntaxKind(kind as u16));
|
||||
|
||||
let rule = match kind {
|
||||
// a b
|
||||
rnix::SyntaxKind::NODE_APPLY => crate::rules::apply::rule,
|
||||
// assert a; b
|
||||
rnix::SyntaxKind::NODE_ASSERT => crate::rules::assert::rule,
|
||||
// { }
|
||||
rnix::SyntaxKind::NODE_ATTR_SET => crate::rules::attr_set::rule,
|
||||
// a $op b
|
||||
rnix::SyntaxKind::NODE_BIN_OP => crate::rules::bin_op::rule,
|
||||
//
|
||||
rnix::SyntaxKind::NODE_DYNAMIC => crate::rules::dynamic::rule,
|
||||
// implementation detail of rnix-parser
|
||||
rnix::SyntaxKind::NODE_ERROR => {
|
||||
eprintln!("Warning: found an error node at: {}", path);
|
||||
crate::rules::default
|
||||
}
|
||||
// $identifier
|
||||
rnix::SyntaxKind::NODE_IDENT => crate::rules::default,
|
||||
// if a then b else c
|
||||
rnix::SyntaxKind::NODE_IF_ELSE => crate::rules::if_else::rule,
|
||||
// inherit NODE_INHERIT_FROM? b+ ;
|
||||
rnix::SyntaxKind::NODE_INHERIT => crate::rules::inherit::rule,
|
||||
// ( a )
|
||||
rnix::SyntaxKind::NODE_INHERIT_FROM => {
|
||||
crate::rules::inherit::rule
|
||||
crate::rules::paren::rule
|
||||
}
|
||||
rnix::SyntaxKind::NODE_KEY => crate::rules::default,
|
||||
// a = b;
|
||||
rnix::SyntaxKind::NODE_KEY_VALUE => {
|
||||
crate::rules::key_value::rule
|
||||
}
|
||||
// a: b
|
||||
rnix::SyntaxKind::NODE_LAMBDA => crate::rules::lambda::rule,
|
||||
// let NODE_KEY_VALUE* in b;
|
||||
rnix::SyntaxKind::NODE_LET_IN => crate::rules::let_in::rule,
|
||||
// [ ... ]
|
||||
rnix::SyntaxKind::NODE_LIST => crate::rules::list::rule,
|
||||
// $literal
|
||||
rnix::SyntaxKind::NODE_LITERAL => crate::rules::default,
|
||||
// let { }
|
||||
rnix::SyntaxKind::NODE_LEGACY_LET => {
|
||||
eprintln!(
|
||||
"Warning: found a `legacy let` expression at: {}",
|
||||
|
@ -195,25 +211,36 @@ fn format(
|
|||
);
|
||||
crate::rules::default
|
||||
}
|
||||
// a or b
|
||||
rnix::SyntaxKind::NODE_OR_DEFAULT => {
|
||||
crate::rules::or_default::rule
|
||||
}
|
||||
// ( a )
|
||||
rnix::SyntaxKind::NODE_PAREN => crate::rules::paren::rule,
|
||||
// a | a ? b
|
||||
rnix::SyntaxKind::NODE_PAT_BIND => crate::rules::pat_bind::rule,
|
||||
// { NODE_PAT_ENTRY* }
|
||||
rnix::SyntaxKind::NODE_PATTERN => crate::rules::pattern::rule,
|
||||
// NODE_PAT_BIND | TOKEN_ELLIPSIS
|
||||
rnix::SyntaxKind::NODE_PAT_ENTRY => {
|
||||
crate::rules::pat_entry::rule
|
||||
}
|
||||
// /path/to/${a}
|
||||
rnix::SyntaxKind::NODE_PATH_WITH_INTERPOL => {
|
||||
crate::rules::default
|
||||
}
|
||||
// implementation detail of rowan
|
||||
rnix::SyntaxKind::NODE_ROOT => crate::rules::root::rule,
|
||||
rnix::SyntaxKind::NODE_SELECT => crate::rules::select::rule,
|
||||
// "..." || ''...''
|
||||
rnix::SyntaxKind::NODE_STRING => crate::rules::string::rule,
|
||||
// ${a}
|
||||
rnix::SyntaxKind::NODE_STRING_INTERPOL => {
|
||||
crate::rules::string_interpol::rule
|
||||
}
|
||||
// !a
|
||||
rnix::SyntaxKind::NODE_UNARY_OP => crate::rules::default,
|
||||
// with a; b
|
||||
rnix::SyntaxKind::NODE_WITH => crate::rules::with::rule,
|
||||
kind => {
|
||||
panic!("Missing rule for {:?} at: {}", kind, path);
|
||||
|
|
|
@ -92,7 +92,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
f
|
||||
h
|
||||
;
|
||||
|
@ -104,7 +104,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
f
|
||||
h
|
||||
/*
|
||||
|
@ -119,7 +119,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
f
|
||||
/*
|
||||
g
|
||||
|
@ -134,7 +134,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
f
|
||||
/*
|
||||
g
|
||||
|
@ -152,7 +152,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -167,7 +167,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -185,7 +185,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -203,7 +203,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -224,7 +224,7 @@
|
|||
b
|
||||
*/
|
||||
c
|
||||
)
|
||||
)
|
||||
f
|
||||
h
|
||||
;
|
||||
|
@ -236,7 +236,7 @@
|
|||
b
|
||||
*/
|
||||
c
|
||||
)
|
||||
)
|
||||
f
|
||||
h
|
||||
/*
|
||||
|
@ -251,7 +251,7 @@
|
|||
b
|
||||
*/
|
||||
c
|
||||
)
|
||||
)
|
||||
f
|
||||
/*
|
||||
g
|
||||
|
@ -266,7 +266,7 @@
|
|||
b
|
||||
*/
|
||||
c
|
||||
)
|
||||
)
|
||||
f
|
||||
/*
|
||||
g
|
||||
|
@ -284,7 +284,7 @@
|
|||
b
|
||||
*/
|
||||
c
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -299,7 +299,7 @@
|
|||
b
|
||||
*/
|
||||
c
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -317,7 +317,7 @@
|
|||
b
|
||||
*/
|
||||
c
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -335,7 +335,7 @@
|
|||
b
|
||||
*/
|
||||
c
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -359,7 +359,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
f
|
||||
h
|
||||
;
|
||||
|
@ -374,7 +374,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
f
|
||||
h
|
||||
/*
|
||||
|
@ -392,7 +392,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
f
|
||||
/*
|
||||
g
|
||||
|
@ -410,7 +410,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
f
|
||||
/*
|
||||
g
|
||||
|
@ -431,7 +431,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -449,7 +449,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -470,7 +470,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -491,7 +491,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -631,7 +631,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
f
|
||||
h
|
||||
;
|
||||
|
@ -646,7 +646,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
f
|
||||
h
|
||||
/*
|
||||
|
@ -664,7 +664,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
f
|
||||
/*
|
||||
g
|
||||
|
@ -682,7 +682,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
f
|
||||
/*
|
||||
g
|
||||
|
@ -703,7 +703,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -721,7 +721,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -742,7 +742,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -763,7 +763,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -787,7 +787,7 @@
|
|||
b
|
||||
*/
|
||||
c
|
||||
)
|
||||
)
|
||||
f
|
||||
h
|
||||
;
|
||||
|
@ -802,7 +802,7 @@
|
|||
b
|
||||
*/
|
||||
c
|
||||
)
|
||||
)
|
||||
f
|
||||
h
|
||||
/*
|
||||
|
@ -820,7 +820,7 @@
|
|||
b
|
||||
*/
|
||||
c
|
||||
)
|
||||
)
|
||||
f
|
||||
/*
|
||||
g
|
||||
|
@ -838,7 +838,7 @@
|
|||
b
|
||||
*/
|
||||
c
|
||||
)
|
||||
)
|
||||
f
|
||||
/*
|
||||
g
|
||||
|
@ -859,7 +859,7 @@
|
|||
b
|
||||
*/
|
||||
c
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -877,7 +877,7 @@
|
|||
b
|
||||
*/
|
||||
c
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -898,7 +898,7 @@
|
|||
b
|
||||
*/
|
||||
c
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -919,7 +919,7 @@
|
|||
b
|
||||
*/
|
||||
c
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -946,7 +946,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
f
|
||||
h
|
||||
;
|
||||
|
@ -964,7 +964,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
f
|
||||
h
|
||||
/*
|
||||
|
@ -985,7 +985,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
f
|
||||
/*
|
||||
g
|
||||
|
@ -1006,7 +1006,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
f
|
||||
/*
|
||||
g
|
||||
|
@ -1030,7 +1030,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -1051,7 +1051,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -1075,7 +1075,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
@ -1099,7 +1099,7 @@
|
|||
/*
|
||||
d
|
||||
*/
|
||||
)
|
||||
)
|
||||
/*
|
||||
e
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue