Commit Graph

730 Commits

Author SHA1 Message Date
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
tophf
a30ef3ed14 restore the original match-highlighter and monkeypatch it 2017-11-24 13:19:14 +03:00
tophf
a7b8286e4f remove textareas 2017-11-24 13:19:11 +03:00
tophf
e1fae23927 init CM to usercss @preprocessor before setting the code 2017-11-24 13:19:11 +03:00
tophf
78bf2c8d9b close colorpicker config on Enter 2017-11-24 13:19:10 +03:00
tophf
612b21c732 register colorpicker command on first use 2017-11-24 13:19:09 +03:00
tophf
64cb128b06 intercept the hotkey assigned to colorpicker via hotkeyRerouter 2017-11-24 13:19:09 +03:00
tophf
d767ad7a8c autoLoadMode -> loadScript; chain to avoid flicker on load 2017-11-24 13:19:08 +03:00
tophf
786cde781d pull out colorpicker-helper.js 2017-11-24 13:19:08 +03:00
tophf
7bae73bcb4 add onclick for colorpicker-settings icon in usercss mode 2017-11-24 13:19:07 +03:00
tophf
6c858d6449 fix colorpicker hotkey config 2017-11-24 13:19:07 +03:00
tophf
b99391887d add colorpicker hotkey config icon [default: none]
* uses the last submitted color by default
* doesn't insert the default color until a change or the Enter key
* fix a few bugs in colorpicker introduced in the rewrite
2017-11-24 13:19:06 +03:00
tophf
7f37b8d1dd unify markup and CSS for icons within options 2017-11-24 13:19:05 +03:00
tophf
37a62b0407 fix/rewrite/integrate colorpicker
* full rewrite of colorview.js to make it 10-100 times faster (render on demand via extendMode)
* full rewrite of colorpicker.js to simplify CSS
* automatic light/dark theme based on current color of the editor
* fixes, tweaks, speedups
* color spot will always be on the left of its text i.e. no line break on wrapping
* support #RRGGBBAA and #RGBA hex colors
* support "transparent" as rgba(0, 0, 0, 0)
* HEX/hex toggle
* fix HSLA regexp
* Esc/Enter key to close
* innerHTML -> textContent
* toggle the feature correctly
* fade out before autohiding
* always show alpha 1 like devtools does
* set cursor:pointer only on the clickable part of the sliders
* bigger color format switcher with a tooltip
* autofocus input on open, disable spellcheck
* try not to obscure the source color spot & text
* restore focus without scrolling
2017-11-20 15:19:58 +03:00
tophf
9689288bdc new editor option: autoclose brackets/quotes [default: off] 2017-11-17 02:36:05 +03:00
tophf
09c16ac541 force break-wrapping in regexp-tester's details 2017-11-17 02:17:21 +03:00
tophf
559420a461 FF: outline the active code box
-webkit-focus-ring-color rgb value is used, but not the blurred effect (TODO)
2017-11-15 11:49:02 +03:00
tophf
9f4066faa1 code cosmetics: remove redundant comments 2017-11-15 11:36:24 +03:00
tophf
5a9227ce8c speedup usercss opening: combine a few ops 2017-11-15 11:35:54 +03:00
tophf
15c98bac9e fixup 8ca7c363: focus() must be the last action 2017-11-15 11:33:37 +03:00
tophf
82651ed6cd usercss: create applies-to widgets faster on load
only the visible portion is built immediately, the rest is throttled
2017-11-15 10:54:19 +03:00
tophf
06cc703887 use CSS variables for applies-to line widgets 2017-11-15 09:04:09 +03:00
tophf
14dbfdd915 update applies-to widget on any style changes 2017-11-15 08:32:22 +03:00
tophf
9868a1819c actually focus code after import 2017-11-15 08:15:06 +03:00
tophf
b9f6095db5 focus code on opening standard editor immediately 2017-11-15 04:53:37 +03:00
tophf
8ca7c36380 focus code on opening usercss editor 2017-11-15 04:27:33 +03:00
tophf
8517e392fe throttle mozImport after 100ms, display progress after 500ms
* Ctrl-Enter = append button
* Shift-Ctrl-Enter = replace button
* instantaneous readiness of import dialog on non-blank input
* code dedup: addSections()
* trimNewLines() -> trim()
2017-11-15 04:24:36 +03:00
tophf
102b5e03d4 superfast cm.isBlank() instead of !cm.getValue().trim() 2017-11-15 02:50:53 +03:00
tophf
e4cd984061 regexp tester: switch to existing tabs also in other windows 2017-11-14 09:49:07 +03:00
tophf
135d8d9c54 force wrapping in regexp-report summary 2017-11-14 09:38:09 +03:00
tophf
95be66cb61 convert another tHTML in edit.js to $element 2017-11-14 09:36:43 +03:00
tophf
70a827b033 dd69e1e5 followup + handle empty at-values
see #235
2017-11-14 08:55:53 +03:00
tophf
1d463d7820
Merge pull request #134 from eight04/dev-user-css
Install styles from *.user.css file
2017-11-14 08:22:56 +03:00
eight
7543b8406f Fix: messageBox global 2017-11-09 15:56:29 +08:00
eight
a1c1eb328b Add: draw line pointer for parsing error 2017-11-09 15:55:06 +08:00
eight
4d8268bb27 Fix: use messageBox 2017-11-09 14:40:46 +08:00
eight
c2687573b3 Add setStyleDirty, refactor replaceStyle 2017-11-09 14:11:27 +08:00
eight
d93bf05f64 Fix: isWarm -> isTouched 2017-11-09 14:11:27 +08:00
eight
6d411c01fc Fix: use sticky flag to avoid text slicing 2017-11-09 14:11:27 +08:00
eight
53770c0db6 i18n: appliesRemoveError 2017-11-09 14:11:26 +08:00
eight
9a8c19b09b Fix: move isClean into unbeforeunload handler 2017-11-09 14:11:26 +08:00
eight
3011ba836d Fix: isInit -> initialized 2017-11-09 14:11:26 +08:00
eight
95e3ba13cd Fix: newStyleInUsercss -> newStyleAsUsercss 2017-11-09 09:12:14 +08:00
eight
0d06f32735 Fix: updateMetas -> updateMeta 2017-11-09 09:12:13 +08:00
eight
48e565079c Fix: reindent promise 2017-11-09 09:12:12 +08:00
eight
eef17cc4f8 Fix: replaceMetas -> replaceMeta 2017-11-09 09:12:12 +08:00
eight
b4dfe5c836 Fix: use isArray 2017-11-09 09:12:12 +08:00
eight
c4c4b5638e Refactor: isUsercss 2017-11-09 09:12:12 +08:00
eight
92cadc03fa Fix: avoid return short circuit for editor selection 2017-11-09 09:12:11 +08:00
eight
2edd22e37c Fix: normalizeString -> unquote 2017-11-09 09:12:10 +08:00
eight
3844b3db73 Fix: cm.findPosH in one line 2017-11-09 09:12:10 +08:00
eight
0c64e6013b Fix: insertBefore -> insertAdjancentElement 2017-11-09 09:12:09 +08:00
eight
3d57fd4158 Fix: e.target -> this 2017-11-09 09:12:09 +08:00
eight
809414941e Refactor: add createApply 2017-11-09 09:12:08 +08:00
eight
3c5136171e Fix: use messageBox 2017-11-09 09:12:08 +08:00
eight
9d1b0884e5 Fix: use this.value 2017-11-09 09:12:08 +08:00
eight
191603ae01 Fix: makeInputEl -> makeLi 2017-11-09 09:12:07 +08:00
eight
caaeec08e4 Fix: use Math.max 2017-11-09 09:12:06 +08:00
eight
a7b73e859f Fix: use debounce 2017-11-09 09:12:06 +08:00
eight
285f3144ca Fix: style -> gutterStyle 2017-11-09 09:12:04 +08:00
eight
f70cf01155 Fix: move let definition into one line 2017-11-09 09:12:04 +08:00
eight
2b17c07cd6 Fix: use CodeMirror.defineExtension 2017-11-01 11:18:42 +08:00
eight
d981660983 Fix: drop getParams 2017-11-01 11:17:00 +08:00
eight
6a53ea423c Refactor: pull out createAppliesToLineWidget 2017-11-01 11:17:00 +08:00
eight
8f642dc05c Fix: drop innerHTML 2017-11-01 11:17:00 +08:00
eight
534803ccfd Fix: isWarm 2017-11-01 11:17:00 +08:00
eight
9dddbbba9f Fix: unused getName 2017-11-01 11:16:59 +08:00
eight
45da3ff50e Fix: style.id consistency 2017-11-01 11:16:59 +08:00
eight
13ca45a104 Fix: reorder global comment 2017-11-01 11:16:46 +08:00
eight
79b6266cf9 Fix: no new line before use strict 2017-11-01 11:13:57 +08:00
tophf
3c665aea08 widen editor input[type="number"], align to match siblings
fixes #221
2017-10-31 12:52:11 +03:00
eight
62748b3b79 Fix: use arrow function for IIFE 2017-10-30 01:22:10 +08:00
eight
adc0c8025a Fix: lazy load regexp tester 2017-10-30 01:07:08 +08:00
eight
ce348d4f86 Fix: add isWarm flag to decide if the editor can be reloaded 2017-10-16 16:08:13 +08:00
eight
0a6de8edb8 Add: make dirtyReporter.clear accept a key 2017-10-16 16:05:48 +08:00
eight
be4a896bc9 Fix: disable CSSLint option in stylus mode 2017-10-16 14:54:47 +08:00
eight
95902388a3 Fix: default linter hacks 2017-10-16 03:58:02 +08:00
eight
368bb34811 Fix: make updateLinter wait linterConfig to load 2017-10-15 05:19:22 +08:00
eight
96a046f774 Fix: toggle style outside of the editor 2017-10-15 04:18:23 +08:00
eight
a1ca416ef2 Fix: miss makeLink global 2017-10-15 02:59:28 +08:00
narcolepticinsomniac
e612a305cc Moz-import background
Fixes #209

I used `!important` because I think it might be necessary to override themes.
2017-10-12 19:50:41 -04:00
eight
54076d9f17 Merge branch 'master' of https://github.com/openstyles/stylus into dev-user-css 2017-10-12 16:28:18 +08:00
eight
ce2a21451a Add: usercss documentation link in the editor 2017-10-11 22:23:39 +08:00
eight
cd00c20fa4 Fix: newStyleFormat -> newStyleInUsercss 2017-10-09 00:52:05 +08:00
eight
1a6f9dfcaa Add: confirmation to replace dirty style 2017-10-09 00:43:00 +08:00
eight
228057d231 Add: make source editor work with newly created style 2017-10-08 23:26:55 +08:00
eight
8007f47c09 Revert "Add: save usercss from multi-section editor"
This reverts commit da5626a6d7.
2017-10-08 22:08:47 +08:00
eight
50a5bbecfa Add: regexp tester in applies-to line widget 2017-10-08 22:03:27 +08:00
eight
9ee7e2046c Refactor: split out regexp tester 2017-10-07 23:41:37 +08:00
eight
765231581c Fix: onbeforeunload handler would disable the save button 2017-10-07 18:10:00 +08:00
eight
fc51d806da Fix: force using stylelint when editor mode is not css 2017-10-07 18:00:25 +08:00
eight
da5626a6d7 Add: save usercss from multi-section editor 2017-10-06 17:05:51 +08:00
eight
c0514a6699 Change: default linter 2017-10-06 16:33:49 +08:00
eight
0f6de587ec Add: remove/add button in applies-to widget 2017-10-06 01:10:45 +08:00
eight
b69b834949 Fix: handle editor.options.expanded 2017-10-04 16:47:56 +08:00
eight
bb508b6933 Fix: import error is not displayed correctly 2017-10-04 16:39:02 +08:00
eight
04ebc837e2 Fix: use closeCurrentTab 2017-09-25 18:45:44 +08:00
eight
7365a8bada Fix: various fixes 2017-09-25 18:43:55 +08:00
eight
24cd85688f WIP: install page + editor 2017-09-24 16:54:21 +08:00
tophf
2d8adf1173 restore size on reopening a closed editor tab 2017-09-23 21:33:57 +03:00
eight
a4e3fba968 Fix: source editor is not closed when style is removed 2017-09-19 08:51:57 +08:00
eight
ba4c06ae82 Fix: lint initialize issue 2017-09-19 08:51:56 +08:00
eight
1d829fe8f5 Fix: split up usercss logic from saveStyle 2017-09-18 11:34:12 +08:00
eight
90ca2f2d23 Fix: autocomplete should use changes event 2017-09-18 07:33:07 +08:00
eight
a0495f466f Change style structure 2017-09-16 10:14:23 +08:00
eight
dc988a413e Revert: editors 2017-09-16 08:44:56 +08:00
eight
4d6f856473 Revert "Add: scroll the editor when cursor is outside of the editor"
This reverts commit 5a9ac5ce7d.
2017-09-16 07:33:12 +08:00
eight
a73493d5d2 Add: make applies-to line widget editable 2017-09-15 17:13:58 +08:00
eight
693a0483e3 Add: offset info 2017-09-15 15:36:44 +08:00
eight
ccb5f488e5 Fix: move to new format 2017-09-15 14:11:58 +08:00
eight
5a9ac5ce7d Add: scroll the editor when cursor is outside of the editor 2017-09-15 07:47:44 +08:00
eight
70bbc08ee0 Add editor.appliesToLineWidget option 2017-09-14 09:58:22 +08:00
eight
37c83ce187 Fix: shouldn't contain new line 2017-09-14 09:10:11 +08:00
eight
b7b5888431 Fix: should't edit the style object directly returned from getStyles cache 2017-09-14 09:09:40 +08:00
eight
97fd2aa083 Compat: firefox 2017-09-13 23:35:34 +08:00
eight
40a5dab311 Fix: script order of loadLinterAssets 2017-09-13 21:26:22 +08:00
eight
411df8b051 Fix: no need to use $$ for element existence check 2017-09-13 20:39:42 +08:00
eight
3c450e7d9d Fix: resize grip style 2017-09-13 20:28:19 +08:00
eight
b61b058824 Fix: pull out makeLink 2017-09-13 17:34:27 +08:00
eight
d7f0e3c176 fixup! Fix: draw title 2017-09-13 17:33:32 +08:00
eight
0e92e6d0c7 Add applies-to line widget 2017-09-13 16:58:03 +08:00
eight
6195e558e4 Fix: draw title 2017-09-13 16:57:01 +08:00
eight
b102aa0704 Fix: beforeunload warning 2017-09-13 16:56:16 +08:00
eight
31464bb499 Fix: reference error 2017-09-13 16:53:21 +08:00
tophf
3d0b811b27 edit: throttle setOption for 'theme' and 'lineWrapping'
when the style has more than 4 sections, these options are propagated to CM instances in 100 ms chunks, and a progress overlay is shown over the corresponding option element after 100 ms
2017-09-12 23:19:10 +03:00
eight
279c7d05a7 Fix: _style -> newStyle 2017-09-13 01:39:45 +08:00
eight
2506b957f8 Fix: rewrite loadScript, merge onDOMscripted, injectCSS, injectScript 2017-09-12 23:19:16 +08:00
eight
dc37588cd1 Fix: drop windowLoaded 2017-09-12 21:34:12 +08:00
eight
a1b8945996 Fix: remove try-catch in util.js 2017-09-12 21:28:26 +08:00
eight
23bd3e2cc7 fixup! Fix: err -> e 2017-09-12 20:48:03 +08:00
eight
9069562587 Fix: err -> e 2017-09-12 20:20:58 +08:00
eight
7c1b140de9 Fix: drop tHTML 2017-09-12 20:06:00 +08:00
eight
431dbdc81c Fix: remove escapeHtml completely 2017-09-12 20:03:24 +08:00
eight
39df704591 Fix: move editor creation to one structure 2017-09-12 20:01:27 +08:00
eight
4b2f7a1a46 Fix: make codeIsUpdated flag work properly 2017-09-12 19:57:43 +08:00
eight
e7eb38bba9 Fix: drop dummy Promise.resolve 2017-09-12 19:47:32 +08:00
eight
02c61b9276 Fix: self -> _ 2017-09-12 19:45:08 +08:00
eight
7612cd3614 Fix: move createEmptyStyle, windowLoaded into init 2017-09-12 19:39:01 +08:00
eight
27f8bc2f85 Fix: don't use leading underscore for function name 2017-09-12 19:37:06 +08:00
eight
e4d3025fca Revert changes to editors global 2017-09-12 19:34:04 +08:00
eight
de84248e05 Fix: add editors hack 2017-09-12 03:44:19 +08:00
eight
d4ddefe8a0 Merge branch 'master' of https://github.com/openstyles/stylus into dev-user-css 2017-09-12 03:40:56 +08:00
eight
3730a4e483 Fix: i18n and escapeHtml, url 2017-09-12 02:32:27 +08:00
eight
f305719db3 Fix: update progress 2017-09-12 01:23:32 +08:00
eight
a15493bfb9 Add: source editor 2017-09-12 00:10:27 +08:00
eight
1c3317202f Refactor: init 2017-09-12 00:10:26 +08:00
tophf
1daa713582 always hide lint report on switching the linter option 2017-09-04 01:07:07 +03:00
tophf
ea8eaf3146 swap parameters in prefs.subscribe 2017-09-03 20:06:30 +03:00
tophf
d60aea9333 followup d3b7b454: subscribe to 'editor.options.expanded' 2017-09-03 20:06:30 +03:00
tophf
e9b174f6e3 editor narrow mode: reduce options title margins 2017-09-03 19:43:38 +03:00
tophf
e69b6482b7 reopening a deleted style tab should switch to adding 2017-09-03 19:43:38 +03:00
tophf
0c205df108 fixup 85a5702f: refactor; properly clear renderLintReportNow 2017-09-03 19:36:33 +03:00
tophf
d3b7b45452 editor: toggle #options block upon clicking its title 2017-09-01 12:49:09 +03:00
tophf
1f237a98eb editor: focus the name input when saving a nameless style 2017-09-01 12:27:59 +03:00
tophf
874088e067 edit: focus the first section upon opening 2017-09-01 12:25:40 +03:00
tophf
96b47e7bdd editor: autoswitch to next/prev editor on cursor movement 2017-09-01 12:23:49 +03:00
tophf
8809384264 debounce indicateCodeChange per cm 2017-09-01 11:16:57 +03:00
tophf
0a5d9d86bf editor: on disabling CSS linter option, hide the report entirely 2017-09-01 11:08:48 +03:00
tophf
86ebca5e1a editor: show progress bar while opening huge styles 2017-09-01 00:52:38 +03:00
tophf
85a5702fe0 refactor lint report stuff, use $element 2017-08-31 23:19:43 +03:00
tophf
ec01914f17 separate 'rule' property in lint annotations 2017-08-31 22:25:28 +03:00
tophf
7f9c377d33 use 'changes' event to reduce overhead upon replaceAll 2017-08-31 22:25:28 +03:00
tophf
ab97108e6f properly replace the editors in initWithStyle 2017-08-31 21:27:10 +03:00
tophf
799108e880 create code box in write-new-style editor immediately 2017-08-31 21:27:10 +03:00
tophf
0189ae1d64 show lint report on open earlier; lint on import 2017-08-31 21:27:07 +03:00
tophf
8960a9f5ce fixup 3c5d20f8: show detection results properly
fixes #180
2017-08-30 21:21:48 +03:00
tophf
916a3bced3 fixup bf4619fc possible OOB 2017-08-30 20:54:03 +03:00
tophf
bf4619fc2e exponentially speedup getEditorInSight to avoid delaying 'find'
related: #178
2017-08-30 20:44:41 +03:00
tophf
3c5d20f862 proper partial match detection and display in showRegExpTester
closes #180
2017-08-30 17:50:32 +03:00
tophf
58b1c5be81 fixup 508f71f2: revert to 'function' to use the correct 'this' 2017-08-30 16:32:08 +03:00
eight
dece4b57f3 Add: install styles from *.user.css file
Fix: handle dup name+namespace

