feat: styles
This commit is contained in:
@@ -30,20 +30,20 @@ from uframe.themes import BUILTIN_THEMES
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
register_keyword("page", node_class=Page, section="Layout",
|
||||
detail='page "Title" 64', snippet='page "${title}" ${width:64}',
|
||||
detail='page "Title" 64', snippet='page "${1:Title}" ${2:64}',
|
||||
is_container=True)
|
||||
|
||||
register_keyword("box", node_class=Box, section="Layout",
|
||||
detail='box light "Title"', snippet='box ${weight:light} "${title}"',
|
||||
detail='box light "Title"', snippet='box ${1:light} "${2:Title}"',
|
||||
highlight_values=["light", "heavy", "double", "rounded"],
|
||||
is_container=True)
|
||||
|
||||
register_keyword("row", node_class=Row, section="Layout",
|
||||
detail="row [gap]", snippet="row ${gap:2}",
|
||||
detail="row [gap]", snippet="row ${1:2}",
|
||||
is_container=True)
|
||||
|
||||
register_keyword("col", node_class=Col, section="Layout",
|
||||
detail="col [width]", snippet="col ${width}",
|
||||
detail="col [width]", snippet="col ${1}",
|
||||
is_container=True)
|
||||
|
||||
register_keyword("spacer", node_class=Spacer, section="Layout",
|
||||
@@ -51,7 +51,7 @@ register_keyword("spacer", node_class=Spacer, section="Layout",
|
||||
is_leaf=True)
|
||||
|
||||
register_keyword("pad", node_class=Pad, section="Layout",
|
||||
detail="pad t r b l", snippet="pad ${top:1} ${right:1} ${bottom:1} ${left:1}",
|
||||
detail="pad t r b l", snippet="pad ${1:1} ${2:1} ${3:1} ${4:1}",
|
||||
is_container=True)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -59,28 +59,28 @@ register_keyword("pad", node_class=Pad, section="Layout",
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
register_keyword("heading", node_class=Heading, section="Content",
|
||||
detail='heading 1 "Text"', snippet='heading ${level:1} "${text}"',
|
||||
detail='heading 1 "Text"', snippet='heading ${1:1} "${2:Text}"',
|
||||
is_leaf=True)
|
||||
|
||||
register_keyword("text", node_class=Text, section="Content",
|
||||
detail='text "Content"', snippet='text "${content}"',
|
||||
detail='text "Content"', snippet='text "${1:Content}"',
|
||||
is_leaf=True)
|
||||
|
||||
register_keyword("label", node_class=Label, section="Content",
|
||||
detail='label "Key" "Value"', snippet='label "${key}" "${value}"',
|
||||
detail='label "Key" "Value"', snippet='label "${1:Key}" "${2:Value}"',
|
||||
is_leaf=True)
|
||||
|
||||
register_keyword("divider", node_class=Divider, section="Content",
|
||||
detail="divider heavy", snippet="divider ${style:light}",
|
||||
detail="divider heavy", snippet="divider ${1:light}",
|
||||
highlight_values=["light", "heavy", "double", "dash", "dot"],
|
||||
is_leaf=True)
|
||||
|
||||
register_keyword("link", node_class=Link, section="Content",
|
||||
detail='link "Text" "/path.mu"', snippet='link "${display}" "${dest}"',
|
||||
detail='link "Text" "/path.mu"', snippet='link "${1:Text}" "${2:/page/dest.mu}"',
|
||||
is_leaf=True)
|
||||
|
||||
register_keyword("list", node_class=ListNode, section="Content",
|
||||
detail="list bullet", snippet='list ${style:bullet}\n item "${entry}"',
|
||||
detail="list bullet", snippet='list ${1:bullet}\n item "${2:Entry}"',
|
||||
highlight_values=["bullet", "dash", "number", "arrow"],
|
||||
is_container=True)
|
||||
|
||||
@@ -94,17 +94,17 @@ register_keyword("item", node_class=ListItem, section="",
|
||||
|
||||
register_keyword("gauge", node_class=Gauge, section="Data",
|
||||
detail="gauge label val max width",
|
||||
snippet='gauge "${label}" ${value} ${max:100} ${width:28} warn=${warn:75} crit=${crit:90}',
|
||||
snippet='gauge "${1:Label}" ${2:0} ${3:100} ${4:28} warn=${5:75} crit=${6:90}',
|
||||
is_leaf=True)
|
||||
|
||||
register_keyword("sparkline", node_class=Sparkline, section="Data",
|
||||
detail="sparkline label values width",
|
||||
snippet='sparkline "${label}" "${values}" ${width:20}',
|
||||
snippet='sparkline "${1:Label}" "${2:1,2,3,4}" ${3:20}',
|
||||
is_leaf=True)
|
||||
|
||||
register_keyword("status", node_class=Status, section="Data",
|
||||
detail="status label state",
|
||||
snippet='status "${label}" ${state:online}',
|
||||
snippet='status "${1:Label}" ${2:online}',
|
||||
highlight_values=["online", "offline", "degraded", "unknown", "alert"],
|
||||
is_leaf=True)
|
||||
|
||||
@@ -121,18 +121,18 @@ register_keyword("columns", section="",
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
register_keyword("hnav", node_class=HNav, section="Layout",
|
||||
detail='hnav bar', snippet='hnav ${style:bar}\n item "${label}" "${dest}" active',
|
||||
detail='hnav bar', snippet='hnav ${1:bar}\n item "${2:Label}" "${3:/page/dest.mu}" active',
|
||||
highlight_values=["bar", "tabs", "pills", "breadcrumb", "underline"],
|
||||
is_container=True)
|
||||
|
||||
register_keyword("vnav", node_class=VNav, section="Layout",
|
||||
detail='vnav list', snippet='vnav ${style:list}\n item "${label}" "${dest}"',
|
||||
detail='vnav list', snippet='vnav ${1:list}\n item "${2:Label}" "${3:/page/dest.mu}"',
|
||||
highlight_values=["list", "boxed", "tree", "sidebar", "minimal"],
|
||||
is_container=True)
|
||||
|
||||
register_keyword("image", node_class=ImageNode, section="Content",
|
||||
detail='image "path.png" braille 30',
|
||||
snippet='image "${path}" ${mode:braille} ${width:30}',
|
||||
snippet='image "${1:path.png}" ${2:braille} ${3:30}',
|
||||
highlight_values=["braille", "block", "ascii", "halfblock"],
|
||||
is_leaf=True)
|
||||
|
||||
@@ -151,7 +151,7 @@ register_keyword("caption", section="",
|
||||
|
||||
register_keyword("bigtitle", node_class=BigTitle, section="Content",
|
||||
detail='bigtitle "TEXT" block',
|
||||
snippet='bigtitle "${text}" ${font:block}',
|
||||
snippet='bigtitle "${1:TEXT}" ${2:block}',
|
||||
highlight_values=["block", "thin", "pixel"],
|
||||
is_leaf=True)
|
||||
|
||||
@@ -160,12 +160,12 @@ register_keyword("bigtitle", node_class=BigTitle, section="Content",
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
register_keyword("align", section="Style",
|
||||
detail="align center", snippet="align ${align:center}",
|
||||
detail="align center", snippet="align ${1:center}",
|
||||
highlight_values=["left", "center", "right"],
|
||||
is_style_directive=True)
|
||||
|
||||
register_keyword("color", section="Style",
|
||||
detail="color hex", snippet="color ${hex}",
|
||||
detail="color hex", snippet="color ${1:0cf}",
|
||||
is_style_directive=True)
|
||||
|
||||
register_keyword("bg", section="Style",
|
||||
@@ -189,32 +189,32 @@ register_keyword("underline", section="Style",
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
register_keyword("form", node_class=Form, section="Form",
|
||||
detail='form "name"', snippet='form "${name}"',
|
||||
detail='form "name"', snippet='form "${1:name}"',
|
||||
is_container=True)
|
||||
|
||||
register_keyword("field", node_class=Field, section="Form",
|
||||
detail='field "name" 24 "placeholder"',
|
||||
snippet='field "${name}" ${width:24} "${placeholder}"',
|
||||
snippet='field "${1:name}" ${2:24} "${3:placeholder}"',
|
||||
is_leaf=True)
|
||||
|
||||
register_keyword("password", node_class=Password, section="Form",
|
||||
detail='password "name" 24 "placeholder"',
|
||||
snippet='password "${name}" ${width:24} "${placeholder}"',
|
||||
snippet='password "${1:name}" ${2:24} "${3:placeholder}"',
|
||||
is_leaf=True)
|
||||
|
||||
register_keyword("radio", node_class=Radio, section="Form",
|
||||
detail='radio "group" "A" | "B" | "C"',
|
||||
snippet='radio "${group}" "${opt1}" | "${opt2}"',
|
||||
snippet='radio "${1:group}" "${2:Option A}" | "${3:Option B}"',
|
||||
is_leaf=True)
|
||||
|
||||
register_keyword("checkbox", node_class=Checkbox, section="Form",
|
||||
detail='checkbox "name" "Label"',
|
||||
snippet='checkbox "${name}" "${label}"',
|
||||
snippet='checkbox "${1:name}" "${2:Label}"',
|
||||
is_leaf=True)
|
||||
|
||||
register_keyword("button", node_class=FormButton, section="Form",
|
||||
detail='button "Label" "/action"',
|
||||
snippet='button "${label}" "${dest}"',
|
||||
snippet='button "${1:Label}" "${2:/page/action.mu}"',
|
||||
is_leaf=True)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -222,17 +222,17 @@ register_keyword("button", node_class=FormButton, section="Form",
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
register_keyword("let", node_class=Let, section="Dynamic",
|
||||
detail='let name = "value"', snippet='let ${name} = "${value}"',
|
||||
detail='let name = "value"', snippet='let ${1:name} = "${2:value}"',
|
||||
is_metadata=True)
|
||||
|
||||
register_keyword("source", node_class=Source, section="Dynamic",
|
||||
detail='source name : shell "cmd"',
|
||||
snippet='source ${name} : shell "${command}"',
|
||||
snippet='source ${1:name} : shell "${2:command}"',
|
||||
highlight_values=["shell", "file", "json", "python", "rns", "param"],
|
||||
is_metadata=True)
|
||||
|
||||
register_keyword("if", node_class=IfBlock, section="Dynamic",
|
||||
detail="if $var > threshold", snippet="if ${condition}",
|
||||
detail="if $var > threshold", snippet="if ${1:condition}",
|
||||
is_container=True)
|
||||
|
||||
register_keyword("elif", section="Dynamic",
|
||||
@@ -242,20 +242,20 @@ register_keyword("else", section="Dynamic",
|
||||
detail="", snippet="")
|
||||
|
||||
register_keyword("for", node_class=ForLoop, section="Dynamic",
|
||||
detail="for item in $list", snippet='for ${var} in ${iterable}',
|
||||
detail="for item in $list", snippet='for ${1:item} in ${2:\\$list}',
|
||||
is_container=True)
|
||||
|
||||
register_keyword("cache", node_class=CacheControl, section="Dynamic",
|
||||
detail="cache 0", snippet="cache ${seconds:0}",
|
||||
detail="cache 0", snippet="cache ${1:0}",
|
||||
is_metadata=True)
|
||||
|
||||
register_keyword("on_submit", node_class=OnSubmit, section="Dynamic",
|
||||
detail='on_submit "form"', snippet='on_submit "${form_name}"',
|
||||
detail='on_submit "form"', snippet='on_submit "${1:form_name}"',
|
||||
is_container=True)
|
||||
|
||||
register_keyword("state", node_class=StateDecl, section="Dynamic",
|
||||
detail='state "name" "/path.json"',
|
||||
snippet='state "${name}" "${path}"',
|
||||
snippet='state "${1:name}" "${2:/tmp/state.json}"',
|
||||
is_metadata=True)
|
||||
|
||||
register_keyword("set", section="Dynamic", detail="", snippet="")
|
||||
|
||||
Reference in New Issue
Block a user