Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap 1.0 #29

Closed
37 tasks done
lahmatiy opened this issue Oct 26, 2016 · 0 comments
Closed
37 tasks done

Roadmap 1.0 #29

lahmatiy opened this issue Oct 26, 2016 · 0 comments
Assignees
Milestone

Comments

@lahmatiy
Copy link
Member

lahmatiy commented Oct 26, 2016

  • move !important from Value to Declaration
  • Braces -> Parentheses
  • Ruleset -> Rule
  • drop Unknown
  • replace Identifier -> Type/Universal selector
  • FunctionalPseudo -> PseudoClass
  • fix attribute name parsing
  • add Brackets since CSS Grid Layout introduces it
  • at-rule inside block (Support for mixed rules and declarations inside at-rules #24)
  • of clause for nth-child/nth-last-child e.g. nth-child(.. of <Selector>)
  • check number is integer for
    • UnicodeRange
    • Hash
    • Nth (an+b)
  • natural traversal order for walk() (current behaviour should be implemented as walkUp())
  • :matches() (Support for CSS Selectors Level 4 #28)
  • :has()
  • ::slotted()
  • rename sequence -> children for node types
  • end line/column in node.info
  • rename Selector -> SelectorList, SimpleSelector -> Selector
  • fix Block positions (should include {})
  • fix positions for Selector/SimpleSelector to not include ws
  • rename StyleSheet inside at-rule to Block (when at-rule will be allowed inside block)
  • add loc to Nth
  • use balanced raw consumer for custom properties
  • DeclarationList instead of Block and add declarationList context (for <element style=""> context)
  • Atrule.expression should be null when no expression
  • split parser into modules (one per node type)
  • custom parsers for well-known at-rule expressions
  • add Selector suffix for Id, Class, Attribute, Type, PseudoClass and PseudoElement
  • options to parse Value, Selector and AtruleExpression as balanced Raw (parseValue, parseSelector, parseAtruleExpression)
  • option to parse custom property value/fallback as regular value (parseCustomProperty)
  • drop Progid
  • rename Space to WhiteSpace
  • rename Hash to HexColor
  • parse unknown parts of Value as balanced Raw

Under consideration:

  • Percentage -> Dimension
  • multiple Value (no parts comma operator, but list of Value)

    more convenient to work with Value in current form

  • explicit descendant combinator >>

    until any browser support

  • Column combinator ||

    until any browser support

  • convert name node to property in Attribute
    • q: where to store location?
  • namespaces for Type/Universal/Attribute (special case for :matches)
    • q: should we need store it separately?
  • rename loc -> meta (to store formatting info too)
  • rename Block -> {}-block, Parenthesis -> ()-block, Brackets -> []-block according to CSS Syntax Module Level 3 that's for tokens not ast node
  • should SelectorList to be omitted when have a single selector?
  • replace Rule.block to Rule.children and Atrule.block to Atrule.children

    bad idea, since block includes {} now

  • rename positions parse option to loc
  • store formatting info somehow
  • allow percent in @Keyframes selectors only (from/to/percent) should restrict by lexer not parser
  • better name for parse* options looks ok for now
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant