uBlock/src/js
Raymond Hill 703c525b01
Support line continuation in filter lists
If a line in a filter list ends with a space
(ASCII code 32) followed by a backslash
(ASCII code 92), those two characters will be
removed, the line will be trimmed and the next
line will be trimmed and concatenated to form
a new, longer line.

The purpose is to give filter list authors
a way to visually break apart unduly long
filters and thus make maintenance easier.

When line continuation is used, it is suggested
that the extra lines are prepended with four
space so as to make it more visually obvious that
the extra line(s) are the continuation of a
previous line.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/943

The filter referenced in the above issue was the
motivation to implement this feature:
- https://hg.adblockplus.org/ruadlist/rev/f362910bc9a0

I verified and could not find any instance in major
filter lists of lines ending with ` \`, thus the
change should be safe.
2020-03-14 13:34:13 -04:00
..
codemirror Support line continuation in filter lists 2020-03-14 13:34:13 -04:00
scriptlets Add procedural cosmetic operators remove() and upward() 2020-03-07 14:25:06 -05:00
wasm Remove elision of leading wildcard in some filter patterns 2020-02-03 14:09:37 -05:00
1p-filters.js Remove usage of synchronous localStorage API 2020-02-21 15:34:54 -05:00
3p-filters.js Remove usage of synchronous localStorage API 2020-02-21 15:34:54 -05:00
about.js Work toward modernizing code base: promisification 2019-09-17 15:15:01 -04:00
advanced-settings.js Minor code review 2020-01-23 12:06:40 -05:00
asset-viewer.js Work toward modernizing code base: promisification 2019-09-17 15:15:01 -04:00
assets.js Avoid or defer writing back to cache storage at launch 2019-10-15 11:42:43 -04:00
background.js Rework/remove remnant of code dependent on localStorage 2020-02-23 12:18:45 -05:00
cachestorage.js Remove remnants of chrome references... 2019-09-21 12:06:57 -04:00
cloud-ui.js Work toward modernizing code base: promisification 2019-09-17 15:15:01 -04:00
commands.js Revisit element picker arguments code 2019-09-18 12:17:45 -04:00
console.js Force console output when explicitly requested from dev tools 2020-02-25 11:00:58 -05:00
contentscript.js Also remove text node in :remove() operator 2020-03-09 11:34:49 -04:00
contextmenu.js Revisit element picker arguments code 2019-09-18 12:17:45 -04:00
cosmetic-filtering.js Add procedural cosmetic operators remove() and upward() 2020-03-07 14:25:06 -05:00
dashboard-common.js Work toward modernizing code base: promisification 2019-09-17 15:15:01 -04:00
dashboard.js Fix spurious warning when force-reloading the dashboard 2020-02-24 09:59:35 -05:00
document-blocked.js Remove usage of synchronous localStorage API 2020-02-21 15:34:54 -05:00
dyna-rules.js Work toward modernizing code base: promisification 2019-09-17 15:15:01 -04:00
dynamic-net-filtering.js Use async/await in Matrix.benchmark() 2019-06-19 08:37:48 -04:00
fa-icons.js First draft of popup panel for Firefox Preview 2020-01-25 09:24:59 -05:00
filtering-context.js Fine tune hostname uncloaking through CNAME-lookup 2019-11-23 13:07:23 -05:00
hnswitches.js fix #2859 2018-09-03 14:06:49 -04:00
hntrie.js Rework/remove remnant of code dependent on localStorage 2020-02-23 12:18:45 -05:00
html-filtering.js Add procedural cosmetic operators remove() and upward() 2020-03-07 14:25:06 -05:00
i18n.js Support hidden hyphen HTML entity in translation work 2020-03-02 12:34:50 -05:00
logger-ui-inspector.js Simplify client messaging code 2019-09-19 08:31:38 -04:00
logger-ui.js Remove usage of synchronous localStorage API 2020-02-21 15:34:54 -05:00
logger.js Grand refactoring of the logger 2019-01-12 16:36:20 -05:00
lz4.js Fix Promise chain of WASM module load operations 2019-02-01 08:20:43 -05:00
messaging.js Rework/remove remnant of code dependent on localStorage 2020-02-23 12:18:45 -05:00
pagestore.js Do not flush blocked-elements cache at webNavigation time 2019-09-21 16:42:15 -04:00
popup-fenix.js Use correct element id fenix popup panel 2020-02-23 12:16:50 -05:00
popup.js Remove usage of synchronous localStorage API 2020-02-21 15:34:54 -05:00
redirect-engine.js Fix handling of end-anchor in redirect patterns 2020-02-01 12:47:17 -05:00
reverselookup-worker.js Add support for "specific-generic" cosmetic filters 2020-02-14 11:51:05 -05:00
reverselookup.js Expand bidi-trie usage in static network filtering engine 2019-10-21 08:15:58 -04:00
scriptlet-filtering.js Rename register-like variables 2019-09-29 13:21:09 -04:00
settings.js Work toward modernizing code base: promisification 2019-09-17 15:15:01 -04:00
shortcuts.js Support keyboard shortcut to open popup panel 2019-11-09 09:53:31 -05:00
start.js Rework/remove remnant of code dependent on localStorage 2020-02-23 12:18:45 -05:00
static-ext-filtering.js Improve validation of CSS selector-based cosmetic filters 2020-03-08 10:55:19 -04:00
static-net-filtering.js Force console output when explicitly requested from dev tools 2020-02-25 11:00:58 -05:00
storage.js Support line continuation in filter lists 2020-03-14 13:34:13 -04:00
strie.js Rework/remove remnant of code dependent on localStorage 2020-02-23 12:18:45 -05:00
tab.js Fix test against opener tab id in popup filtering code 2019-11-04 13:34:44 -05:00
text-encode.js refactor some webRequest-related code (now that firefox legacy is out of the way) 2018-10-28 10:58:25 -03:00
traffic.js Rework/remove remnant of code dependent on localStorage 2020-02-23 12:18:45 -05:00
ublock.js Revisit element picker arguments code 2019-09-18 12:17:45 -04:00
udom.js Update fix for https://github.com/uBlockOrigin/uBlock-issues/issues/468 2019-04-14 16:57:09 -04:00
uritools.js Add ability to uncloak CNAME records 2019-11-19 12:05:33 -05:00
url-net-filtering.js Fix regression in URL rules validation 2019-07-10 17:24:01 -04:00
utils.js Fail graciously if no benchmark dataset found 2020-02-21 08:13:15 -05:00
whitelist.js Work toward modernizing code base: promisification 2019-09-17 15:15:01 -04:00