css/cssparser

Search:
Group by:

Types

CombinatorType = enum
  ctNone, ctDescendant, ctChild, ctNextSibling, ctSubsequentSibling
ComplexSelector = object
  specificity*: uint
  pseudo*: PseudoElement
CSSAnB = tuple[A, B: int32]
CSSAngleType = range[catDeg .. catTurn]
CSSAtRule = ref object
  name*: CSSAtRuleType
  hasBlock*: bool
  prelude*: seq[CSSToken]
  oblock*: seq[CSSToken]
CSSAtRuleType = enum
  cartUnknown = "-cha-unknown", cartImport = "import", cartMedia = "media",
  cartLayer = "layer"
CSSDeclaration = object
  f*: CSSImportantFlag
  hasVar*: bool
  case t*: CSSDeclarationType
  of cdtProperty:
    p*: CSSWidePropertyType
  of cdtVariable:
    v*: CAtom
  of cdtNestedRule:
    r*: CSSQualifiedRule
  value*: seq[CSSToken]
CSSDeclarationType = enum
  cdtProperty, cdtVariable, cdtNestedRule
CSSDimensionType = enum
  cdtUnknown = "", cdtN = "n", cdtNDash = "n-", cuAuto = "", cuCap = "cap",
  cuCh = "ch", cuCm = "cm", cuDvb = "dvb", cuDvh = "dvh", cuDvi = "dvi",
  cuDvmax = "dvmax", cuDvmin = "dvmin", cuDvw = "dvw", cuEm = "em", cuEx = "ex",
  cuIc = "ic", cuIn = "in", cuLh = "lh", cuLvmax = "lvmax", cuLvmin = "lvmin",
  cuMm = "mm", cuPc = "pc", cuPt = "pt", cuPx = "px", cuRcap = "rcap",
  cuRch = "rch", cuRem = "rem", cuRex = "rex", cuRic = "ric", cuRlh = "rlh",
  cuSvmax = "svmax", cuSvmin = "svmin", cuVb = "vb", cuVh = "vh", cuVi = "vi",
  cuVmax = "vmax", cuVmin = "vmin", cuVw = "vw", catDeg = "deg",
  catGrad = "grad", catRad = "rad", catTurn = "turn"
CSSFunctionType = enum
  cftUnknown = "-cha-unknown", cftCalc = "calc", cftChaAnsi = "-cha-ansi",
  cftCounter = "counter", cftHost = "host", cftHsl = "hsl", cftHsla = "hsla",
  cftIs = "is", cftLang = "lang", cftNot = "not", cftNthChild = "nth-child",
  cftNthLastChild = "nth-last-child", cftRgb = "rgb", cftRgba = "rgba",
  cftSrc = "src", cftUrl = "url", cftVar = "var", cftWhere = "where",
  cftLayer = "layer"
CSSImportantFlag = enum
  cifNormal, cifImportant
CSSNthChild = object
  anb*: CSSAnB
  ofsels*: SelectorList
CSSParser = object
  toks*: seq[CSSToken]
  i*: int
