Sighery
10533c3eba
Hints kitten: validate IPs with ipaddress
...
On the initial commit of this feature, IPs were just matched with a
very simple regex that prioritised simplicity/readability over
accuracy.
This commit adds a postprocessor for ip matches that makes use of
Python's `ipaddress` in the standard library to validate all the IP
matches.
This way we don't need huge and complex regex patterns to match _and_
validate the IPs, and we can just use `ipaddress` to abstract us from
implementing all the validation logic into the regex pattern.
2020-10-05 20:11:25 +02:00
Sighery
b4415c90f9
Hints kitten: add support for IPs (v4 and v6)
...
It selects v4 and v6 IPs with a simple regex that doesn't actually
check for the validity of the IPs.
2020-10-05 20:11:22 +02:00
Kovid Goyal
fb72be41f4
Add a test for serializing id less hyperlinks
2020-09-22 17:52:40 +05:30
Kovid Goyal
9d4246a285
Output hyperlink markup when serializing as ANSI
2020-09-22 16:18:22 +05:30
Kovid Goyal
fdaf857885
Add more tests for pagerhist
2020-09-22 09:05:40 +05:30
Kovid Goyal
444080f320
Make wcswidth useable in a streaming fashion
2020-09-21 15:55:22 +05:30
Kovid Goyal
b5007ba276
Store pager history in UTF-8
...
Reduces storage requirement by a fator of 4 at the cost of some CPU
usage, to encode to UTF-8
2020-09-21 12:29:10 +05:30
Kovid Goyal
bf19d2b156
Add some tests for the pagerhist code
2020-09-21 09:08:46 +05:30
Kovid Goyal
a78515e5bf
Remove the max size limit for line_as_ansi
...
Needed for output of hyperlinks, also more efficient, since avoids
malloc per line. Also fix pagerhist not having SGR reset at the start of
every line.
2020-09-20 11:26:59 +05:30
Kovid Goyal
581126c748
More powerful match criteria for fragments
2020-09-19 07:31:17 +05:30
Kovid Goyal
0d6bca3e5d
Allow specifying rules to perform arbitrary actions in kitty when opening URLs
2020-09-18 15:01:25 +05:30
Kovid Goyal
6461dccbdc
Make wcswidth ignore more escape codes
...
Needed to ignore OSC 8 hyperlinks since we will
eventually have to send those with SGR formatting to the hints
kitten.
2020-09-17 20:16:17 +05:30
Kovid Goyal
399a1f8fee
Add an option to disable OSC 8
2020-09-10 10:47:28 +05:30
Kovid Goyal
9293d9b0ed
Add some tests for hyperlink marking
2020-09-10 10:47:28 +05:30
Kovid Goyal
c8e2061e2a
Move hyperlink to end of hash table when re-referenced
2020-09-10 10:47:27 +05:30
Kovid Goyal
78dc93721d
Add tests for hyperlink storage
2020-09-10 10:47:27 +05:30
Kovid Goyal
e99d93ca30
Implement parsing of OSC 8
...
Also start work on storing hyperlinks with cells
2020-09-10 10:47:24 +05:30
Kovid Goyal
eca53bfab0
Add a new escape code to allow terminal programs to trigger desktop notifications
...
Fixes #1474
2020-08-21 20:29:54 +05:30
Kovid Goyal
67f60847ee
Fix the spawn test in the bypy environment
...
Required the launcher to be built since the pre-built
one was being used. Fixes #2881
2020-07-29 15:11:35 +05:30
Kovid Goyal
81bda736d8
Skip multiprocessing spawn monkeypatch test on 32bit
2020-07-28 14:15:31 +05:30
Juho Peltonen
1decae2938
Change splits layout neighbors to only include real neighbors
2020-07-11 21:35:29 +03:00
Kovid Goyal
c9252e8639
When erasing in display upto cursor, the line containing the cursor should be marked as not continued.
...
Also add some tests for the action of ED on continued flags
2020-06-29 14:29:03 +05:30
Kovid Goyal
50414b333a
Re-enable the spawn tesRe-enable the spawn test
2020-06-23 20:43:40 +05:30
Kovid Goyal
36a20f7b00
Temporarily disable spawn test as it is failing in the Linux build container
...
Will investigate later
2020-06-23 17:37:04 +05:30
Kovid Goyal
2c6e5a6e73
Get multiprocessing working in kitty
...
Monkeypatch the stdlib multiprocessing module to
use kitty as its python interpreter for spawning worker
processes.
2020-06-21 14:47:24 +05:30
Kovid Goyal
9fa97e6187
Merge branch 'mouse-events' of https://github.com/trygveaa/kitty
2020-06-06 22:27:54 +05:30
Trygve Aaberge
8efe08c45b
Support more mouse buttons for terminal mouse events
...
Previously, the mouse back and forward buttons sent the same codes as
scroll up and down. Now they instead send the same codes as xterm. Mouse
button 10 (in X11 numbering) also now sends the same as xterm, instead
of not sending anything.
This also changes the `send_mouse_event` function which can be called
from kittens to use X11 numbering for mouse buttons instead of what it
previously used, which turns out to be a hybrid of X11 and GLFW. It was
documented to use GLFW numbering, but GLFW doesn't have numbers for
scroll events (that's separate events with x/y offsets) and 4 and 5 in
GLFW is actually back and forward, while `send_mouse_event` interpreted
it as scroll up and down.
That means that this is a breaking change for `send_mouse_event` because
it swaps the number for the middle and right button to be consistent
with X11. I did this because I think it's better to use one consistent
numbering scheme for the function, and because people probably know X11
numbering better than GLFW numbering and GLFW doesn't have numbers for
the scroll buttons.
2020-06-06 14:19:06 +02:00
Kovid Goyal
8b2fb105d0
Fix #2735
2020-06-05 19:24:40 +05:30
Kovid Goyal
9ba808ec3c
Merge branch 'ft/csi-code-rep' of https://github.com/keynslug/kitty
2020-06-01 14:31:34 +05:30
Andrew Mayorov
9fe631ee3f
Provide support for CSI REP control code
2020-05-29 01:05:49 +03:00
Luflosi
7931654a7c
Ensure valid UTF-8 when cutting string
2020-05-23 13:59:23 +02:00
Kovid Goyal
e97454c4a5
And ever more coalesce tests
2020-05-17 23:20:26 +05:30
Kovid Goyal
936dc74a27
Some more coalesce tests
2020-05-17 23:08:27 +05:30
Kovid Goyal
362e4266bb
Better coalescing of multiple symbol_maps
...
When specifying multiple symbol_map values in kitty.conf later ones
should override conflicting previous ones. Fixes #2662
2020-05-17 23:03:28 +05:30
Kovid Goyal
5e48ae8bac
pep8
2020-05-12 22:54:08 +05:30
Kovid Goyal
cdd943ded4
Port layout tests to new API
2020-05-12 22:43:55 +05:30
Kovid Goyal
c69b8870d2
Allow individually setting margins and padding for each edge (left, right, top, bottom)
2020-04-19 09:36:26 +05:30
Kovid Goyal
a08efa1fc5
Fix failing test
2020-04-17 19:57:37 +05:30
Trygve Aaberge
43af6e3b8a
Add support for sending mouse events from a kitten
...
This allows you to a control a program running in kitty from a kitten
using mouse events. If the program is not receiving mouse events of that
type, it is not sent.
2020-04-12 16:19:50 +02:00
Kovid Goyal
b4d08044a0
...
2020-04-12 17:01:39 +05:30
Kovid Goyal
d1a5d30233
Add another test for marking
2020-04-12 16:54:38 +05:30
Kovid Goyal
082546a1e7
Marks: Fix marks not handling wide characters and tab characters correctly
...
Fixes #2534
2020-04-12 13:28:21 +05:30
Kovid Goyal
0862e85577
Rewrite wcswidth as a state machine
2020-04-07 10:10:30 +05:30
Kovid Goyal
6357f7b811
Update wcswidth() to match new country flag rendering
2020-04-06 22:56:34 +05:30
Kovid Goyal
342f0981d8
Add tests for selection extension by right click
2020-03-18 20:57:19 +05:30
Kovid Goyal
12f37bcfad
Dont strip trailing punctuation from end of URL if next line startswith url characters
2020-03-15 08:47:52 +05:30
Kovid Goyal
e86c712424
Dont strip :code:& and :code:- from the end of URLs
...
Fixes #2436
2020-03-15 08:29:56 +05:30
Kovid Goyal
917559f883
more typing work
2020-03-13 16:13:26 +05:30
Kovid Goyal
353db678a2
Add typing to box_drawing
2020-03-08 21:30:50 +05:30
Kovid Goyal
645890ccc8
Make the set of URL prefixes that are recognized while hovering with the mouse configurable
...
Fixes #2416
2020-03-08 13:16:34 +05:30