Skip to content

Commit 0711bb0

Browse files
committed
Merge branch 'MiguelCastillo#master'
2 parents 79fb80f + 810ff5b commit 0711bb0

2 files changed

Lines changed: 48 additions & 1 deletion

File tree

less/brackets-git.less

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,16 @@
129129

130130
/* CodeMirror area */
131131
.CodeMirror {
132+
.CodeMirror-lines {
133+
pointer-events: all;
134+
}
135+
136+
.brackets-git-gutter-deleted-lines.brackets-git-gutter-hover,
137+
.brackets-git-gutter-removed.brackets-git-gutter-hover,
138+
.brackets-git-gutter-modified.brackets-git-gutter-hover {
139+
background-color: yellow !important;
140+
}
141+
132142
.brackets-git-gutter {
133143
width: @gutterWidth;
134144
margin-left: 1px;

src/GutterManager.js

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ define(function (require, exports) {
1414
Preferences = require("./Preferences"),
1515
Utils = require("src/Utils");
1616

17+
1718
var cm = null,
1819
results = null,
1920
gutterName = "brackets-git-gutter",
@@ -74,7 +75,10 @@ define(function (require, exports) {
7475

7576
cm.clearGutter(gutterName);
7677
results.forEach(function (obj) {
77-
cm.setGutterMarker(obj.line, gutterName, $("<div class='" + gutterName + "-" + obj.type + "'>&nbsp;</div>")[0]);
78+
var $marker = $("<div>")
79+
.addClass(gutterName + "-" + obj.type + " gitline-" + (obj.line + 1))
80+
.html("&nbsp;");
81+
cm.setGutterMarker(obj.line, gutterName, $marker[0]);
7882
});
7983

8084
// reopen widgets that were opened before refresh
@@ -243,6 +247,39 @@ define(function (require, exports) {
243247
}
244248
}
245249

250+
251+
var _timer;
252+
var $line = $(),
253+
$gitGutterLines = $();
254+
255+
$(document)
256+
.on("mouseenter", ".CodeMirror-linenumber", function (evt) {
257+
var $target = $(evt.target);
258+
259+
// Remove tooltip
260+
$line.attr("title", "");
261+
262+
// Remove any misc gutter hover classes
263+
$(".brackets-git-gutter-hover").removeClass("brackets-git-gutter-hover");
264+
265+
// Add new gutter hover classes
266+
$gitGutterLines = $(".gitline-" + $target.html()).addClass("brackets-git-gutter-hover");
267+
268+
// Add tooltips if there are any git gutter marks
269+
if ($gitGutterLines.length) {
270+
$line = $target.attr("title", "Click for more details");
271+
}
272+
})
273+
.on("mouseleave", ".CodeMirror-linenumber", function (evt) {
274+
if (_timer) {
275+
clearTimeout(_timer);
276+
}
277+
278+
_timer = setTimeout(function () {
279+
$(".gitline-" + $(evt.target).html()).removeClass("brackets-git-gutter-hover");
280+
}, 500);
281+
});
282+
246283
// API
247284
exports.refresh = refresh;
248285
exports.goToPrev = goToPrev;

0 commit comments

Comments
 (0)