1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-07-08 12:57:57 +02:00

Fix linter incorrectly reporting header= option

Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/13thksi/filter_blocking_rule_based_on_post_methods_value/jlvhuoy/
This commit is contained in:
Raymond Hill 2023-05-27 19:02:23 -04:00
parent 45187077cf
commit d776edf06b
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2
3 changed files with 20 additions and 1 deletions

View File

@ -70,6 +70,7 @@ let cachedUserFilters = '';
if ( response instanceof Object === false ) { return; }
if ( response.hintUpdateToken !== undefined ) {
const mode = cmEditor.getMode();
cmEditor.setOption('filterOnHeaders', response.filterOnHeaders === true);
if ( mode.setHints instanceof Function ) {
mode.setHints(response);
}

View File

@ -73,6 +73,7 @@ import './codemirror/ubo-static-filtering.js';
});
if ( hints instanceof Object ) {
const mode = cmEditor.getMode();
cmEditor.setOption('filterOnHeaders', hints.filterOnHeaders === true);
if ( mode.setHints instanceof Function ) {
mode.setHints(hints);
}

View File

@ -37,6 +37,16 @@ const preparseDirectiveHints = [];
const originHints = [];
let hintHelperRegistered = false;
/******************************************************************************/
let filterOnHeaders = false;
CodeMirror.defineOption('filterOnHeaders', false, (cm, state) => {
filterOnHeaders = state;
self.dispatchEvent(new Event('filterOnHeaders'));
});
/******************************************************************************/
CodeMirror.defineMode('ubo-static-filtering', function() {
@ -206,6 +216,10 @@ CodeMirror.defineMode('ubo-static-filtering', function() {
return '+';
};
self.addEventListener('filterOnHeaders', ( ) => {
astParser.options.filterOnHeaders = filterOnHeaders;
});
return {
lineComment: '!',
token: function(stream) {
@ -285,7 +299,6 @@ CodeMirror.defineMode('ubo-static-filtering', function() {
hintHelperRegistered = true;
initHints();
}
astParser.options.filterOnHeaders = details.filterOnHeaders === true;
},
parser: astParser,
};
@ -978,6 +991,10 @@ CodeMirror.registerHelper('fold', 'ubo-static-filtering', (( ) => {
}
};
self.addEventListener('filterOnHeaders', ( ) => {
astParser.options.filterOnHeaders = filterOnHeaders;
});
CodeMirror.defineInitHook(cm => {
cm.on('changes', onChanges);
cm.on('beforeChange', onBeforeChanges);