eight
5cbe8a8d78
Add: fetch style object from DB directly in the editor ( #507 )
2018-10-02 20:22:18 +08:00
eight
9058c06c54
Fix: bad API
2018-10-01 23:24:29 +08:00
eight
1f2d116aae
Fix: use meta parser
2018-10-01 23:14:56 +08:00
eight
918e47b1ed
Fix: emit update event if no fatal errors
2018-10-01 23:01:21 +08:00
eight
81a7bb9ac9
Add: editorWorker.metalint
2018-10-01 22:56:25 +08:00
eight
f47d57aea8
Change: use editorWorker.metalint
2018-10-01 22:49:16 +08:00
eight
5778d5c858
Change: editor-worker-body -> editor-worker
2018-10-01 22:39:01 +08:00
eight
268e1716b4
Change: switch to worker-util
2018-10-01 22:38:06 +08:00
eight
08adcb60f2
Merge branch 'master' into dev-usercss-meta
2018-10-01 22:29:39 +08:00
eight
2fd531e253
Rewrite linter system ( #487 )
...
* Add: implement new linter system
* Refactor: pull out editor worker
* Switch to new linter and worker
* Enable eslint cache
* Fix: undefined error
* Windows compatibility
* Fix: refresh linter if the editor.linter changes
* Add: stylelint
* Add: getStylelintRules, getCsslintRules
* Fix: logic to get correct linter
* WIP: linter-report
* Fix: toggle hidden state
* Add: matain the order of lint report for section editor
* Add: unhook event
* Add: gotoLintIssue
* Fix: shouldn't delete rule.init
* Add: linter-help-dialog
* Drop linterConfig
* Add: linter-config-dialog, cacheFn
* Add: use cacheFn
* Drop lint.js
* Add: refresh. Fix report order
* Fix: hide empty table
* Add: updateCount. Fix table caption
* Switch to new linter/worker
* Fix: remove unneeded comment
* Fix: cacheFn -> cacheFirstCall
* Fix: use cacheFirstCall
* Fix: cache metaIndex
* Fix: i < trs.length
* Fix: drop isEmpty
* Fix: expose some simple states to global
* Fix: return object code style
* Fix: use proxy to reflect API
* Fix: eslint-disable-line -> eslint-disable-next-line
* Fix: requestId -> id
* Fix: one-liner
* Fix: one-liner
* Fix: move dom event block to top
* Fix: pending -> pendingResponse
* Fix: onSuccess -> onUpdated
* Fix: optimize row removing when i === 0
* Fix: hook/unhook -> enableForEditor/disableForEditor
* Fix: linter.refresh -> linter.run
* Fix: some shadowing
* Fix: simplify getAnnotations
* Fix: cacheFirstCall -> memoize
* Fix: table.update -> table.updateCaption
* Fix: unneeded reassign
* Fix: callbacks -> listeners
* Fix: don't compose but extend
* Refactor: replace linter modules with linter-defaults and linter-engines
* Fix: implement linter fallbacks
* Fix: linter.onChange -> linter.onLintingUpdated
* Fix: cms -> tables
* Fix: parseMozFormat is not called correctly
* Move csslint-loader to background
* Fix: watch config changes
* Fix: switch to LINTER_DEFAULTS
* Fix: csslint-loader -> parserlib-loader
2018-10-01 09:03:17 -05:00
eight
6909c73c69
Fix: minor
2018-09-26 12:16:33 +08:00
eight
2abbf670d8
Fix: check err.code
2018-09-26 10:37:14 +08:00
eight
29b8f51292
Fix: vars could be undefined
2018-09-25 23:21:44 +08:00
eight
3c30bc3eb0
Fix: try to get error message
2018-09-25 21:55:55 +08:00
tophf
c49f4dd11e
don't hook auxiliary CMs
...
fixes #491
2018-09-03 20:54:25 +03:00
tophf
681176ce31
use showHelp.close when it's defined
...
fixes #485
2018-08-29 15:39:18 +03:00
tophf
2ac9a9db29
fix headerOnScroll
2018-08-24 14:31:29 +03:00
tophf
c0c5f1dbcc
avoid overwriting existing usercss on saving a new one
2018-08-18 23:17:20 +03:00
tophf
adc165723c
actually run restoreWindowScrollPos in a microtask
2018-08-16 18:09:50 +03:00
tophf
92d6530c8f
simplify listener registration
...
since the function reference is constant, only one listener will be registered
2018-08-07 20:11:11 +03:00
tophf
eff0a7030c
display only style name in the editor tab title
...
"Edit Style" was redundant and made the title unreadable when many tabs were opened.
"Add Style" is still displayed for the new styles.
2018-08-07 19:59:16 +03:00
tophf
bfb35e77b8
strip more trailing spaces in a custom usercss template
2018-08-06 20:56:33 +03:00
tophf
2db52c9e2d
code cosmetics
2018-08-06 15:11:27 +03:00
tophf
f6a90ad166
suppress stylelint warning for stylus-lang's @css block
...
fixes #459
2018-08-06 15:10:42 +03:00
tophf
5f623f2f0e
fill an empty @name with the default placeholder
...
fixes #462
2018-08-06 13:35:33 +03:00
tophf
e27636b93d
preserve linebreaks in live-preview error text
...
fixes #460
2018-08-06 13:13:15 +03:00
tophf
5da1e0fb9b
set onbeforeunload only when dirty
...
https://developers.google.com/web/updates/2018/07/page-lifecycle-api#legacy-lifecycle-apis-to-avoid
2018-08-02 20:54:40 +03:00
tophf
d3c8812e51
listen on newly added section's CodeMirror too
2018-08-02 01:44:10 +03:00
tophf
9cebf91e28
don't call updatePreview twice for the same input event
2018-08-02 00:46:14 +03:00
tophf
68cc033942
trigger live preview also for changes in applies-to
2018-08-01 23:29:21 +03:00
tophf
0c58783a6c
add buttons to restore, clone, move a section
2018-07-23 21:24:35 +03:00
tophf
0a3ffb0bc8
show an empty applies-to URL-prefix in manually added sections
...
because global sections are less frequently used.
2018-07-23 21:24:35 +03:00
tophf
47c4b8157a
expose 'preserve_newlines' in beautifier; dehtmlize
...
fixes #435
2018-07-23 00:28:11 +03:00
tophf
7d1bf4119a
show "close" button in beautifier dialog
...
fixes #436
2018-07-22 20:12:42 +03:00
tophf
4283cc53a7
use the global line wrapping option in moz-export popup
2018-07-22 20:08:13 +03:00
tophf
662b4f8e49
don't show "saved" note in linter config
...
* because we don't show it anywhere else
* disabling the save button is a sufficient indicator used by lots of apps
2018-07-22 19:58:40 +03:00
tophf
126d909ca7
use a typical OS order for #help-popup buttons
...
* horizontally centered in Windows
* right-aligned otherwise
2018-07-22 19:55:27 +03:00
tophf
87da06037f
make showCodeMirrorPopup modal
...
closes #437
2018-07-22 19:37:49 +03:00
Rob Garrison
bfe54ab4c4
Add tab communication
2018-07-22 11:21:45 -05:00
Rob Garrison
2b4a1a5635
Modify input method
2018-07-22 11:21:44 -05:00
Rob Garrison
68dfa0153c
Add style exclusions. Closes #113
2018-07-22 11:21:43 -05:00
tophf
67f48d5e60
make a copy of the applies-to template
...
fixes #442
2018-07-22 16:36:50 +03:00
Rob Garrison
c61d34d053
Update libraries ( #440 )
2018-07-21 20:58:54 +03:00
tophf
6f64bd840c
code cosmetics: strip trailing spaces
2018-07-17 11:24:13 +03:00
narcolepticinsomniac
70b8a1172f
Responsive layout ( #410 )
2018-07-16 19:37:01 +03:00
tophf
e51c632db6
fixup 74ef2f6f: 'editors' is a const
2018-07-10 11:45:52 +03:00
tophf
26f673f30d
move linter worker loaders to edit/
2018-07-10 11:35:19 +03:00
tophf
796b2b132d
FF execCommand bug workaround needs 'input' event dispatched
...
fixes #419
2018-07-06 12:37:35 +03:00
tophf
74ef2f6fcf
editors isn't defined on some pages like install-usercss
...
fixes #411
2018-07-03 08:42:13 +03:00
tophf
3c13f13ae2
FF workaround for broken execCommand and getSelection
...
closes #407
2018-06-29 13:00:25 +03:00
tophf
79c93ce54a
typo
2018-06-15 08:24:35 +03:00
tophf
468b2f6499
CodeMirror: recognize 'zoom' CSS property
2018-06-15 08:24:35 +03:00
tophf
2b268fc589
CSSLint/CodeMirror: background-position-x and -y
...
These have been used for a long time in the real world and will finally get standardized by the upcoming CSS Backgrounds and Borders Module L4.
fixes #397
2018-06-12 12:31:12 +03:00
tophf
44f3a79353
CSS Logical Properties and Values L1 - CodeMirror
2018-06-10 12:42:41 +03:00
tophf
f0c31f75b3
CSS Containment L1 (CR 2018-05-24)
...
https://www.w3.org/TR/css-contain-1/
2018-05-24 12:53:36 +03:00
tophf
0e81a4679d
typo: FF doesn't have window.event
2018-05-17 01:33:18 +03:00
tophf
5c444b4b96
draw fold marks in CSS since some fonts may not have them
2018-05-06 13:11:19 +03:00
tophf
f5750c7ab6
properly start live-preview after first save
2018-05-04 22:27:14 +03:00
Frank Dana
d0115acdf2
Change target of CSSLint "full list of rules" link
...
The "See a full list of rules" link in the CSSLint settings popup currently points to https://github.com/CSSLint/csslint/wiki/Rules-by-ID which is... rather sparse.
Instead, link to https://github.com/CSSLint/csslint/wiki/Rules
It contains all of the same rules / documentation-page links, but presents slightly more information to the user up front, without forcing them to click on everty rule for an explanation of what it is.
2018-05-04 14:23:04 +03:00
tophf
05dbcff7c3
insert spaces on <Tab> when editor.indentWithTabs is false
2018-05-01 23:13:53 +03:00
tophf
5ef347a4d9
LESS preprocessor
...
closes #373
2018-04-19 20:02:23 +03:00
tophf
0614aa2eee
new editor option: selectByTokens
...
implements #361 except for toggling via Ctrl
2018-04-18 19:33:36 +03:00
tophf
5174e7481f
stricter "var(" check and code cosmetics
2018-04-04 11:37:39 +03:00
tophf
1cc8ac7559
autocomplete for --css-variables inside var()
2018-04-03 21:39:09 +03:00
tophf
71b478fe98
use CM theme for applies-to buttons
2018-03-15 20:15:23 +03:00
tophf
dbba338229
report line:ch in live-preview errors for usercss
2018-03-11 16:47:27 +03:00
tophf
66704a78b3
actually use 'pre' font for code errors in messageBox.alert/confirm
2018-03-11 16:31:25 +03:00
tophf
32cd558dda
parse a few nonstandard webkit CSS properties
2018-03-09 02:34:29 +03:00
tophf
f9789e327b
show the new CM themes in the editor options
2018-03-03 23:36:29 +03:00
tophf
2c86f2f4b9
move commentSelection command to other editing commands
2018-03-03 23:36:29 +03:00
tophf
6e8ff5b9ef
simplify toggleEditorFocus now that CM 5.35 handles Ctrl-Pause
2018-03-03 23:36:29 +03:00
tophf
77d44c233e
preUpdateLinting hack isn't needed since CM 5.33
2018-03-03 23:36:28 +03:00
tophf
5acf815b79
report invalid selector in :not() as a warning
...
to prevent failures when updating usercss styles that have to override [currently] invalid :not() selectors used by the site
see #356
2018-03-03 17:28:29 +03:00
tophf
0ba26072f7
restore Chrome 49 compatibility: remove "u" flag in RegExp
...
since it wasn't used globally (e.g. vendor code) it made no real difference
2018-02-28 05:15:28 +03:00
tophf
4e4f0501d2
fixup: add the empty line correctly
2018-02-22 18:34:15 +03:00
tophf
4bb1a191cc
replace the last @-moz-document if present in a usercss template
...
when creating a new style for the site via popup
see #352
2018-02-22 12:59:56 +03:00
tophf
c5ef92cf9c
add the site section to a custom usercss template for new styles
...
fixes #352
2018-02-22 12:41:55 +03:00
tophf
e3d1c6588d
prefill new style name with the domain/hostname
...
implements #344
2018-02-14 05:53:35 +03:00
tophf
7a479edc56
more consistent focus/scroll behavior of global search
...
* keep page scroll position on Esc/close
* focus the match on Enter
2018-02-02 09:04:25 +03:00
tophf
32f0f4bd7a
preserve page scroll position after [de]beautification
2018-02-01 23:51:30 +03:00
tophf
02989edb05
eat unclosed comments
2018-01-30 18:59:28 +03:00
tophf
0f8bca03b8
fixup eaed0de4: don't enable livepreview for unsaved code
2018-01-15 19:16:48 +03:00
tophf
dc1cd890ee
notify event subscribers when toggling the style via Alt-Enter
2018-01-14 17:40:09 +03:00
tophf
3c15521fc2
tweak autocomplete helper
...
* use the faster getStyleAtPos
* autocomplete !important on typing !
* don't autocomplete hex colors
2018-01-14 17:10:54 +03:00
tophf
eaed0de486
init autocomplete/blur/focus for usercss in a common hook
2018-01-14 15:57:29 +03:00
tophf
fb1ef71f25
don't save the style in toggleStyle; use data-hotkey-tooltip
2018-01-12 14:32:15 +03:00
tophf
9affcd13bc
don't preview unsaved styles
2018-01-12 14:11:24 +03:00
tophf
989df35b05
live preview in editor
...
* refreshAllTabs was extracted
* ...and fixed to use each frame's url when getting the styles
2018-01-12 00:54:36 +03:00
tophf
022e588c97
allow errors in usercss when saving in editor and live-reloading
2018-01-07 16:36:30 +03:00
tophf
a6e2cf47ed
don't update the tally when the dialog isn't shown
2018-01-07 12:52:31 +03:00
tophf
d2cba96e10
refactor CSSLint
...
* reduce linting delay
* parse mozformat in worker
* allow empty functions in 'filter:' property
https://drafts.fxtf.org/filter-effects/#supported-filter-functions
* support comma-separated list in :lang()
* strip vendor prefix in isLiteral()
2018-01-07 12:31:23 +03:00
tophf
385dda9923
fixup 227dce01: new styles don't have usercssData
2018-01-06 09:50:48 +03:00
tophf
4a7c675d06
fix '.add-applies-to' click listener
2018-01-06 09:31:37 +03:00
tophf
227dce0177
don't disable Beautify (let the user decide); code cosmetics
2018-01-05 14:05:35 +03:00
tophf
bced23052c
remove some unnecessary deepCopy calls
2018-01-05 14:05:35 +03:00
tophf
bf17c7de94
preserve section indentation in usercss template
2018-01-04 16:45:41 +03:00
tophf
3418ac9cb9
FF: support private/container tabs
2018-01-03 10:43:56 +03:00
tophf
27fe9fa9db
search/replace in extra CodeMirror boxes e.g. lint config
2018-01-01 10:35:22 +03:00
tophf
b2100ea853
fixes for global search/replace
...
* Enter key in input fields:
* [Find mode] closes the dialog and focuses the matched text
* [Replace mode] performs a single replace action
* Undo button checks the new CM changeGeneration and disables itself
if the changes were already undone
* doUndo focuses the visible undo button
2018-01-01 09:56:41 +03:00
tophf
a66c377d8a
fix scrolling over linter issues in usercss mode
2017-12-28 07:01:43 +03:00