CSSPropertyType = enum
  cptBgcolorIsCanvas = "-cha-bgcolor-is-canvas",
  cptBorderBottomStyle = "border-bottom-style",
  cptBorderCollapse = "border-collapse",
  cptBorderLeftStyle = "border-left-style",
  cptBorderRightStyle = "border-right-style",
  cptBorderTopStyle = "border-top-style", cptBoxSizing = "box-sizing",
  cptCaptionSide = "caption-side", cptClear = "clear", cptDisplay = "display",
  cptFlexDirection = "flex-direction", cptFlexWrap = "flex-wrap",
  cptFloat = "float", cptFontStyle = "font-style",
  cptListStylePosition = "list-style-position",
  cptListStyleType = "list-style-type", cptOverflowX = "overflow-x",
  cptOverflowY = "overflow-y", cptPosition = "position",
  cptTextAlign = "text-align", cptTextDecoration = "text-decoration",
  cptTextTransform = "text-transform", cptVerticalAlign = "vertical-align",
  cptVisibility = "visibility", cptWhiteSpace = "white-space",
  cptWordBreak = "word-break", cptBorderBottomWidth = "border-bottom-width",
  cptBorderLeftWidth = "border-left-width",
  cptBorderRightWidth = "border-right-width",
  cptBorderTopWidth = "border-top-width", cptChaColspan = "-cha-colspan",
  cptChaRowspan = "-cha-rowspan", cptFlexGrow = "flex-grow",
  cptFlexShrink = "flex-shrink", cptFontWeight = "font-weight",
  cptInputIntrinsicSize = "-cha-input-intrinsic-size", cptOpacity = "opacity",
  cptBackgroundColor = "background-color",
  cptBorderBottomColor = "border-bottom-color",
  cptBorderLeftColor = "border-left-color",
  cptBorderRightColor = "border-right-color",
  cptBorderSpacingBlock = "-cha-border-spacing-block",
  cptBorderSpacingInline = "-cha-border-spacing-inline",
  cptBorderTopColor = "border-top-color", cptBottom = "bottom",
  cptColor = "color", cptFlexBasis = "flex-basis", cptFontSize = "font-size",
  cptHeight = "height", cptLeft = "left", cptMarginBottom = "margin-bottom",
  cptMarginLeft = "margin-left", cptMarginRight = "margin-right",
  cptMarginTop = "margin-top", cptMaxHeight = "max-height",
  cptMaxWidth = "max-width", cptMinHeight = "min-height",
  cptMinWidth = "min-width", cptPaddingBottom = "padding-bottom",
  cptPaddingLeft = "padding-left", cptPaddingRight = "padding-right",
  cptPaddingTop = "padding-top", cptRight = "right", cptTop = "top",
  cptVerticalAlignLength = "-cha-vertical-align-length", cptWidth = "width",
  cptZIndex = "z-index", cptBackgroundImage = "background-image",
  cptContent = "content", cptCounterReset = "counter-reset",
  cptCounterIncrement = "counter-increment", cptCounterSet = "counter-set",
  cptQuotes = "quotes"
CSSQualifiedRule = ref object
  sels*: SelectorList
  decls*: seq[CSSDeclaration]
CSSRule = object
  case t*: CSSRuleType
  of crtAt:
    at*: CSSAtRule
  of crtQualified:
    qualified*: CSSQualifiedRule
CSSRuleType = enum
  crtAt, crtQualified
CSSShorthandType = enum
  cstNone = "", cstAll = "all", cstMargin = "margin", cstPadding = "padding",
  cstBorderStyle = "border-style", cstBorderColor = "border-color",
  cstBorderWidth = "border-width", cstBackground = "background",
  cstListStyle = "list-style", cstFlex = "flex", cstFlexFlow = "flex-flow",
  cstOverflow = "overflow", cstVerticalAlign = "vertical-align",
  cstBorderSpacing = "border-spacing", cstBorderBottom = "border-bottom",
  cstBorderLeft = "border-left", cstBorderRight = "border-right",
  cstBorderTop = "border-top", cstBorder = "border"
CSSSimpleBlock = ref object
  value*: seq[CSSToken]
CSSToken = object
  t*: CSSTokenType
  flags*: set[CSSTokenFlag]
  dt*: CSSDimensionType
  s*: string
CSSTokenType = enum
  cttIdent, cttFunction, cttAtKeyword, cttHash, cttString, cttBadString, cttUrl,
  cttBadUrl, cttDelim, cttNumber, cttPercentage, cttDimension, cttCdo = "<!--",
  cttCdc = "-->", cttWhitespace, cttBang = "!", cttDollar = "$", cttAnd = "&",
  cttLparen = "(", cttRparen = ")", cttStar = "*", cttPlus = "+",
  cttComma = ",", cttMinus = "-", cttDot = ".", cttSlash = "/", cttColon = ":",
  cttSemicolon = ";", cttLt = "<", cttEquals = "=", cttGt = ">",
  cttRbracket = "[", cttLbracket = "]", cttCaret = "^", cttLbrace = "{",
  cttPipe = "|", cttRbrace = "}", cttTilde = "~"
CSSUnit = range[cuAuto .. cuVw]
HostSelector = ref object
  specificity*: uint
  csel*: CompoundSelector
