Skip to content

Commit

Permalink
2.1.0
Browse files Browse the repository at this point in the history
New Editor (Codemirror, optimized)
EMMET Coding support
New ad program
Images url fix in serach results
  • Loading branch information
350d committed Jun 29, 2018
1 parent ffaa930 commit 27b8f25
Show file tree
Hide file tree
Showing 19 changed files with 1,074 additions and 93 deletions.
Binary file added stylish.2.1.0.zip
Binary file not shown.
6 changes: 3 additions & 3 deletions stylish.safariextension/Info.plist
Expand Up @@ -5,17 +5,17 @@
<key>Author</key>
<string>Vladimir Sobolev</string>
<key>Builder Version</key>
<string>13604.3.5</string>
<string>13605.2.8</string>
<key>CFBundleDisplayName</key>
<string>Stylish</string>
<key>CFBundleIdentifier</key>
<string>com.sobolev.stylish</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleShortVersionString</key>
<string>2.0.8</string>
<string>2.1.0</string>
<key>CFBundleVersion</key>
<string>2.0.8</string>
<string>2.1.0</string>
<key>Chrome</key>
<dict>
<key>Context Menu Items</key>
Expand Down
72 changes: 72 additions & 0 deletions stylish.safariextension/assets/codemirror/active-line.js
@@ -0,0 +1,72 @@
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE

(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
var WRAP_CLASS = "CodeMirror-activeline";
var BACK_CLASS = "CodeMirror-activeline-background";
var GUTT_CLASS = "CodeMirror-activeline-gutter";

CodeMirror.defineOption("styleActiveLine", false, function(cm, val, old) {
var prev = old == CodeMirror.Init ? false : old;
if (val == prev) return
if (prev) {
cm.off("beforeSelectionChange", selectionChange);
clearActiveLines(cm);
delete cm.state.activeLines;
}
if (val) {
cm.state.activeLines = [];
updateActiveLines(cm, cm.listSelections());
cm.on("beforeSelectionChange", selectionChange);
}
});

function clearActiveLines(cm) {
for (var i = 0; i < cm.state.activeLines.length; i++) {
cm.removeLineClass(cm.state.activeLines[i], "wrap", WRAP_CLASS);
cm.removeLineClass(cm.state.activeLines[i], "background", BACK_CLASS);
cm.removeLineClass(cm.state.activeLines[i], "gutter", GUTT_CLASS);
}
}

function sameArray(a, b) {
if (a.length != b.length) return false;
for (var i = 0; i < a.length; i++)
if (a[i] != b[i]) return false;
return true;
}

function updateActiveLines(cm, ranges) {
var active = [];
for (var i = 0; i < ranges.length; i++) {
var range = ranges[i];
var option = cm.getOption("styleActiveLine");
if (typeof option == "object" && option.nonEmpty ? range.anchor.line != range.head.line : !range.empty())
continue
var line = cm.getLineHandleVisualStart(range.head.line);
if (active[active.length - 1] != line) active.push(line);
}
if (sameArray(cm.state.activeLines, active)) return;
cm.operation(function() {
clearActiveLines(cm);
for (var i = 0; i < active.length; i++) {
cm.addLineClass(active[i], "wrap", WRAP_CLASS);
cm.addLineClass(active[i], "background", BACK_CLASS);
cm.addLineClass(active[i], "gutter", GUTT_CLASS);
}
cm.state.activeLines = active;
});
}

function selectionChange(cm, sel) {
updateActiveLines(cm, sel.ranges);
}
});

0 comments on commit 27b8f25

Please sign in to comment.