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
tophf
f2efff64fd
FF weird bug workaround: delay initLint() by 100ms
2017-12-25 09:28:26 +03:00
tophf
5df76b04e2
disable #save button right after opening a style
2017-12-25 02:26:01 +03:00
tophf
306b21b75e
show Ctrl-Pause hotkey in keymap info using a dummy command
2017-12-24 12:28:33 +03:00
tophf
57806bed45
don't set sessionStorage.justEditedStyleId to null
2017-12-24 02:37:26 +03:00
tophf
487bc77baa
actually replace 'usercssTemplate'
2017-12-24 01:50:53 +03:00
tophf
9279390e8c
handle double-click between number and %
2017-12-23 09:51:28 +03:00
tophf
8c96165fb4
refactor and improve selectTokenOnDoubleclick logic
2017-12-23 05:39:06 +03:00
tophf
a249167539
remove the no longer used defocusEditor command
2017-12-22 18:35:46 +03:00
tophf
d6c595d94e
detect double-clicked token boundaries better
2017-12-22 16:55:56 +03:00
tophf
068f23b029
fixup: include -+, exclude whitespace at line start
2017-12-22 16:29:52 +03:00
tophf
bf6b4eda83
select entire CSS token on double click
...
* .class-name
* property-name
* #some-id
* #123
* -webkit-any
* !important
* 12.5
2017-12-22 16:23:20 +03:00
tophf
d0380f76c3
rewrite colorview to use CodeMirror::TextMarker
...
* solves all problems with glitching on selection etc.
* perceived performance is same due to lazy-processing
* colors unsupported in current browser are displayed internally as RGB
* the color text is highlighted in the editor when popup is invoked
2017-12-22 11:22:35 +03:00
tophf
2dfaa22c35
Ctrl-Pause defocuses/focuses the editor
2017-12-22 11:22:02 +03:00
tophf
7d8507743d
add the missing CSS colors to codemirror parser
2017-12-20 00:42:51 +03:00
tophf
e50ff316ba
toggle narrow width mode tooltips via html+css; code cosmetics
2017-12-19 02:48:47 +03:00
tophf
1348eeb4e3
code cosmetics
2017-12-18 16:48:33 +03:00
tophf
4ecb6e7bc2
optimistically show 1 in tally only for a code match
2017-12-18 11:28:11 +03:00
tophf
31fd551264
trivial speed-ups for the single editor case
2017-12-18 10:27:50 +03:00
tophf
d10e83d15c
editor: rewrite global search/replace
2017-12-18 10:27:50 +03:00
tophf
fd047f8323
move getRealColors to colorpicker and reuse it
2017-12-18 10:27:50 +03:00
tophf
97e486e139
code cosmetics: silence a warning in edit.css
2017-12-18 10:27:50 +03:00
tophf
db2c4cd6fc
use standard font size in keymap info dialog
2017-12-18 10:27:50 +03:00
tophf
1f45618954
group similar items in keymap option selector
2017-12-18 10:27:50 +03:00
tophf
70d935d1a0
Ctrl-R to invoke replace in pcDefault/sublime keymaps
2017-12-18 10:27:50 +03:00
tophf
b78110aa1c
.CodeMirror-dialog: shorten yellow highlight bright phase
2017-12-18 10:27:50 +03:00
tophf
be20b5a8b4
match-highlighter: always use originalToken
2017-12-18 10:27:50 +03:00
tophf
8119dd4f62
match-highlighter: skip exact tokens highlighted by search
2017-12-18 10:27:50 +03:00
tophf
001db9a19f
make editor fully clean on saving
2017-12-18 10:27:50 +03:00
tophf
9e11435923
make editor permanently dirty when a section is deleted
2017-12-18 10:27:50 +03:00
tophf
748b9afdb4
remember last used search text in editor
2017-12-14 11:35:32 +03:00
tophf
cc5a254e01
make multi-section search instantaneous
2017-12-14 11:20:22 +03:00
tophf
49a995afae
fixup 1c68ac1a: init the find hook after the original one
2017-12-14 09:27:46 +03:00
tophf
6ee952f3d3
more things made focusable
...
* mozilla-format (i) icon
* showHelp() restores original focus
* showHelp's nested confirmation is debounced to enable focusing Yes/No
* RegExp tester tab URLs are focusable now
2017-12-13 07:38:36 +03:00
narcolepticinsomniac
a6c10fe49d
Adjust margins
...
Removed some redundant fixes. Remaining tweaks were mostly info icons. I also applied a hacky margin for checkbox/label options and `.aligned` select options on edit page. They were too close IMO.
2017-12-12 22:09:51 -05:00
tophf
fefe82fd54
remove what-input, use own implementation, rebase on master
2017-12-13 03:27:10 +03:00
Rob Garrison
2cdd264780
fixups
...
Manage: Disable tabindex in nested buttons
Manage: Fix homepage link alignment
Manage: Make entry actions keyboard navigatable
Manage: Add search help accessibility
Msgbox: Save and restore focus
Manage: Fix delete confirmation cancel
Manage: Make history button accessible
Manage: Make favicons dropdown accessible
Manage: Prevent focus on hidden textarea
Msgbox: Stop tabbing outside of msgbox
Usercss: Make nondefault reset accessible
Usercss: Make colorpicker accessible
Edit: Disable tabindex in nested buttons
Edit: Make info and config icons accessible
Options: Cleanup HTML
Options: Make advanced toggle accessible
Edit: Fix issues popup
Edit: Remove link underlines from icons
2017-12-12 21:40:31 +03:00
narcolepticinsomniac
e2842f69c3
Hide focus outlines without crippling a11y, plus active state change for buttons
2017-12-12 21:39:55 +03:00
tophf
3a82a66954
open editor a bit faster, fixup <select> bug and widget style
2017-12-11 09:12:56 +03:00
tophf
fb29638d00
defocus codemirror on Esc
2017-12-11 08:32:27 +03:00
tophf
60a5fb96be
don't steal focus from the find input on page open
2017-12-11 08:32:11 +03:00
tophf
8679e55206
unregister listeners on closing showCodeMirrorPopup
2017-12-10 11:24:52 +03:00
tophf
db8c3585dd
off-by-one in showKeyMapHelp: text after <mark> was lost
2017-12-09 20:43:47 +03:00
tophf
f11235aaf9
Revert 1e1ff736
"simplify theme preloader"
2017-12-09 19:05:44 +03:00
tophf
443e3a3c7c
second lockPageUI runs after there's no codebox anymore
2017-12-09 19:05:00 +03:00
tophf
ab98d46baa
show import errors in messageBox
2017-12-09 19:04:19 +03:00
tophf
5f1f9c4d86
unregister CM on closing showCodeMirrorPopup
2017-12-09 18:23:18 +03:00
tophf
5faff66fab
fix cross-section cursor navigation via keyboard
2017-12-08 11:42:33 +03:00
tophf
1c68ac1a3a
initialize editor page fully in First Meaningful Paint frame
...
* previously it wasn't the case when colorpicker option was enabled
* the cost of always loading colorview is ~1ms for >200ms here
2017-12-08 06:20:56 +03:00
narcolepticinsomniac
ce47e69b8a
Custom UI elements ( #291 )
2017-12-08 06:18:47 +03:00
tophf
99cce55a8e
ensure long words break before breaking the layout
...
supersedes 40075a0d
2017-12-07 23:21:27 +03:00
tophf
6a838e9d5e
make sure all pre-create hooks finished
2017-12-07 20:26:41 +03:00
tophf
7a07ee9fd9
unbreak narrow editor layout
2017-12-07 05:31:42 +03:00
tophf
9c8e835a80
relay scrolling over #header to usercss code section
2017-12-07 04:36:46 +03:00
tophf
d4ffa04bb6
raise applies-to widget above .CodeMirror-activeline
2017-12-07 04:00:26 +03:00
tophf
ebef35c28c
drop linter name from "see all rules" and make it a link
2017-12-07 01:21:05 +03:00
tophf
d998fb235a
center editor config icons
2017-12-07 01:20:04 +03:00
tophf
8f9705c165
recognize USO vars ending with -rgb
2017-12-06 06:34:02 +03:00
tophf
44ce51e54f
dim regexp-tester note and avoid extending the report width
2017-12-05 22:12:04 +03:00
tophf
61003b378c
usercss editor: show all section regexps in tester
2017-12-05 21:52:24 +03:00
tophf
963930ea1d
usercss editor: restore "Add" and "Regexp test", convert \ in regexps
2017-12-05 21:32:28 +03:00
tophf
bd0f460c56
usercss editor: use real theme color for inputs in widgets
2017-12-05 21:01:32 +03:00
tophf
edfca7bfed
match-highlighter-helper: do nothing when disabled
2017-12-05 07:40:28 +03:00
tophf
3e34c77625
clear previous token/selection highlight from scrollbar
2017-12-05 05:40:33 +03:00
tophf
8e992299c6
clear previous search highlight from scrollbar in all sections
2017-12-05 05:40:27 +03:00
tophf
cb7f1de348
use hyphens when breaking words (works only in FF though)
2017-12-05 05:02:28 +03:00
tophf
40075a0d39
forcefully break long labels in aligned options
2017-12-05 04:39:29 +03:00
tophf
1e1ff73612
simplify theme preloader
2017-12-05 04:39:29 +03:00
tophf
a6f63d096e
extract checkboxes to global.css, fixes
2017-12-05 04:39:29 +03:00
narcolepticinsomniac
7339643ec3
Custom checkbox and select elements
2017-12-05 04:39:29 +03:00
tophf
3e9810678a
fixup 0e61de29: use break/continue instead of return
...
fixes #282
2017-12-04 20:13:56 +03:00
tophf
01e8c3b080
disable spellchecking in input fields
2017-12-04 09:00:14 +03:00
tophf
48dda41e2e
fixup 99512da9
and 493c1a65: show csslint rule info in issues info box
2017-12-04 08:57:12 +03:00
tophf
c0c60fb7a2
add a terse invocation syntax for $element and rename it to $create
2017-12-04 08:57:12 +03:00
tophf
e905e4e079
properly escape/unescape regexp in applies-to widgets
2017-12-03 22:51:03 +03:00
tophf
489546e35c
use just one event listener per applies-to widget in usercss editor
2017-12-03 21:21:51 +03:00
tophf
f4677a7b7b
actually use the name when saving
2017-12-03 20:32:50 +03:00
tophf
9314fa0e8a
fixup 0e61de29: register the listener before setupLivePrefs()
2017-12-03 04:18:58 +03:00
tophf
8622dffe1e
usercss: make nextPrevMozDocument work with minified CSS
2017-12-03 04:05:35 +03:00
tophf
43fc26619d
editor: raise highlight limit from 10k to 100k chars in one line
2017-12-03 02:02:22 +03:00
tophf
a5c3c2e895
editor: use 'editor.lineWrapping' option on opening
2017-12-03 01:52:46 +03:00
tophf
904e6017f2
close showHelp() if input element has can-close-on-esc class
2017-12-03 00:22:03 +03:00
tophf
a5f31162f6
de-htmlize showKeymapHelp
2017-12-03 00:20:42 +03:00
tophf
0e61de2920
edit.js: pull out hooks, sections, keymap help, beautify
...
just a simple preparation for a proper encapsulation in the future
2017-12-02 23:46:00 +03:00
tophf
0de69e306d
code refactor: add $.remove() and $$.remove()
2017-12-02 19:54:54 +03:00
tophf
0ba3cfb725
FF: fix transition-bug-suppressor condition
2017-12-02 19:38:03 +03:00
tophf
e32fecd1e3
usercss: tint the active line's @mozdoc widget
2017-12-02 18:53:37 +03:00
tophf
fbd7526092
usercss: Alt-PgUp/PgDn go to prev/next @-moz-document
2017-12-02 18:29:12 +03:00
tophf
d263bc8e55
disallow more nav keys in colorpicker hotkey config dialog
2017-12-02 17:15:55 +03:00
tophf
5bdaacc049
stabilize token highlighting for the match/search mode
2017-12-01 21:16:19 +03:00
tophf
2760b0764b
fixup b41cc8bc: only rewrite query if regexp
2017-12-01 16:22:43 +03:00
tophf
bf8d33a3f4
followup for a60d53de: move #footer down when #lint is collapsed
2017-12-01 06:17:24 +03:00
tophf
b41cc8bca3
4x speed-up of showMatchesOnScrollbar
...
at the cost of a marginally reduced accuracy when line wrapping is enabled, but the difference shouldn't be more than a few pixels, presumably
2017-12-01 05:14:52 +03:00
tophf
a6fbc9db11
render lint squigglies 4x faster
...
* turns out codemirror lint addon doesn't open an overall op,
instead it creates an op for each marker.
* also, now there's no need to disable the lint option when initializing codemirror
2017-12-01 03:49:09 +03:00
tophf
71f3dfbffd
usercss: don't relint on save; mode is an object once initialized
2017-11-30 20:42:52 +03:00
tophf
a60d53de29
edit: workaround for <details> not showing the toggle
2017-11-29 19:27:31 +03:00
tophf
189342472e
manage: collapsible #options block
2017-11-29 19:27:31 +03:00
tophf
fc0b1dc739
fixup 493c1a65: missed some null checks and a return
2017-11-29 17:59:00 +03:00
tophf
be633bf903
usercss: update URL and sessionStorage on replacing the style
2017-11-29 13:35:27 +03:00
tophf
260cbddae0
usercss: force-refresh codemirror on saving to repaint vars
2017-11-29 13:27:55 +03:00
tophf
b995a9d316
usercssData.vars may be absent (e.g. in unsaved style)
...
fixes #267
2017-11-29 13:24:13 +03:00
tophf
bf13383c93
workaround for URLSearchParams not stripping "?" in chrome 49-51
2017-11-28 22:19:00 +03:00
tophf
39c6d897ed
mozImport: show hotkey in button tooltip
2017-11-28 20:07:38 +03:00
tophf
d39e9f6037
show most of the sidebar in big codemirror popups
2017-11-28 20:07:38 +03:00
tophf
493c1a65c0
worker for stylelint; hints in linter config popup
2017-11-28 20:07:37 +03:00
tophf
99512da9da
use CSSLint in a web werkker
2017-11-27 17:02:30 +03:00
tophf
761f6a5085
fix an ancient bug with setting tabSize option to a string
2017-11-27 14:54:19 +03:00
tophf
d660e6bd72
usercss validator: more precise error position report
2017-11-27 14:54:18 +03:00
tophf
a603cc081b
use the same "configure" icon in editor an manager
2017-11-27 14:53:34 +03:00
tophf
13d7e30a75
usercss saving: display errors from mozparser in <pre>
2017-11-27 06:55:12 +03:00
tophf
8d3fd9cc3b
fixups for a58f42de
(backtick) and 05677d93
(copy changed meta)
2017-11-27 03:19:31 +03:00
tophf
841e556f42
calc an actual per-item height even though CM doesn't seem to care
2017-11-27 02:59:44 +03:00
tophf
170bd0ccb1
reuse line index cache for posFromIndex
...
100ms -> 50ms rendering time in updateInvisible() for "RU AdList CSS Fixes" style
300ms -> 50ms is the final speedup with the widget height cache in 3fd4343c
2017-11-27 02:43:10 +03:00
eight
5dbd2249dd
Add: use cache template
2017-11-27 02:43:10 +03:00
tophf
3fd4343cfd
usercss: don't recalc widget height => spend 0 time in CM
...
300ms -> 100ms rendering time in updateInvisible() for "RU AdList CSS Fixes" style
2017-11-27 01:33:16 +03:00
tophf
05677d93b3
usercss: use cm.changeGeneration() to detect dirtiness
2017-11-27 00:57:25 +03:00
tophf
a58f42dee0
usercss editor: save as template when @name is empty
...
* reduced the flickering on page open
* show * in title for new styles
* align the values in the default template
* don't ask to save an untouched template
* don't spam the console with errors
* trivial code refactor and cosmetics
2017-11-26 18:43:40 +03:00
tophf
af64ec4ac0
show a real hotkey in Save button tooltip
2017-11-26 15:08:47 +03:00
tophf
74e6ea5a56
fixup c8c02805: +1 only when no previous widget found
2017-11-26 05:10:31 +03:00
tophf
c8c02805f4
fixup 82651ed6: recreate widgets for active line if needed
2017-11-25 17:44:32 +03:00
tophf
8f04e17d27
fix #223 - Android compatibility
2017-11-25 16:25:20 +03:00
tophf
febaefd8dc
don't show autocomplete on numbers
2017-11-25 04:30:19 +03:00
tophf
3ed98cb506
fixup 80547aef: autocomplete should fallback to original helper
2017-11-25 04:29:56 +03:00
tophf
7c0d8f0841
prevent inline overlays from breaking color swatches
2017-11-24 13:19:19 +03:00
tophf
7e4683d417
USO-vars in CSSLint
2017-11-24 13:19:19 +03:00
tophf
80547aef70
recognize USO-variables /*[[foo]]*/ and provide autocomplete hints
2017-11-24 13:19:18 +03:00
tophf
3152a7ebfe
simpler plain string method for same token check
2017-11-24 13:19:18 +03:00
tophf
8bff4a297e
disallow Space as a colorpicker hotkey
2017-11-24 13:19:17 +03:00
tophf
d2826d92f6
CodeMirror css mode: recognize "isolation"
2017-11-24 13:19:17 +03:00
tophf
c1d1c26c23
CodeMirror css mode: recognize "mix-blend-mode"
2017-11-24 13:19:16 +03:00
tophf
4fc54450b7
de-marginalize usercss editor; fix narrow @media
2017-11-24 13:19:15 +03:00
tophf
74701810b7
remove cruft; silence eslint
2017-11-24 13:19:15 +03:00
tophf
479d95711b
linter report expands/collapses on click; the state is saved
2017-11-24 13:19:15 +03:00
tophf
06cda0b2c1
fix colorpicker swatch glitches by monkeypatching match-highlighter
2017-11-24 13:19:14 +03:00