Fix: eslint eqeqeq

Fix: trim @name's spaces

Add: check update for userstyle

Add: build CSS variable

Fix: only check dup when id is not provided

Refactor: userStyle2json -> userstyle.json

Add: style for input

Add: config dialog

Fix: preserve config during update

Fix: onchange doesn't fire on keyboard enter event

Fix: remove empty file

Add: validator. Metas must stay in the same line

Add: warn the user if installation failed

Fix: add some delay before starting installation

Add: open the editor after first installation

Fix: add openEditor to globals

Fix: i18n

Add: preprocessor. Move userstyle.build to background page.

Fix: remove unused global

Fix: preserved unknown prop in saveStyleSource() like saveStyle()

Add: edit userstyle source

Fix: load preprocessor dynamically

Fix: load content script dynamically

Fix: buildCode is async function

Fix: drop Object.entries

Fix: style.sections is undefined

Fix: don't hide the name input but disable it

Fix: query the style before installation

Revert: changes to editor, editor.html

Refactor: use term `usercss` instead of `userstyle`

Fix: don't show homepage action for usercss

Refactor: move script-loader to js/

Refactor: pull out mozParser

Fix: code style

Fix: we don't need to build meta anymore

Fix: use saveUsercss instead of saveStyle to get responsed error

Fix: last is undefined, load script error

