RuleEditor

A CodeMirror 6 based rule editor with Regex validation, search, and theme switching.

Estas são as versões deste script em que o código foi atualizado. Mostrar todas as versões.

  • v. 2.0.0 07/08/2026

    更新日志 (Changelog) - RuleEditor v2.0.0

    本次更新将编辑器重构为标准的 全局类(RuleEditor,改进了 API 设计,并增加了生命周期销毁与快照还原等功能。


    ⚠️ 破坏性变更 (Breaking Changes)

    • 初始化方式变更
      • 旧版:通过全局方法 window.CodeMirror6.createEditor(target) 初始化。
      • 新版:直接暴露全局类 RuleEditor,通过 new RuleEditor(parent, options) 进行实例化。
    • 主题切换 API 变更
      • 旧版:调用 setTheme(isDark) 方法。
      • 新版:改用 editor.darkMode = true / false 属性存取器(getter / setter)。
    • getRules() 返回数据结构微调
      • 旧版:返回对象中的正则数组字段为 regexps
      • 新版:字段名修正为规范的 regexes

    ✨ 新特性 (New Features)

    • 构造函数支持配置项
      • 实例化时支持传入 options 配置项:new RuleEditor(container, { content: '...', darkMode: true })
    • 快照还原功能 (restoreToSnapshot)
      • 新增 restoreToSnapshot() API,支持一键将编辑器内容还原至上一次保存/未修改状态的快照。
    • 实例销毁与资源清理 (destroy)
      • 新增 destroy() 方法,用于销毁编辑器实例、解绑事件并清理定时任务,防止内存泄漏。

    💡 升级迁移示例

    旧版代码:

    const editor = window.CodeMirror6.createEditor(document.getElementById('editor'));
    editor.setContent('...');
    editor.setTheme(true);
    

    新版代码(IIFE):

    // 直接使用全局 RuleEditor 类
    const editor = new RuleEditor(document.getElementById('editor'), {
      content: '...',
      darkMode: true
    });
    
    // 主题切换
    editor.darkMode = false;
    
    // 页面/组件销毁时
    editor.destroy();
    
  • v. 1.0.0 18/02/2026