Skip to content

Commit 5b5dca0

Browse files
committed
Improve CodeLens hyperlink underline.
1 parent 951d4c3 commit 5b5dca0

File tree

2 files changed

+11
-22
lines changed

2 files changed

+11
-22
lines changed

eclipse/codelens/org.eclipse.codelens/src/org/eclipse/jface/text/provisional/codelens/internal/CodeLensViewZone.java

+8-21
Original file line numberDiff line numberDiff line change
@@ -70,39 +70,26 @@ public void draw(int paintX, int paintY, GC gc) {
7070

7171
gc.setForeground(styledText.getDisplay().getSystemColor(SWT.COLOR_GRAY));
7272

73+
Font font = new Font(styledText.getDisplay(), "Arial", 9, SWT.ITALIC);
74+
gc.setFont(font);
7375
String text = getText(gc);
7476
if (text != null) {
77+
Point topLeft = null;
7578
int leading = getLeadingSpaces(styledText.getLine(super.getAfterLineNumber()));
7679
if (leading > 0) {
77-
Point topLeft = styledText.getLocationAtOffset(super.getOffsetAtLine() + leading);
80+
topLeft = styledText.getLocationAtOffset(super.getOffsetAtLine() + leading);
7881
paintX += topLeft.x;
7982
}
80-
Font font = new Font(styledText.getDisplay(), "Arial", 9, SWT.ITALIC);
81-
gc.setFont(font);
8283
int x = paintX;
8384
int y = paintY + 4;
8485
gc.drawText(text, x, y);
8586

8687
if (hoveredCodeLensEndX != null) {
8788
Point extent = gc.textExtent(text);
88-
gc.drawLine(hoveredCodeLensStartX, y + extent.y - 1, hoveredCodeLensEndX, y + extent.y - 1);
89+
int startX = topLeft != null ? topLeft.x : 0;
90+
gc.drawLine(startX + hoveredCodeLensStartX, y + extent.y - 1, startX + hoveredCodeLensEndX,
91+
y + extent.y - 1);
8992
}
90-
// if (getHover() != null && resolvedSymbols != null &&
91-
// resolvedSymbols.size() > 0) {
92-
// int hoverX = getHover().x;
93-
// StringBuilder s = new StringBuilder();
94-
// for (ICodeLens symbol : resolvedSymbols) {
95-
// Point extent = gc.textExtent(text);
96-
// //symbol.getCommand().getTitle()
97-
// }
98-
// //
99-
// styledText.setCursor(styledText.getDisplay().getSystemCursor(SWT.CURSOR_HAND));
100-
// Point extent = gc.textExtent(text);
101-
// gc.drawLine(x - 1, y + extent.y - 1, x + extent.x - 1, y +
102-
// extent.y - 1);
103-
// } else {
104-
// // styledText.setCursor(null);
105-
// }
10693
}
10794
}
10895

@@ -148,7 +135,7 @@ public String getText(GC gc) {
148135
hoveredCodeLensEndX = endX;
149136
hoveredCodeLens = codeLens;
150137
}
151-
}
138+
}
152139
i++;
153140
}
154141
return text.toString();

eclipse/jsdt/ts.eclipse.ide.jsdt.ui/plugin.xml

+3-1
Original file line numberDiff line numberDiff line change
@@ -767,6 +767,7 @@
767767

768768
<!-- TypeScript CodeLens providers -->
769769

770+
<!-- TypeScript "references" CodeLens -->
770771
<extension
771772
point="org.eclipse.codelens.codeLensProviders">
772773
<codeLensProvider
@@ -775,7 +776,8 @@
775776
target="typeScript.codeLens">
776777
</codeLensProvider>
777778
</extension>
778-
779+
780+
<!-- TypeScript "implementations" CodeLens -->
779781
<extension
780782
point="org.eclipse.codelens.codeLensProviders">
781783
<codeLensProvider

0 commit comments

Comments
 (0)