Fix: switch to moz-format

Fix: drop injectContentScript. Move usercss check into install-user-css

Fix: response -> respond

Fix: globals -> global

Fix: queryUsercss -> filterUsercss

Fix: add processUsercss function

Fix: only open editor for usercss

Fix: remove findupUsercss fixme

Fix: globals -> global

Fix: globals -> global

Fix: global pollution

Revert: update.js

Refactor: checkStyle

Add: support usercss

Fix: no need to getURL in background page

Fix: merget semver.js into usercss.js

Fix: drop all_urls in match pattern

Fix: drop respondWithError

Move stylus -> stylus-lang

Add stylus-lang/readme

Fix: use include_globs

Fix: global pollution
2017-08-30 17:29:41 +08:00
tophf
6f0ab8113e suppress reverting to a blank in auto-import on paste 2017-08-30 10:51:29 +03:00
tophf
edc2ab0ead auto-open import dialog when pasted text has @-moz-document 2017-08-30 02:26:47 +03:00
tophf
f308d0be6c increase height of a single code box upon pasting 2017-08-30 02:04:41 +03:00
tophf
22824d9ad5 deepCopy linterConfig to avoid rule normalization by stylelint 2017-08-30 00:05:07 +03:00
tophf
e4ea7a44af updateLinter will be called by watchStorage on save 2017-08-29 18:30:39 +03:00
tophf
c7a0759216 don't run CSS linters in the config dialog json 2017-08-29 18:22:08 +03:00
tophf
3d5383ceaf debounce and subscribe updateLinter 2017-08-29 17:59:53 +03:00
tophf
c15082fed4 editor: preload lint gutters css; update on disabling 2017-08-29 17:12:39 +03:00
tophf
e65e3c9c0b fixup efc001c0: css_beautify is dodgy 2017-08-29 14:28:59 +03:00
tophf
73dc33d376 fixup f603d9b6: correctly apply 'highlight' selector 2017-08-29 00:12:53 +03:00
tophf
81e6720341 use $element in showLintHelp 2017-08-28 16:33:45 +03:00
tophf
76eb3f7e28 remove deprecated confirm() from onbeforeunload 2017-08-28 15:20:39 +03:00
tophf
efc001c01d fixup a44b4e78: css_beautify is exposed via exports 2017-08-28 15:20:38 +03:00
tophf
dd6182aef3 lint issues list: show rule name only on hover 2017-08-28 15:20:38 +03:00
tophf
9946f3c781 regroup some of lint* data and code
* all lint-related js files are prefixed by lint-
* config-related stuff is grouped in linterConfig
* CM helper is rewritten and moved in /edit now that CSSLint supports these features
* chromeSync methods that apply LZString got LZ in their names
* empty string is used for 'disabled' in linter selector
2017-08-28 15:20:37 +03:00
Rob Garrison
fdeffde2c3 Set selected linter during import 2017-08-27 17:20:48 -05:00
Rob Garrison
6c3501bf9a Use rules or config consistently 2017-08-27 17:20:48 -05:00
Rob Garrison
21e22c2b6f Rename CSSLint ruleset to config 2017-08-27 17:20:48 -05:00
Rob Garrison
1e03910b0b Rename & organize linter messages 2017-08-27 17:20:48 -05:00
Rob Garrison
5ad23bd681 Do not automatically update the linter after a config reset 2017-08-27 17:20:48 -05:00
Rob Garrison
cb177eba4b Add linter config reset tooltip 2017-08-27 17:20:47 -05:00
Rob Garrison
1a384142ba Refocus textbox after save/reset 2017-08-27 17:20:47 -05:00
Rob Garrison
e96f0808ed Rename CSSLint rule config file & variable 2017-08-27 17:20:47 -05:00
Rob Garrison
b00d9575f8 Clear linter config history 2017-08-27 17:20:47 -05:00
Rob Garrison
2c234893e2 Add config cancel button 2017-08-27 17:20:47 -05:00
Rob Garrison
2df6b8bca0 Clean up lint globals 2017-08-27 17:20:47 -05:00
Rob Garrison
95ff72b722 Make linter config JSON more readable 2017-08-27 17:20:47 -05:00
Rob Garrison
52af5c85c0 Don't show nested "rules" in config 2017-08-27 17:20:47 -05:00
Rob Garrison
e2228964d4 Fix issue when CSSLint isn't loaded 2017-08-27 17:20:47 -05:00
Rob Garrison
988af5f1b8 Store linter rules with sync & LZ compression 2017-08-27 17:20:47 -05:00
Rob Garrison
0cd88873e1 Show alert with invalid JSON and rule names 2017-08-27 17:20:47 -05:00
Rob Garrison
5b2cd77035 Fix indention 2017-08-27 17:20:47 -05:00
Rob Garrison
320fd07789 Rename as generic reset message 2017-08-27 17:20:47 -05:00
Rob Garrison
b7b99f0ed0 Disable non-essential stylelint rules 2017-08-27 17:20:47 -05:00
Rob Garrison
ac1ffa98b5 Add CSSLint rule configuration 2017-08-27 17:20:46 -05:00
Rob Garrison
b178d3d8ee Open CSSLint rule in a new tab 2017-08-27 17:20:46 -05:00
Rob Garrison
2ae5cde274 Linkify CSSLint rules. See #167 2017-08-27 17:20:46 -05:00
Rob Garrison
4e502e57eb Fix import into editor 2017-08-27 17:20:46 -05:00
Rob Garrison
afc38b0bc8 update element selectors in all files 2017-08-27 17:20:46 -05:00
Rob Garrison
ce906eb4b6 Move csslint-worker file 2017-08-27 17:20:45 -05:00
Rob Garrison
1fc17861db Remove "Unexpected" from stylelint messages 2017-08-27 17:20:45 -05:00
Rob Garrison
d563495c26 Fix no-inline-comments issues 2017-08-27 17:20:45 -05:00
Rob Garrison
a3b8b7d168 Fix eslint issue 2017-08-27 17:20:45 -05:00
Rob Garrison
e387d7a5e7 Remove lint issues overflow & ellipsis 2017-08-27 17:20:45 -05:00
Rob Garrison
5ce7a925cb Move stylelint-config to edit folder 2017-08-27 17:20:45 -05:00
Rob Garrison
75deeddc0e Fix linting issues table
Also fixed severity icon alignment
2017-08-27 17:20:45 -05:00
Rob Garrison
80ed34f3e7 Use correct multi-line statement formatting 2017-08-27 17:20:45 -05:00
Rob Garrison
5bfbab62d7 Use push instead of concat 2017-08-27 17:20:45 -05:00
Rob Garrison
bfe1ad60c2 Remove unnecessary braces 2017-08-27 17:20:45 -05:00
Rob Garrison
3e371f193a Set eslint no-inline-comments 2017-08-27 17:20:45 -05:00
Rob Garrison
5936d766f8 Update element selectors 2017-08-27 17:20:45 -05:00
Rob Garrison
b429735e86 Use loader script to load beautify 2017-08-27 17:20:44 -05:00
Rob Garrison
92a49759a9 Update empty stylelint rules on initial load 2017-08-27 17:20:44 -05:00
Rob Garrison
f36ce5c625 Fix undefined stylelintDefaultConfig 2017-08-27 17:20:44 -05:00
Rob Garrison
7da5bd1408 Remove link to jsonlint 2017-08-27 17:20:44 -05:00
Rob Garrison
9d1a1427a0 Fix stylelint settings json linting 2017-08-27 17:20:44 -05:00
Rob Garrison
775aec7c72 Add jsonlint resource 2017-08-27 17:20:44 -05:00
Rob Garrison
25ec79e8bb Fix jsonlint error message text 2017-08-27 17:20:44 -05:00
Rob Garrison
dded798ee3 Fix stylelint error message timer 2017-08-27 17:20:44 -05:00
Rob Garrison
7c5b4c2bcf Remove extra delay
It appears to no longer be an issue
2017-08-27 17:20:44 -05:00
Rob Garrison
29851a8de9 Dynamically load linter when selected 2017-08-27 17:20:44 -05:00
Rob Garrison
b1a7f8d4a2 Fix stylelint popup code & use codemirror 2017-08-27 17:20:44 -05:00
Rob Garrison
287f16dcfa Use preventDefault 2017-08-27 17:20:43 -05:00
Rob Garrison
b89fb440f7 Replace try/catch with tryJSONparse 2017-08-27 17:20:43 -05:00
Rob Garrison
fefb8f332c Rename function to be more precise 2017-08-27 17:20:43 -05:00
Rob Garrison
6bd1768b72 Remove unnecessary global 2017-08-27 17:20:43 -05:00
Rob Garrison
0ccdf2fd7f Remove disabling of unrelated js linting issue 2017-08-27 17:20:43 -05:00
Rob Garrison
9564c21282 Split global definitions 2017-08-27 17:20:43 -05:00
Rob Garrison
73e7a9b3f1 Add stylelint config icon tooltip 2017-08-27 17:20:43 -05:00
Rob Garrison
c2e294beff Fix js error when no linting issues exist 2017-08-27 17:20:43 -05:00
Rob Garrison
12a09976f2 Prevent vertical scrollbar on header 2017-08-27 17:20:43 -05:00
Rob Garrison
06cd78b643 Add stylelint settings popup & cleanup 2017-08-27 17:20:43 -05:00
Rob Garrison
07dce1006d Split out lint code from edit.js 2017-08-27 17:20:43 -05:00
Rob Garrison
dfa71f699e Add linter select option 2017-08-27 17:20:42 -05:00
Rob Garrison
a44b4e7822 Switch from CSSLint to stylelint 2017-08-27 17:20:42 -05:00
tophf
6f2883c6d3 remember window size only in active editor 2017-08-27 19:41:09 +03:00
tophf
a52c6ed9d7 avoid creating conflicts with stylelint PR 2017-08-27 18:03:59 +03:00
tophf
feea5e834e avoid avoiding to actually avoid
it was a Chrome bug workaround which became harmful now that it's fixed in Chrome
2017-08-27 17:50:53 +03:00
tophf
ec95e8e7b4 simplify tabs.onAttached 2017-08-27 17:42:59 +03:00
tophf
d1924c1d63 deglobalize onAttached listener for editor tabs
* bonus: one unconditional global listener less
* bonus: in FF the saved window size is restored on detaching
* theoretically possible drawback: 100+ editor tabs on a slow computer may be slower than before
2017-08-27 17:17:28 +03:00
tophf
738846a614 better remember and detect resizing of editor; FF-compatibility 2017-08-27 17:05:05 +03:00
tophf
6256f1ab2d fix narrow editor media query in FF: use column-count 2017-08-27 14:40:23 +03:00
tophf
92ab165192 don't restore size of editor window if it has many tabs
previously it happened occasionally on browser startup resulting in unwanted resizing of the main browser window
2017-08-18 17:09:02 +03:00
tophf
815f8ca959 also find styles for URLs with stripped #hash
kinda fixes #155

