@ css/ 本地语
用于XCSS解析,分析和范围CSS生成的原生节点.js绑定. 消费者不需要安装Rust或Sass;平台包提供二进制.
语言服务还可以对照 XCSS 类检查 TypeScript 消费者
和变种组。 启用它 setTypescriptProject('tsconfig.json') 财务报告和审定财务报表
与项目相关的TS/配置/依赖源 setTypescriptFile。 。 。 .
读取诊断 document(path)见
项目投入合同。 。 。 .
嵌入式 tsrs 检查器和 TypeScript 标准库由
包含 TSRS-LICENSE 财务报告和审定财务报表 TSRS-NOTICE 文档.
import { Compiler, inspect } from '@cross-css/native'
const compiler = new Compiler()
compiler.setFile('button.xcss', 1, '.button { padding: --space * 2; }')
const result = compiler.compile('button.xcss')
if (!result.success) throw new Error(JSON.stringify(result.diagnostics))
const artifact = result.artifacts.find(item => item.moduleId === 'button.xcss')
console.log(artifact.css, artifact.classes, artifact.sourceMap)
使用规范化,与项目相适应的模块ID并增加修改. 文件更新
复用其他剖面树. removeFile(id, revision) 保留删除修改
因此 Stale 更新无法重现文件 。 主机适配器加载文件和解析
导入; 本地编译器不执行文件系统访问.
inspect(source).imports 返回注入/组合规格。 供应
setResolution(importer, specifier, targetOrNull) 每一个。 所有工程文件
应装入以支持全球独特的注射分辨率.
compile(entry, minify?, bundle?) 回报成功 文物 诊断.
默认的文物是每个模块的 CSS 有类映射,自定义属性
名称、原始来源地图、本地导入、组成样式表依赖性、,
和源的依赖。 Bundling只结合了组成依赖和
将其资产重新定位为条目。 注入依赖性有助于定义
只有这个 诊断具有稳定的编码、严重程度、模块ID、字节间距、相关
地点和单机UTF-16线/列位置。 错误不返回文物 .
index.d.ts 生成自土建时的 assi-r 绑定元数据.
编辑查询
0.3.0版本也出口 LanguageService 财务报告和审定财务报表 languageServiceCapabilities()。 。 。 .
服务接受与模拟更新相同的版本 Compiler,带有文件
作为身份支持的URI. document(uri) 返回诊断和语义
标志; definition, (中文(简体) ), references,以及 hover 接受基于零的UTF-16位置.
这些API不编译CSS或读取文件. 见仓库的
语文服务合同。 。 。 .
CSS 声明验证输入(API v2, 原生0.3.2)
LanguageService.cssDeclarations(uri) 返回时 { revision, declarations } 从
与其他编辑器查询相同的分析快照,而不汇编 CSS.
每一份宣言载有: property, (中文(简体) ), propertyRange, (中文(简体) ), valueRange, (中文(简体) ), context, (中文(简体) ),
checkable,并订购 parts。区域是零基UTF-16位置
原出处. 上下文是样式表、规则、注入、键框或规则.
每个部分包含一个 range 或为文字 text 或已解决 valueType· ;
另一字段则不存在。 字面空白、 空白、 注释和 CSS 函数
语法保留。 已解析参数并声明自定义属性引用
使用现有分析器的类型,从不初始化或呼叫站点参数.
具有已知分析结果类型的算术作为单打部分被曝光.
未知的参考文献、本地 var ()、 恢复区域、 过渡组和其他 不支持的转换使值无法检查; 属性名称保留 可用。 关于无法核实的申报的部分不完整,不得 验证。 中央统计局指令、可变登记和直接申报 规则机构不包括在内。 嵌入规则的有条件块继承其声明上下文. 守规矩的规矩 符合资格。 消费者可取代具有代表性的CSS值来取而代之; 这是一个广泛的兼容性检查,而不是该类型所有值的证明. 对任何文件或分辨率的更改使快照修订无效 .
选择器分析和特性( API v3)
LanguageService.selectors(uri) 返回时 { revision, selectors } 无
编译 CSS. 每个选取者列表成员都有其最初的UTF-16 range, (中文(简体) ),
不重叠 parts (单位:千美元)kind, (中文(简体) ), range)),其中任何一种 specificity
(单位:千美元)ids, (中文(简体) ), classes, (中文(简体) ), types或解释性说明 reason 当一个精确
分数没有。 比较特异性 Tuples 从词典上,从来没有像
十进制数字。 这是选择器的特异性,不是全级优先级.
分类包括类,ID,标记,属性名,伪类,
伪元素,通用选择器,筑巢,梳理器,和命名空间前缀.
属性字符串和数字保持语法突出. 功能假名
包括冒号前缀,而其选择参数有独立的部分.
现有的8个语义符号指数是稳定的; API v3 附加
selectorId, (中文(简体) ), selectorTag, (中文(简体) ), selectorAttribute, (中文(简体) ), pseudoClass, (中文(简体) ),
pseudoElement, (中文(简体) ), selectorUniversal, (中文(简体) ), selectorNesting, (中文(简体) ),
selectorCombinator,以及 selectorNamespace。不再使用身份证 variable。 。 。 .
具体情况如下 MDN 数据
和相关的CSS规格:零重量 :where(),最大参数
页:1 :is(), (中文(简体) ), :not(),以及 :has(),nth-孩子选择器过滤器,
阴影 DOM 选择器 遗留的伪元素 和隐性/显性筑巢.
父母名单贡献了最大TUPL;重复 & 多次捐款.
预算外 :local 财务报告和审定财务报表 :global 包装是透明的。 范围重命名
不改变特性。 规则边界不增加具体性
:scope 算作伪类。 关键框架步骤被排除在外.
无效/ 回收的选取者, 不支持的功能选择者, 未解决的家长, 和注射定义中的选择者,其呼叫地点上下文未知者 没有确切的分数。 其他有效的选择者名单成员仍然可以查询。 这个 API 是 不扩展注射呼叫或提供插入阈值或编辑器徘徊UI.
CSS 价值背景
LanguageService.cssValues(uri) 返回时 { revision, values } 原始来源
秩序。 秩序。 每个值都有 text,一个UTF-16 range,可选CSS property, (中文(简体) ),
验证 parts 财务报告和审定财务报表 checkable 状态和函数名称及其精确度
源范围。 数值包括申报、常数和可变初始化器,
和参数默认值。 不包括原始实体;字符串和 URL 内容不包含
生成函数点。 类型代表只描述 XCSS 符号
和算术子表达式,保存周围的 CSS 用于主机验证.
语义传说附件 cssFunction, (中文(简体) ), cssKeyword,以及 cssColor编辑器
适配器使用 CSS 语法对 CSS 值进行分类,并将这些符号与
当地标志,优先。 早期的所有指数都稳定.
共享公用事业
Compiler.compile(entry) 返回可选选项 utilities 工艺品与
模块文物。 它包含 css, (中文(简体) ), sourceMap, (中文(简体) ), sourceDependencies,并绘制
rules。主机应同时提供消费模块的CSS.
Compiler.compileUtilities(entries) 返回为
多个条目模块。 在源更新或清除后重算结合.
组合编译包括模块文物中直接使用的CSS.
源格式
formatSource(source, options?) 格式 XCSS 不编译 CSS, 解析
导入,或读取文件。 它回来了 { text, diagnostics }数字 : text 缺席
当语法无效时,原始来源必须保持不变。 语义
未解决的引用等错误不妨碍格式化。 诊断范围
是原始输入中基于零的UTF-16位置.
选项是 tabWidth (1–16,默认 2), useTabs (默认为假),
printWidth (1-1000,默认80)和 endOfLine (单位:千美元)lf 或者说 crlf默认值
lf) (中文(简体) ). 格式化为非空输出添加了最后的新行. @raw 条约机构和
节点前 /* prettier-ignore */ 仍作逐字记录,即使其行
结尾与请求的布局不同。 未知规则仍然不透明.
鲁斯特API是 xcss_format::format(source, &FormatOptions)预览
使用Malva的基于Raffia的CSS打印机和XCSS文档打印机. CSS 黄金
固定装置被钉入Pretier 3.6.2;详尽的Pretier等同不是
保证。 XCSS头和表达式使用相容的布局常规.
不透明碎片有意保留其原始拼写
保存的字节换字节。 此发行中没有 CLI 格式化命令 .