You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修改Ace Editor现有模式:调整大括号为代码块并替换procedure为void

解决方案

1. 修复大括号作为代码块而非注释的问题

  • 找到当前使用的Ace Editor语言模式文件(如xxx_mode.js),定位到规则数组rules
  • 移除所有将{...}识别为注释块的规则,比如类似以下的条目:
    {
      token: 'comment.block',
      regex: /\{[^}]*\}/
    }
    
  • 添加大括号作为代码块的递归解析规则,和begin/end逻辑对齐:
    {
      token: 'keyword.control',
      begin: /\{/,
      end: /\}/,
      embed: '$self' // 递归用当前语言模式解析大括号内内容
    }
    

2. 添加void作为等效procedure的关键字

  • 在语言模式的keywords配置中,将void加入到和procedure相同的关键字分组:
    keywords: {
      control: 'begin end procedure void', // 把void添加到control分组
      // 其他关键字分组(如变量、常量等)保持不变
    }
    
  • 如果模式用正则匹配关键字,修改对应正则表达式,加入void:
    {
      token: 'keyword.control',
      regex: /\b(begin|end|procedure|void)\b/
    }
    

验证修改

修改完成后重新加载语言模式,测试以下场景:

  • 大括号{}被标记为keyword.control类,和begin/end样式一致
  • 大括号内代码正常高亮,不再被识别为注释
  • void关键字显示和procedure完全相同的样式

内容的提问来源于stack exchange,提问作者Voiceless Man

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 03:15:05