PseudoClass = enum
  pcFirstChild = "first-child", pcLastChild = "last-child",
  pcOnlyChild = "only-child", pcHover = "hover", pcRoot = "root",
  pcChecked = "checked", pcFocus = "focus", pcLink = "link",
  pcVisited = "visited", pcTarget = "target", pcDisabled = "disabled",
  pcHost = "host", pcDefined = "defined", pcFirstNode = "-cha-first-node",
  pcLastNode = "-cha-last-node", pcBorderNonzero = "-cha-border-nonzero"
PseudoElement = enum
  peNone = "-cha-none", peBefore = "before", peLinkHint = "-cha-link-hint",
  peLinkMarker = "-cha-link-marker", peMarker = "marker",
  peBackdrop = "backdrop", peAfter = "after"
RelationFlag = enum
  rfNone, rfI, rfS
RelationType = enum
  rtExists, rtEquals, rtToken, rtBeginDash, rtStartsWith, rtEndsWith, rtContains
Selector = ref object
  case t*: SelectorType
  of stType:
    tag*: CAtom
  of stId:
    id*: CAtom
  of stClass:
    class*: CAtom
  of stAttr:
    attr*: CAtom
    rel*: SelectorRelation
    value*: string
  of stUniversal:
    nil
  of stPseudoClass:
    pc*: PseudoClass
  of stIs, stWhere, stNot:
    fsels*: SelectorList
  of stHost:
    host*: HostSelector
  of stLang:
    lang*: string
  of stNthChild, stNthLastChild:
    nthChild*: CSSNthChild
SelectorType = enum
  stType, stId, stAttr, stClass, stUniversal, stPseudoClass, stIs = "is",
  stNot = "not", stWhere = "where", stLang = "lang", stNthChild = "nth-child",
  stNthLastChild = "nth-last-child", stHost = "host"

Consts

FirstHWordPropType = cptBorderBottomWidth
FirstObjPropType = cptBackgroundImage
FirstWordPropType = cptBackgroundColor
LastBitPropType = cptWordBreak
LastHWordPropType = cptOpacity
LastWordPropType = cptZIndex

Procs

proc `$`(c: CSSAtRule): string {....raises: [], tags: [], forbids: [].}
proc `$`(c: CSSQualifiedRule): string {....raises: [], tags: [RootEffect],
                                        forbids: [].}
proc `$`(c: CSSRule): string {....raises: [], tags: [RootEffect], forbids: [].}
proc `$`(c: CSSSimpleBlock): string {....raises: [], tags: [], forbids: [].}
proc `$`(cxsel: ComplexSelector): string {....raises: [], tags: [RootEffect],
    forbids: [].}
proc `$`(decl: CSSDeclaration): string {....raises: [], tags: [RootEffect],
    forbids: [].}
proc `$`(nthChild: CSSNthChild): string {....raises: [], tags: [RootEffect],
    forbids: [].}
proc `$`(p: CSSWidePropertyType): string {....raises: [], tags: [], forbids: [].}
proc `$`(sel: Selector): string {....raises: [], tags: [RootEffect], forbids: [].}
proc `$`(sels: CompoundSelector): string {....raises: [], tags: [RootEffect],
    forbids: [].}
proc `$`(slist: SelectorList): string {....raises: [], tags: [RootEffect],
                                        forbids: [].}
proc `$`(tok: CSSToken): string {....raises: [], tags: [], forbids: [].}
proc `[]`(cxsel: ComplexSelector; i: BackwardsIndex): lent CompoundSelector {.
    inline, ...raises: [], tags: [], forbids: [].}
proc `[]`(cxsel: ComplexSelector; i: int): lent CompoundSelector {.inline,
    ...raises: [], tags: [], forbids: [].}
proc `[]`(cxsel: var ComplexSelector; i: BackwardsIndex): var CompoundSelector {.
    inline, ...raises: [], tags: [], forbids: [].}
proc addUntil(ctx: var CSSParser; tt: CSSTokenType; toks: var seq[CSSToken]): Opt[
    CSSToken] {....raises: [], tags: [], forbids: [].}
proc anyPropertyType(s: string): Opt[CSSWidePropertyType] {....raises: [],
    tags: [], forbids: [].}
proc checkFunctionEnd(ctx: var CSSParser): Opt[void] {....raises: [], tags: [],
    forbids: [].}
proc consume(ctx: var CSSParser): lent CSSToken {....raises: [], tags: [],
    forbids: [].}
