From 2da89489288e2f737d53e0f46e99f0776173aa70 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Tue, 24 Dec 2019 10:04:18 -0500 Subject: [PATCH] Add basic syntax coloring to advanced settings pane --- src/advanced-settings.html | 2 ++ src/js/codemirror/mode/raw-settings.js | 37 ++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 src/js/codemirror/mode/raw-settings.js diff --git a/src/advanced-settings.html b/src/advanced-settings.html index 4b260c583..583596b86 100644 --- a/src/advanced-settings.html +++ b/src/advanced-settings.html @@ -26,6 +26,8 @@ + + diff --git a/src/js/codemirror/mode/raw-settings.js b/src/js/codemirror/mode/raw-settings.js new file mode 100644 index 000000000..34585d99c --- /dev/null +++ b/src/js/codemirror/mode/raw-settings.js @@ -0,0 +1,37 @@ +/******************************************************************************* + + uBlock Origin - a browser extension to block requests. + Copyright (C) 2019-present Raymond Hill + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see {http://www.gnu.org/licenses/}. + + Home: https://github.com/gorhill/uBlock +*/ + +/* global CodeMirror */ + +'use strict'; + +CodeMirror.defineMode("raw-settings", function() { + return { + token: function(stream) { + if ( stream.sol() ) { + stream.match(/\s*\S+/); + return 'keyword'; + } + stream.skipToEnd(); + return null; + } + }; +});