[occur] highlighting occur search term in occur mode
This commit is contained in:
parent
f351c9de38
commit
6f68042545
2 changed files with 35 additions and 3 deletions
|
|
@ -209,6 +209,14 @@
|
|||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.ace_marker-layer .ace_occur-highlight {
|
||||
position: absolute;
|
||||
z-index: 4;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.ace_line .ace_fold {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ var oop = require("./lib/oop");
|
|||
var Range = require("./range").Range;
|
||||
var Search = require("./search").Search;
|
||||
var Document = require("./document").Document;
|
||||
var SearchHighlight = require("./search_highlight").SearchHighlight;
|
||||
|
||||
/**
|
||||
* @class Occur
|
||||
|
|
@ -99,6 +100,13 @@ oop.inherits(Occur, Search);
|
|||
return true;
|
||||
}
|
||||
|
||||
this.highlight = function(sess, regexp) {
|
||||
var hl = sess.$occurHighlight = sess.$occurHighlight || sess.addDynamicMarker(
|
||||
new SearchHighlight(null, "ace_occur-highlight", "text"));
|
||||
hl.setRegexp(regexp);
|
||||
sess._emit("changeBackMarker"); // force highlight layer redraw
|
||||
}
|
||||
|
||||
this.display = function(session, options) {
|
||||
this.$originalDoc = session.doc;
|
||||
var found = this.matchingLines(session, options),
|
||||
|
|
@ -107,14 +115,13 @@ oop.inherits(Occur, Search);
|
|||
occurDoc.$occur = this;
|
||||
occurDoc.$occurMatchingLines = found;
|
||||
session.setDocument(occurDoc);
|
||||
session.highlight(null);
|
||||
session.highlight(options.re);
|
||||
this.highlight(session, options.re);
|
||||
session._emit('changeBackMarker');
|
||||
}
|
||||
|
||||
this.displayOriginal = function(session) {
|
||||
session.setDocument(this.$originalDoc);
|
||||
session.highlight(null);
|
||||
this.highlight(session, null);
|
||||
session._emit('changeBackMarker');
|
||||
}
|
||||
|
||||
|
|
@ -166,6 +173,23 @@ oop.inherits(Occur, Search);
|
|||
|
||||
}).call(Occur.prototype);
|
||||
|
||||
var dom = require('./lib/dom');
|
||||
(function patchHighlightMarkerStyling() {
|
||||
var id = 'incremental-occur-highlighting',
|
||||
css = 'div.ace_occur-highlight {\n'
|
||||
+ " border-radius: 4px;\n"
|
||||
+ "border: 8px solid rgba(87, 255, 8, 0.25);\n"
|
||||
+ "box-shadow: 0 0 4px rgb(91, 255, 50);\n"
|
||||
+ "}\n"
|
||||
+ '.ace_dark div.ace_occur-highlight {\n'
|
||||
+ "border: 8px solid rgb(80, 140, 85);\n"
|
||||
+ "box-shadow: 0 0 4px rgb(60, 120, 70);\n"
|
||||
+ '}\n';
|
||||
dom.importCssString(css, id);
|
||||
})();
|
||||
|
||||
window.Occur = Occur
|
||||
window.Document = Document
|
||||
|
||||
exports.Occur = Occur;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue