Kovid Goyal
1a38b60463
URL detection: Fix IPv6 hostnames breaking URL detection
...
Fixes #7565
2024-06-21 05:53:21 +05:30
Kovid Goyal
89c431a624
Optimize implementation of clear screen escape code
2024-02-25 09:57:36 +05:30
Kovid Goyal
6c2ef90033
Add some const for functions taking ColorProfile
2024-02-25 09:57:32 +05:30
Kovid Goyal
718f4b328f
Go back to a single code path for drawing text
...
Slightly reduces pure ASCII performance and improves Unicode
performance. We should be able to get pure ASCII performance back
via SIMD eventually.
2024-02-25 09:57:30 +05:30
Kovid Goyal
71bf099041
Speed up drawing of printable ascii chars
2024-02-25 09:57:28 +05:30
Kovid Goyal
307acb3f64
Add API to Screen to draw a set of printable ascii chars fast
2024-02-25 09:57:28 +05:30
Sergei Grechanik
d63eeada73
Image placement using Unicode placeholders
...
This commit introduces the Unicode placeholder image placement method.
In particular:
- Virtual placements can be created by passing `U=1` in a put command.
- Images with virtual placements can be displayed using the placeholder
character `U+10EEEE` with diacritics indicating rows and columns.
- The image ID is indicated by the foreground color of the placeholder.
Additionally, the most significant byte of the ID can be specified via
the third diacritic.
- Underline color can be optionally used to specify the placement ID.
- A bug was fixed, which caused incomplete image removal when it was
overwritten by another image with the same ID.
2023-02-21 18:23:16 -08:00
Kovid Goyal
03abbb315a
Fix using cursor=none not working on text that has reverse video
...
Fixes #5897
2023-01-18 09:23:49 +05:30
Kovid Goyal
68cf9f7514
Switch to tracking linewrap on the last cell in a line
...
This allows us to have newline not affect the wrap status of a line.
Now a lines wrapping status is changed only when the last cell
in the line is changed. This actually matches the behavior of many other
terminal emulators so is probably a good thing from a ecosystem
compatibility perspective.
The fish shell expects this weird behavior of newline not changing
wrapping status, for unknown reasons, which is the actual motivation for
doing all this work.
Fixes #5766
2022-12-26 20:26:21 +05:30
Kovid Goyal
307ce1cf87
Remove not needed wrapper function since now we use a struct to set attrs
2022-12-23 13:50:55 +05:30
Kovid Goyal
0509855930
Allow getting the last non-empty command output easily via an action or remote control
...
Fixes #4973
2022-05-28 15:19:24 +05:30
Kovid Goyal
e06b774174
Avoid double scan of output to look for escape codes
2022-02-13 17:33:13 +05:30
Kovid Goyal
a4abe26d32
Fix copy ansi to clipboard ignoring newlines
2022-02-13 15:09:14 +05:30
Kovid Goyal
ce8b0cf748
Allow using line_as_ansi with ranges
2022-02-09 21:40:33 +05:30
Kovid Goyal
a62e831932
Clear prompt markings when erasing the display
...
Fixes prompt detection failing after ctrl+l
2021-11-24 08:17:04 +05:30
Kovid Goyal
93dbcab10a
Refactor code to get cell colors
2021-10-28 13:35:30 +05:30
Kovid Goyal
729cea88f3
More sophisticated OSC 133 parsing with support for secondary prompts
2021-10-22 11:54:54 +05:30
Luflosi
0fe7796df0
Fix Clang warning
...
Without this, Clang would complain:
```
In file included from kitty/fonts.c:9:
In file included from kitty/fonts.h:9:
kitty/lineops.h:67:29: error: suggest braces around initialization of subobject
[-Werror,-Wmissing-braces]
const CellAttrs zero = {0};
^
{}
```
2021-08-19 22:52:36 +02:00
Kovid Goyal
ef76c075e0
Get rid of bits from CellAttrs
2021-08-18 10:06:08 +05:30
Kovid Goyal
780e526143
Use a union for cell attributes
...
Cleaner code, no performance impact
2021-08-18 10:06:08 +05:30
Kovid Goyal
1f5fa03015
Use a union for line attrs
...
Allows faster construction of Line objects without needing to set
individual booleans. And cleaner code.
2021-08-18 10:06:08 +05:30
Kovid Goyal
196200d03f
Dont reflow the current prompt when resizing
...
This ensures that there is no leftover line when the shell redraws the prompt,
by making the prompt a simple single character prompt before rewrapping.
2021-08-18 10:06:04 +05:30
Kovid Goyal
4a9a021b2c
DRYer
2021-08-18 10:06:04 +05:30
Kovid Goyal
0d4237f802
Mark prompt lines
2021-08-18 10:06:04 +05:30
Kovid Goyal
4ab299d0af
When reflowing the screen, also reflow the saved cursor position
2021-06-03 15:35:48 +05:30
Kovid Goyal
cf3662442f
Fix #3460
2021-04-09 16:56:53 +05:30
Kovid Goyal
ca7587c084
Allow skipping zero cells when converting a line to unicode
2021-03-23 09:53:22 +05:30
Kovid Goyal
d743aff4bc
Make the code to copy lines into linebufs general
2021-03-17 22:02:47 +05:30
Kovid Goyal
071986138b
Cleanup previous merge
2021-03-17 13:43:26 +05:30
Eddie Lebow
4682da83c1
Add linebuf_continued_lines_count()
2021-03-17 02:27:58 -04:00
Eddie Lebow
c93c87e8fe
Add linebuf_add_line_to_top()
2021-03-17 00:09:03 -04:00
Eddie Lebow
6c44b4f451
Add historybuf_pop_line()
2021-03-15 23:59:26 -04:00
Kovid Goyal
e0f5c39297
Get rid of unneeded malloc in as_text_generic
2020-09-22 09:57:45 +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
33beecddda
Implement storage of URLs in a hash map
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
e2e701460b
Fix the CSI J (Erase in display ED) escape code not removing line continued markers
...
Fixes #2809
Remains to write tests for this.
2020-06-29 14:17: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
Kovid Goyal
eacf849e3a
Add bounds check to left_shift_line()
...
Fixes #2710
2020-05-31 08:10:58 +05:30
Andrew Mayorov
9fe631ee3f
Provide support for CSI REP control code
2020-05-29 01:05:49 +03:00
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
e03aabd972
Some consting
2020-02-25 20:03:14 +05:30
Kovid Goyal
af8fdf1dbe
Dont use a macro for as_text_generic
2020-02-25 15:33:12 +05:30
Kovid Goyal
936f2186cc
Allow scrolling to marks
2020-01-15 07:11:34 +05:30
Kovid Goyal
35fb702833
Use only a single marker function
...
Multipe colors/expressions can instead be combined at definition time
2020-01-13 11:57:19 +05:30
Kovid Goyal
23bc2171c9
Avoid a double call for mark functions
2020-01-13 06:50:36 +05:30
Kovid Goyal
c905978874
Merge branch 'fix_issue_1924' of https://github.com/s1341/kitty
...
Fixes #1924
2019-08-26 10:19:50 +05:30
s1341
297963f6ab
Fix issue #1924 by making prev_cell persistent across line_as_ansi calls
2019-08-25 16:25:36 +03:00
Kovid Goyal
1369a36178
Exclude variation selectors when finding fallback font
2019-05-13 20:36:29 +05:30
Kovid Goyal
60de840d69
Merge branch 'selection_wide_hilight' of https://github.com/martinetd/kitty
2018-11-30 09:27:05 +05:30