Commit Graph

207 Commits

Author SHA1 Message Date
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
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
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
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
493c1a65c0 worker for stylelint; hints in linter config popup 2017-11-28 20:07:37 +03:00
tophf
761f6a5085 fix an ancient bug with setting tabSize option to a string 2017-11-27 14:54:19 +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
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
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
a7b8286e4f remove textareas 2017-11-24 13:19:11 +03:00
tophf
64cb128b06 intercept the hotkey assigned to colorpicker via hotkeyRerouter 2017-11-24 13:19:09 +03:00
tophf
786cde781d pull out colorpicker-helper.js 2017-11-24 13:19:08 +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
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
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
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
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
eight
7543b8406f Fix: messageBox global 2017-11-09 15:56:29 +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
9a8c19b09b Fix: move isClean into unbeforeunload handler 2017-11-09 14:11:26 +08:00
eight
95e3ba13cd Fix: newStyleInUsercss -> newStyleAsUsercss 2017-11-09 09:12:14 +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
d981660983 Fix: drop getParams 2017-11-01 11:17:00 +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
eight
ce348d4f86 Fix: add isWarm flag to decide if the editor can be reloaded 2017-10-16 16:08:13 +08:00
eight
96a046f774 Fix: toggle style outside of the editor 2017-10-15 04:18:23 +08: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
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
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
da5626a6d7 Add: save usercss from multi-section editor 2017-10-06 17:05:51 +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
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
3c450e7d9d Fix: resize grip style 2017-09-13 20:28:19 +08:00
eight
b102aa0704 Fix: beforeunload warning 2017-09-13 16:56:16 +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
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
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
d4ddefe8a0 Merge branch 'master' of https://github.com/openstyles/stylus into dev-user-css 2017-09-12 03:40:56 +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
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
e69b6482b7 reopening a deleted style tab should switch to adding 2017-09-03 19:43:38 +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
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
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
3d5383ceaf debounce and subscribe updateLinter 2017-08-29 17:59:53 +03:00