proc consumeImports(ctx: var CSSParser): seq[CSSAtRule] {....raises: [],
    tags: [RootEffect], forbids: [].}
proc consumeInt(ctx: var CSSParser): Opt[int32] {....raises: [], tags: [],
    forbids: [].}
proc cssDimensionToken(n: float32; dt: CSSDimensionType): CSSToken {....raises: [],
    tags: [], forbids: [].}
proc cssNumberToken(n: float32): CSSToken {....raises: [], tags: [], forbids: [].}
proc cssPercentageToken(n: float32; flags: set[CSSTokenFlag] = {}): CSSToken {.
    ...raises: [], tags: [], forbids: [].}
proc has(ctx: var CSSParser): bool {....raises: [], tags: [], forbids: [].}
proc initCSSDeclaration(name: string): Opt[CSSDeclaration] {....raises: [],
    tags: [], forbids: [].}
proc initCSSParser(iq: string): CSSParser {....raises: [], tags: [], forbids: [].}
proc initCSSParser(toks: openArray[CSSToken]): CSSParser {....raises: [], tags: [],
    forbids: [].}
proc initCSSParserSink(toks: var seq[CSSToken]): CSSParser {....raises: [],
    tags: [], forbids: [].}
proc len(cxsel: ComplexSelector): int {.inline, ...raises: [], tags: [],
                                        forbids: [].}
proc name(decl: CSSDeclaration): string {....raises: [], tags: [], forbids: [].}
proc num(tok: CSSToken): float32 {.inline, ...raises: [], tags: [], forbids: [].}
proc parseComponentValues(iq: string): seq[CSSToken] {....raises: [], tags: [],
    forbids: [].}
proc parseDeclarations(iq: string): seq[CSSDeclaration] {....raises: [],
    tags: [RootEffect], forbids: [].}
proc parseSelectors(ibuf: string): SelectorList {....raises: [],
    tags: [RootEffect], forbids: [].}
proc peekFunction(ctx: var CSSParser; ft: CSSFunctionType): bool {....raises: [],
    tags: [], forbids: [].}
proc peekIdentNoCase(ctx: var CSSParser; s: string): bool {....raises: [],
    tags: [], forbids: [].}
proc peekToken(ctx: var CSSParser): lent CSSToken {....raises: [], tags: [],
    forbids: [].}
proc peekTokenType(ctx: var CSSParser): CSSTokenType {....raises: [], tags: [],
    forbids: [].}
proc propertyType(s: string): Opt[CSSPropertyType] {....raises: [], tags: [],
    forbids: [].}
proc seek(ctx: var CSSParser) {....raises: [], tags: [RootEffect], forbids: [].}
proc seekToken(ctx: var CSSParser) {....raises: [], tags: [], forbids: [].}
proc shorthandType(s: string): CSSShorthandType {....raises: [], tags: [],
    forbids: [].}
proc skipBlanks(ctx: var CSSParser) {....raises: [], tags: [], forbids: [].}
proc skipBlanksCheckDone(ctx: var CSSParser): Opt[void] {....raises: [], tags: [],
    forbids: [].}
proc skipBlanksCheckHas(ctx: var CSSParser): Opt[void] {....raises: [], tags: [],
    forbids: [].}
proc skipFunction(ctx: var CSSParser) {....raises: [], tags: [RootEffect],
                                        forbids: [].}
proc toi(tok: CSSToken): int32 {.inline, ...raises: [], tags: [], forbids: [].}
proc wide(p: CSSPropertyType): CSSWidePropertyType {....raises: [], tags: [],
    forbids: [].}

Iterators

iterator items(csel: CompoundSelector): Selector {.inline, ...raises: [], tags: [],
    forbids: [].}
iterator items(cxsel: ComplexSelector): lent CompoundSelector {.inline,
    ...raises: [], tags: [], forbids: [].}
iterator parseListOfRules(ctx: var CSSParser; topLevel: bool): CSSRule {.inline,
    ...raises: [], tags: [RootEffect], forbids: [].}
iterator ritems(cxsel: ComplexSelector): lent CompoundSelector {.inline,
    ...raises: [], tags: [], forbids: [].}

Templates

template ft(tok: CSSToken): CSSFunctionType {..}