Skip to content

Commit 2bf5d18

Browse files
Add support for autodetecting URLs and making hyperlinks (#7691)
This pull request is the initial implementation of hyperlink auto detection Overall design: - Upon startup, TerminalCore gives the TextBuffer some patterns it should know about - Whenever something in the viewport changes (i.e. text output/scrolling), TerminalControl tells TerminalCore (through a throttled function for performance) to retrieve the visible pattern locations from the TextBuffer - When the renderer encounters a region that is associated with a pattern, it paints that region differently References #5001 Closes #574
1 parent 8e3f27f commit 2bf5d18

File tree

25 files changed

+968
-17
lines changed

25 files changed

+968
-17
lines changed

.github/actions/spell-check/dictionary/apis.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ rx
5353
serializer
5454
SIZENS
5555
spsc
56+
sregex
5657
STDCPP
5758
strchr
5859
syscall
@@ -62,6 +63,7 @@ tx
6263
UPDATEINIFILE
6364
userenv
6465
wcstoui
66+
wsregex
6567
XDocument
6668
XElement
6769
XParse

.github/actions/spell-check/dictionary/dictionary.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152433,6 +152433,7 @@ ft-lb
152433152433
ftncmd
152434152434
ftnerr
152435152435
FTP
152436+
ftp
152436152437
ft-pdl
152437152438
FTPI
152438152439
FTS

.github/actions/spell-check/dictionary/names.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ dhowett
88
Diviness
99
dsafa
1010
duhowett
11+
ekg
1112
ethanschoonover
1213
Firefox
1314
Gatta

.github/linters/.markdown-lint.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,13 @@ MD007:
2828
indent: 2 # Unordered list indentation
2929
MD013:
3030
line_length: 400 # Line length 80 is far to short
31+
MD024: false # Allow multiple headings with same content
3132
MD026:
3233
punctuation: ".,;:!。,;:" # List of not allowed
3334
MD029: false # Ordered list item prefix
3435
MD033: false # Allow inline HTML
3536
MD036: false # Emphasis used instead of a heading
37+
MD040: false # Allow ``` blocks in md files with no language specified
3638

3739
#################
3840
# Rules by tags #

NOTICE.md

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Do Not Translate or Localize
33

44
This software incorporates material from third parties. Microsoft makes certain
5-
open source code available at http://3rdpartysource.microsoft.com, or you may
5+
open source code available at [http://3rdpartysource.microsoft.com](http://3rdpartysource.microsoft.com), or you may
66
send a check or money order for US $5.00, including the product name, the open
77
source component name, and version number, to:
88

@@ -20,7 +20,7 @@ General Public License.
2020

2121
## jsoncpp
2222

23-
**Source**: https://github.com/open-source-parsers/jsoncpp
23+
**Source**: [https://github.com/open-source-parsers/jsoncpp](https://github.com/open-source-parsers/jsoncpp)
2424

2525
### License
2626

@@ -50,7 +50,7 @@ SOFTWARE.
5050

5151
## chromium/base/numerics
5252

53-
**Source**: https://github.com/chromium/chromium/tree/master/base/numerics
53+
**Source**: [https://github.com/chromium/chromium/tree/master/base/numerics](https://github.com/chromium/chromium/tree/master/base/numerics)
5454

5555
### License
5656

@@ -86,7 +86,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8686

8787
## kimwalisch/libpopcnt
8888

89-
**Source**: https://github.com/kimwalisch/libpopcnt
89+
**Source**: [https://github.com/kimwalisch/libpopcnt](https://github.com/kimwalisch/libpopcnt)
9090

9191
### License
9292

@@ -122,7 +122,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
122122

123123
## dynamic_bitset
124124

125-
**Source**: https://github.com/pinam45/dynamic_bitset
125+
**Source**: [https://github.com/pinam45/dynamic_bitset](https://github.com/pinam45/dynamic_bitset)
126126

127127
### License
128128

@@ -151,9 +151,9 @@ SOFTWARE.
151151
152152
```
153153

154-
## {fmt}
154+
## \{fmt\}
155155

156-
**Source**: https://github.com/fmtlib/fmt
156+
**Source**: [https://github.com/fmtlib/fmt](https://github.com/fmtlib/fmt)
157157

158158
### License
159159

@@ -188,3 +188,32 @@ of this Software are embedded into a machine-executable object form of such
188188
source code, you may redistribute such embedded portions in such object form
189189
without including the above copyright and permission notices.
190190
```
191+
192+
## interval_tree
193+
194+
**Source**: [https://github.com/ekg/IntervalTree](https://github.com/ekg/IntervalTree)
195+
196+
### License
197+
198+
```
199+
Copyright (c) 2011 Erik Garrison
200+
201+
Permission is hereby granted, free of charge, to any person obtaining a copy of
202+
this software and associated documentation files (the "Software"), to deal in
203+
the Software without restriction, including without limitation the rights to
204+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
205+
of the Software, and to permit persons to whom the Software is furnished to do
206+
so, subject to the following conditions:
207+
208+
The above copyright notice and this permission notice shall be included in all
209+
copies or substantial portions of the Software.
210+
211+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
212+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
213+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
214+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
215+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
216+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
217+
SOFTWARE.
218+
219+
```

0 commit comments

Comments
 (0)