Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit1a50f58

Browse files
committed
inherit Selectors::ComplexSelector and ::Combinator from Node
and improve their formatting
1 parente942b9e commit1a50f58

File tree

3 files changed

+73
-2
lines changed

3 files changed

+73
-2
lines changed

‎lib/syntax_tree/css/pretty_print.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,28 @@ def visit_wqname(node)
421421
end
422422
end
423423

424+
# Visit a Selectors::Combinator node.
425+
defvisit_combinator(node)
426+
token("combinator")do
427+
q.breakable
428+
q.pp(node.value)
429+
end
430+
end
431+
432+
# Visit a Selectors::ComplexSelector node.
433+
defvisit_complex_selector(node)
434+
token("complex-selector")do
435+
q.breakable
436+
q.pp(node.left)
437+
438+
q.breakable
439+
q.pp(node.combinator)
440+
441+
q.breakable
442+
q.pp(node.right)
443+
end
444+
end
445+
424446
# Visit a Selectors::CompoundSelector node.
425447
defvisit_compound_selector(node)
426448
token("compound-selector")do

‎lib/syntax_tree/css/selectors.rb

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,51 @@ def deconstruct_keys(keys)
7171
end
7272
end
7373

74-
Combinator=Struct.new(:value,keyword_init:true)
75-
ComplexSelector=Struct.new(:left,:combinator,:right,keyword_init:true)
74+
classCombinator <Node
75+
attr_reader:value
76+
77+
definitialize(value:)
78+
@value=value
79+
end
80+
81+
defaccept(visitor)
82+
visitor.visit_combinator(self)
83+
end
84+
85+
defchild_nodes
86+
[value]
87+
end
88+
89+
aliasdeconstructchild_nodes
90+
91+
defdeconstruct_keys(keys)
92+
{value:value}
93+
end
94+
end
95+
96+
classComplexSelector <Node
97+
attr_reader:left,:combinator,:right
98+
99+
definitialize(left:,combinator:,right:)
100+
@left=left
101+
@combinator=combinator
102+
@right=right
103+
end
104+
105+
defaccept(visitor)
106+
visitor.visit_complex_selector(self)
107+
end
108+
109+
defchild_nodes
110+
[left,combinator,right]
111+
end
112+
113+
aliasdeconstructchild_nodes
114+
115+
defdeconstruct_keys(keys)
116+
{left:left,combinator:combinator,right:right}
117+
end
118+
end
76119

77120
classCompoundSelector <Node
78121
attr_reader:type,:subclasses,:pseudo_elements

‎lib/syntax_tree/css/visitor.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,12 @@ def visit_child_nodes(node)
132132
# Visit a Selectors::ClassSelector node.
133133
aliasvisit_class_selectorvisit_child_nodes
134134

135+
# Visit a Selectors::Combinator node.
136+
aliasvisit_combinatorvisit_child_nodes
137+
138+
# Visit a Selectors::ComplexSelector node.
139+
aliasvisit_complex_selectorvisit_child_nodes
140+
135141
# Visit a Selectors::CompoundSelector node.
136142
aliasvisit_compound_selectorvisit_child_nodes
137143

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp