基于 CodeMirror 6 封装的规则编辑器,支持正则校验、搜索和主题切换。
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.org/scripts/566628/1756739/RuleEditor.js
本编辑器基于 CodeMirror 6 构建,集成了自定义语法高亮、正则表达式校验、实时搜索导航以及多主题切换功能。
通过 window.CodeMirror6 全局对象初始化编辑器并获取控制实例。
const container = document.getElementById('editor-container');
const editor = window.CodeMirror6.createEditor(container);setContent(content, keepHistory)keepHistory (boolean) 为 false 时会重置撤销历史并更新同步快照。getContent()updateSnapshot()setTheme(isDark)true 为深色,false` 为浅色。setSearch(term)findNext()findPrev()onSyncStatusChange(callback)isSynced (boolean)。onSearchUpdate(callback){ total, current, isExact }total: 匹配到的总行数。current: 当前光标最接近的匹配行索引(从 1 开始)。isExact: 光标是否精确落在匹配行上。getRules(){ regexps, keywords, errors }regexps: 包含合法正则的列表。keywords: 识别到的关键字字符串列表。errors: 语法错误的正则及其位置信息。编辑器支持以下三种基础语法元素:
/pattern/flags 格式,内置实时合法性校验。# 开头的整行内容或行末内容。本项目基于 CodeMirror 6 核心库构建,并在交互设计与 UI 表现上参考了 uBlacklist 和 uBlock Origin。