as per spec the fragment portion is ignored in @-moz-document:
https://www.w3.org/TR/2012/WD-css3-conditional-20120911/#url-of-doc
but we still respect url("foo#hash") set in userstyles
because the spec is outdated and doesn't account for SPA sites

collateral damage: simplified URLS.supported()
2017-08-18 13:18:19 +03:00
tophf
d2b81be9d1 editor: CM scroller height fix for resize-grip (fixup b45f51f1)
fixes #142
2017-08-09 16:56:39 +03:00
tophf
af41d646dd Don't show editor.contextDelete option in FF; #128 2017-07-31 19:39:44 +03:00
tophf
0d2d21b54d editor->manage: always highlight the just edited style 2017-07-23 18:33:55 +03:00
Jeremy Schomery
3c298995f1 a few fixes 2017-07-22 12:56:37 +03:00
Jeremy Schomery
3ccdb555da no insertAdjacentHTML usage on CM theme switching 2017-07-22 12:56:37 +03:00
Jeremy Schomery
53683dcbbd empty contents of showHelp() before appending childs; based on https://github.com/openstyles/stylus/pull/119#issuecomment-316372767 2017-07-22 12:56:37 +03:00
Jeremy Schomery
7affeedd3b removing tE() 2017-07-22 12:56:37 +03:00
Jeremy Schomery
0955fc852c removing a few more innerHTMLs 2017-07-22 12:56:28 +03:00
Jeremy Schomery
61971b97c8 tHTML uses parseFromString instead of innerHTML. showHelp now uses tHTML 2017-07-22 12:56:28 +03:00
Jeremy Schomery
5d46dcc33e customizeOpenDialog, openDialog, and originalOpenConfirm now use cloned template instead of innerHTML 2017-07-22 12:54:32 +03:00
Jeremy Schomery
0e9c8f290c optionsHtmlFromArray to optionsFromArray 2017-07-22 12:54:32 +03:00
Jeremy Schomery
7c8dbfc3a4 empty elements with textContent 2017-07-22 12:54:32 +03:00
tophf
eeb826ee97 showRegExpTester: don't blink favicons on typing 2017-07-22 12:54:32 +03:00
tophf
c963a13932 code cosmetics
Reorganize showRegExpTester()'s render stats code to better reflect the displayed structure/order of data
2017-07-22 12:54:32 +03:00
tophf
23c870ceb9 fixup b50c19a8: "errors" is now an array 2017-07-22 12:54:32 +03:00
tophf
b50c19a802 editor import: warn about invalid -moz-document functions
* fixes #118
* alleviates #116 by switching showRegExpTester() from innerHTML to DOM
2017-07-19 15:09:29 +03:00
Rob Garrison
8cfb37351d Remove unused variables 2017-07-16 14:40:13 -05:00
Rob Garrison
417e3b5de3 Add eqeqeq definition to eslint 2017-07-16 13:07:21 -05:00
Rob Garrison
24dd0cb562 More cleanup 2017-07-16 13:07:21 -05:00
Rob Garrison
1940318f0f Fix eslint issues & use arrow functions 2017-07-16 13:07:15 -05:00
Rob Garrison
11d8687af7 Wrap case statement to fix eslint issue 2017-07-14 04:42:55 -05:00
Rob Garrison
81484bbc37 Fix for-loop index declarations 2017-07-14 04:23:47 -05:00
Rob Garrison
01e63d5b1a Remove escaped single quote 2017-07-14 04:23:46 -05:00
Rob Garrison
a3e149a30e Fix & rename scoped state variable 2017-07-14 04:22:56 -05:00
Rob Garrison
1a630033bd Use a single declaration per line 2017-07-14 04:10:00 -05:00
Rob Garrison
61327bfaf1 Restore case declarations in edit.js 2017-07-14 03:33:59 -05:00
Rob Garrison
0037c699d9 Fix eslint issues 2017-07-12 16:26:21 -05:00
Rob Garrison
508f71f26b Change tabs to spaces in edit.js 2017-07-12 16:26:20 -05:00
Rob Garrison
bb33ff3981 Fix links & split out edit.css 2017-07-12 16:26:20 -05:00
Rob Garrison
7a9d629ec8 Restructure folders 2017-07-12 16:26:20 -05:00