Mitchell Hashimoto
d4c4330d4d
copy!
2022-08-05 11:37:02 -07:00
Mitchell Hashimoto
0855d391a8
fix selection of a single character
...
This logic is truly terrible and I know for certain there is an easier
way to calculate this. I also know there are some bugs here. But, the
user-facing result is not bad so let's start with this.
2022-08-04 16:53:10 -07:00
Mitchell Hashimoto
40161a9eff
track mouse state, setup selection state on cursor move with click
2022-08-04 14:21:40 -07:00
Mitchell Hashimoto
bb0b95732e
opengl: support extension iteration, list in debug mode
2022-08-04 11:13:56 -07:00
Mitchell Hashimoto
e163e4962b
refactor cursor implementation, implement cursor visible (mode 25)
...
This cleans up a ton of state management around cursor styles,
visibility, blinking, etc. This was long in the tooth and when I was
trying to implement mode 25 I realized it was impossible with the
spaghetti mess I had. This made it really clean.
With this refactor, the Window keeps the "terminal_cursor" field the
proper state, and the render callback properly updates the gpu cells for
the cursor settings.
This also implements mode 25 (cursor visible) which makes neovim not
"flash" when vertically scrolling a vertical split. Neovim does some
cursor stuff but while doing so hides the cursor. This now respects
that.
2022-08-03 21:39:42 -07:00
Mitchell Hashimoto
1680aee880
some logging improvements
2022-08-03 21:13:05 -07:00
Mitchell Hashimoto
befeb08b3d
add a lot more tracing as I hunt down some performance things
2022-08-03 09:56:32 -07:00
Mitchell Hashimoto
0bc8300e74
remove unused line
2022-08-02 21:45:20 -07:00
Mitchell Hashimoto
40cec18943
implement DECSASD by just blackholing the output for now
...
We don't want to support status lines, and if anything sends us status
line information we don't want it to mess up the main display, so just
drop it.
2022-08-02 11:03:01 -07:00
Mitchell Hashimoto
2b80699179
cursor position absolute needs to ignore all the offset stuff
2022-08-02 10:30:20 -07:00
Mitchell Hashimoto
1fbfc8a664
update Zig nightly
2022-08-02 09:27:05 -07:00
Mitchell Hashimoto
5c8c9d8e3c
support DECCOLM
...
This gets vttest page 1 and page 2 now FULL passing.
We now crash on page 3. This is a lingering bug in our grid code
though and we need to find it anyways so we'll keep the crash in.
2022-07-24 16:06:04 -07:00
Mitchell Hashimoto
3dbe9cba43
clean up unreachables with log statements
2022-07-22 13:54:16 -07:00
Mitchell Hashimoto
d672bedec7
alternate screen buffer (mode 1049) now supported
2022-07-22 13:36:16 -07:00
Mitchell Hashimoto
5564bd7213
cursor belongs to screen (prep for alternate screen)
2022-07-22 13:08:40 -07:00
Mitchell Hashimoto
f445de7568
CSI: Insert Blanks (ESC [ n @)
2022-07-22 09:58:39 -07:00
Mitchell Hashimoto
6641fcbd4c
add --font-size flag for font size in pixels
2022-07-21 21:35:49 -07:00
Mitchell Hashimoto
8dbb6343f4
KIND OF handle mode 3 (132 col mode)
...
This gets vttest looking slightly better on test 1, page 4. It still
isn't correct but we're looking better.
2022-07-15 09:34:17 -07:00
Mitchell Hashimoto
1f12577b8c
use packed struct for modes
2022-07-15 09:18:54 -07:00
Mitchell Hashimoto
07d5e3c588
scroll down with no scrollback fixes
2022-07-11 06:53:21 -07:00
Mitchell Hashimoto
f602d09d5d
hook up scrolling, kind of works, kind of broke
2022-07-10 17:04:19 -07:00
Mitchell Hashimoto
9f3e6344cc
fix build
2022-07-10 15:49:17 -07:00
Mitchell Hashimoto
4b6968e0d1
enable/disable autowrap
2022-07-08 17:43:52 -07:00
Mitchell Hashimoto
d15ab77c3a
handle inversion with screen inversion properly
2022-06-30 10:12:46 -07:00
Mitchell Hashimoto
527d8baaa0
invert attribute
2022-06-30 10:05:47 -07:00
Mitchell Hashimoto
bcc6b7604d
fix paste outputting "v"
2022-06-26 16:39:48 -07:00
Mitchell Hashimoto
fae36f4e65
reverse colors
2022-06-26 11:56:15 -07:00
Mitchell Hashimoto
96d2de8f60
enq and cursor report with origin mode
2022-06-25 11:04:48 -07:00
Mitchell Hashimoto
245b9642f9
save and restore cursor
2022-06-25 10:56:41 -07:00
Mitchell Hashimoto
090e580cc7
setting and clearing tab stops
2022-06-24 18:15:14 -07:00
Mitchell Hashimoto
4d2d4322f4
implement VT
2022-06-24 18:00:42 -07:00
Mitchell Hashimoto
4661b73d01
NEL next line
2022-06-24 17:55:38 -07:00
Mitchell Hashimoto
51b2786a3b
hook up IND index
2022-06-24 17:53:17 -07:00
Mitchell Hashimoto
83377c7470
decaln
2022-06-24 09:31:55 -07:00
Mitchell Hashimoto
7dbe6b941e
origin mode set cursor pos
2022-06-22 16:06:48 -07:00
Mitchell Hashimoto
b0fcbd0c8f
only slow down to 15 fps
2022-05-21 21:08:26 -07:00
Mitchell Hashimoto
b47f2e6eef
fixing more bugs
2022-05-21 20:39:20 -07:00
Mitchell Hashimoto
acd45efe64
more efficient eraseLines
2022-05-21 18:58:53 -07:00
Mitchell Hashimoto
117cc5c5f1
various fixes
2022-05-21 17:45:33 -07:00
Mitchell Hashimoto
00a9987cd9
bracketed paste
2022-05-20 16:01:57 -07:00
Mitchell Hashimoto
92b7488449
super+v to paste
2022-05-20 15:52:03 -07:00
Mitchell Hashimoto
ac6755f56b
set the window cursor to the ibeam
2022-05-20 15:21:47 -07:00
Mitchell Hashimoto
3538e6782b
update cursor on request from shell
2022-05-20 13:51:18 -07:00
Mitchell Hashimoto
37f621bc19
plumb CSI to set cursor style, but haven't implemented any styles
2022-05-19 21:43:30 -07:00
Mitchell Hashimoto
fd747ce274
implement device status request
2022-05-19 20:39:12 -07:00
Mitchell Hashimoto
6e86afba17
update the font atlas if there are changes
2022-05-19 20:24:28 -07:00
Mitchell Hashimoto
58b18a26f5
cursor left
2022-05-19 15:56:06 -07:00
Mitchell Hashimoto
57f257fd77
cli args support optional types
2022-05-19 15:20:28 -07:00
Mitchell Hashimoto
3b54d05aec
CLI parsing, can set default foreground/background color
2022-05-19 14:00:35 -07:00
Mitchell Hashimoto
751f97220e
terminal: implement resizing in a basic way
2022-05-16 11:02:33 -07:00