From cf7777e9fd56b842473eef374fd72fd2a474a33f Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Sun, 27 Apr 2025 10:50:21 -0400 Subject: [PATCH] Allow user to change CodeMirror input style in "My filters" Related issue: https://github.com/uBlockOrigin/uBlock-issues/issues/3613 --- src/js/1p-filters.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/js/1p-filters.js b/src/js/1p-filters.js index 7e20a30c2..d27b6710f 100644 --- a/src/js/1p-filters.js +++ b/src/js/1p-filters.js @@ -28,7 +28,7 @@ import { onBroadcast } from './broadcast.js'; /******************************************************************************/ -const cmEditor = new CodeMirror(qs$('#userFilters'), { +const cmOptions = { autoCloseBrackets: true, autofocus: true, extraKeys: { @@ -47,7 +47,21 @@ const cmEditor = new CodeMirror(qs$('#userFilters'), { styleActiveLine: { nonEmpty: true, }, -}); +}; +(( ) => { + try { + const url = new URL(self.top.location.href); + const input = url.searchParams.get('input'); + if ( input === 't' ) { + cmOptions.inputStyle = 'textarea'; + } else if ( input === 'c' ) { + cmOptions.inputStyle = 'contenteditable'; + } + } catch { + } +})(); + +const cmEditor = new CodeMirror(qs$('#userFilters'), cmOptions); uBlockDashboard.patchCodeMirrorEditor(cmEditor);