详细说明: - 基于文旅订单班框架复制创建food-order-demo项目 - 修改端口配置为4174避免冲突 - 更新LandingPage为青莳轻食主题(绿色健康风格) - 重新定义7个食品行业专业Agent: * 市场研究专家:轻食市场分析、客群画像 * 营养配方师:营养成分配比、低卡高蛋白设计 * 供应链管理专家:有机食材供应、溯源体系 * 品牌策划师:品牌定位、店铺空间布局 * 财务分析师:投资预算、ROI分析 * 运营管理专家:运营流程、品控标准 * 食品创业导师:中央协调、方案整合 - 创建专用启动脚本start.sh - 验证系统可正常运行在端口4174 - 实现代码复用率90%,符合预期目标 影响文件: web_frontend/food-order-demo/ 技术栈: React 18 + TypeScript + Tailwind CSS + Zustand
78 lines
1.9 KiB
JavaScript
78 lines
1.9 KiB
JavaScript
// based loosely upon: https://github.com/Azure/bicep/blob/main/src/textmate/bicep.tmlanguage
|
|
Prism.languages.bicep = {
|
|
'comment': [
|
|
{
|
|
// multiline comments eg /* ASDF */
|
|
pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
|
|
lookbehind: true,
|
|
greedy: true
|
|
},
|
|
{
|
|
// singleline comments eg // ASDF
|
|
pattern: /(^|[^\\:])\/\/.*/,
|
|
lookbehind: true,
|
|
greedy: true
|
|
}
|
|
],
|
|
|
|
'property': [
|
|
{
|
|
pattern: /([\r\n][ \t]*)[a-z_]\w*(?=[ \t]*:)/i,
|
|
lookbehind: true
|
|
},
|
|
{
|
|
pattern: /([\r\n][ \t]*)'(?:\\.|\$(?!\{)|[^'\\\r\n$])*'(?=[ \t]*:)/,
|
|
lookbehind: true,
|
|
greedy: true
|
|
}
|
|
],
|
|
'string': [
|
|
{
|
|
pattern: /'''[^'][\s\S]*?'''/,
|
|
greedy: true
|
|
},
|
|
{
|
|
pattern: /(^|[^\\'])'(?:\\.|\$(?!\{)|[^'\\\r\n$])*'/,
|
|
lookbehind: true,
|
|
greedy: true,
|
|
}
|
|
],
|
|
'interpolated-string': {
|
|
pattern: /(^|[^\\'])'(?:\\.|\$(?:(?!\{)|\{[^{}\r\n]*\})|[^'\\\r\n$])*'/,
|
|
lookbehind: true,
|
|
greedy: true,
|
|
inside: {
|
|
'interpolation': {
|
|
pattern: /\$\{[^{}\r\n]*\}/,
|
|
inside: {
|
|
'expression': {
|
|
pattern: /(^\$\{)[\s\S]+(?=\}$)/,
|
|
lookbehind: true
|
|
},
|
|
'punctuation': /^\$\{|\}$/,
|
|
}
|
|
},
|
|
'string': /[\s\S]+/
|
|
}
|
|
},
|
|
|
|
'datatype': {
|
|
pattern: /(\b(?:output|param)\b[ \t]+\w+[ \t]+)\w+\b/,
|
|
lookbehind: true,
|
|
alias: 'class-name'
|
|
},
|
|
|
|
'boolean': /\b(?:false|true)\b/,
|
|
// https://github.com/Azure/bicep/blob/114a3251b4e6e30082a58729f19a8cc4e374ffa6/src/textmate/bicep.tmlanguage#L184
|
|
'keyword': /\b(?:existing|for|if|in|module|null|output|param|resource|targetScope|var)\b/,
|
|
|
|
'decorator': /@\w+\b/,
|
|
'function': /\b[a-z_]\w*(?=[ \t]*\()/i,
|
|
|
|
'number': /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,
|
|
'operator': /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/,
|
|
'punctuation': /[{}[\];(),.:]/,
|
|
};
|
|
|
|
Prism.languages.bicep['interpolated-string'].inside['interpolation'].inside['expression'].inside = Prism.languages.bicep;
|