Mitchell Hashimoto
32a1c6ec06
config: ability to format all field types except tagged unions
2024-01-20 14:41:49 -08:00
Mitchell Hashimoto
9369baac60
cli: empty field resets optionals to null
2024-01-20 12:50:11 -08:00
Mitchell Hashimoto
33c4c328b6
config: file formatter
2024-01-20 12:43:15 -08:00
Mitchell Hashimoto
7595b9b4bf
re-add helpgen
2024-01-20 09:49:27 -08:00
Mitchell Hashimoto
1778905f53
cli: add help command
2024-01-20 09:49:17 -08:00
Mitchell Hashimoto
b438998fb8
cli: support --help and -h for actions
2024-01-20 09:29:26 -08:00
Mitchell Hashimoto
203b38fdac
rewrite generate_help for personal style
...
- Output to stdin instead of a file
- Less nesting
- Utilize ranged for loops instead of while loops
- Eliminate unnecessary state tracking
- Put help in a struct
2024-01-20 09:05:25 -08:00
Jeffrey C. Ollie
f9ac37cdf7
Generate help strings from doc comments
...
Doc strings attached to fields of the Config struct and doc strings
attached to the run function of actions will be used to generate Zig
code that makes those doc strings available to be used at runtime.
Based on PR #853 by @Raiden1411
2024-01-19 21:19:09 -08:00
Mitchell Hashimoto
3e3c07619e
terminal: soft-wrap inherits semantic prompt status of previous line
...
Fixes #1334
2024-01-19 18:58:28 -08:00
Mitchell Hashimoto
c7632eb407
Merge pull request #1333 from mitchellh/select-line
...
select line considers semantic prompt change a boundary
2024-01-19 16:04:34 -08:00
Mitchell Hashimoto
48d6c93e09
terminal: select line considers semantic prompt change a boundary
...
Fixes #1329
Some shells and scripts use spaces and soft-wrapping as a way to move to
the next line instead of using newline (`\n`). Line selection
(triple-click by default) considers a soft-wrapped line as a single
line, so it was selecting the prompt.
This commit makes it so line selection considers semantic prompt state
(prompt vs command output) an additional boundary condition. This
requires shell integration but will make selection behave more
expectedly.
2024-01-19 15:48:53 -08:00
Mitchell Hashimoto
e9fe14c750
terminal: ECH resets line wrap state in any scenario
2024-01-19 14:31:33 -08:00
Mitchell Hashimoto
bab932431f
terminal: erase line right should reset soft wrap state
2024-01-19 14:08:09 -08:00
Mitchell Hashimoto
344c2db097
renderer/metal: initialize layer in init, handle iOS layer
2024-01-18 18:51:01 -08:00
Mitchell Hashimoto
95f729a5fc
renderer/metal: only set wantsLayer for AppKit
2024-01-18 15:36:06 -08:00
Mitchell Hashimoto
26e6e8cec8
apprt/embedded: add iOS platform with uivew
2024-01-18 15:03:03 -08:00
Mitchell Hashimoto
5fe3900efa
core: Apple Emoji should be loaded on any darwin, not just macos
...
It is available on iOS too.
2024-01-18 15:02:32 -08:00
Krzysztof Wolicki
316cb5314c
cimgui metal impl available only when target is Darwin
2024-01-18 21:43:57 +01:00
Mitchell Hashimoto
01afa293c8
apprt/embedded: fix initialization on macOS
2024-01-18 08:55:03 -08:00
Mitchell Hashimoto
df09c21103
apprt/embedded: compile for Linux
2024-01-18 08:44:56 -08:00
Thorsten Ball
551d19205b
gtk: respect minimum split size when using resize keys
...
This is the GTK equivalent of #1304 .
2024-01-18 06:38:08 +01:00
Mitchell Hashimoto
93c87f21ff
apprt/embedded: set wait-after-command when command is set
2024-01-17 08:43:04 -08:00
Mitchell Hashimoto
33bc424d7e
config: introduce wait-after-command
2024-01-17 08:40:21 -08:00
Mitchell Hashimoto
ed3f1df5f0
Merge pull request #1316 from qwerasd205/macos-file-handler
...
Added macOS file open handler
2024-01-16 18:56:34 -08:00
Qwerasd
51f53aa9bf
Added macOS file open handler
2024-01-16 16:26:21 -05:00
Mitchell Hashimoto
90ea950d71
renderer/metal: use a semaphore to protect deinit while waiting for GPU
2024-01-16 12:18:55 -08:00
Mitchell Hashimoto
c28f2e36cc
renderer/metal: do not be unhealthy by default :)
2024-01-16 11:28:01 -08:00
Mitchell Hashimoto
376345dcae
macos: detect renderer health failures and show error view
2024-01-16 11:27:18 -08:00
Mitchell Hashimoto
0277a0fb4c
renderer/metal: detect frame commit failures and notify surface
2024-01-16 10:51:36 -08:00
Mitchell Hashimoto
34d5cbda13
apprt/gtk: xft-dpi can be fractional, do not expect exact division
...
This was reported on Discord. A Chromebook reported an `Xft.dpi` of
`96.1025390625` which resulted in a `gtk-xft-dpi` of 98409. This caused
`divExact` to crash in runtime safety modes.
2024-01-15 20:49:12 -08:00
Mitchell Hashimoto
b87bbd55c5
termio: handle termio thread failure by showing a message in window
...
Fixes #1301
2024-01-15 20:22:55 -08:00
Mitchell Hashimoto
62a2fdcf88
renderer/opengl: set texture size for constrained glyphs
...
This wasn't setting the texture size so the glyphs would show up blank
(zero texture size).
2024-01-15 15:04:05 -08:00
Paul Berg
2b52c5ed88
gtk: update tab title even when the tab is unfocused
...
This change updates the tab title if the tab is unfocused. Tab title
updates only occur when the update surface is the focused child of the
tab.
2024-01-15 11:53:30 +01:00
Mitchell Hashimoto
470b57f194
os: no mouse interval on ios
2024-01-14 14:48:56 -08:00
Mitchell Hashimoto
8c8838542f
use Apple logging subsystem on all Darwin targets
2024-01-14 14:48:39 -08:00
Mitchell Hashimoto
87f5d6f6a8
apprt/embedded: do not depend on macOS APIs on non-macOS
2024-01-14 14:31:14 -08:00
Mitchell Hashimoto
722348f552
build: build iOS lib into XCFramework
2024-01-13 21:39:08 -08:00
Mitchell Hashimoto
3360a008cd
build: build produces a broken object file for iOS
...
This gets `zig build -Dtarget=aarch64-ios` working. By "working" I mean
it produces an object file without compiler errors. However, the object
file certainly isn't useful since it uses a number of features that will
not work in the iOS sandbox.
This is just an experiment more than anything to see how hard it would be to
get libghostty working within iOS to render a terminal. Note iOS doesn't
support ptys so this wouldn't be a true on-device terminal. The
challenge right now is to just get a terminal rendering (not usable).
2024-01-13 21:38:58 -08:00
Mitchell Hashimoto
f61eaea4d0
build: update our macOS checks to check for macOS specifically
2024-01-13 15:29:12 -08:00
Mitchell Hashimoto
bfe3c356f0
build: move our configuration out of globals
2024-01-13 15:18:45 -08:00
Mitchell Hashimoto
d4b53cac06
build: move more options to BuildConfig
2024-01-13 15:11:28 -08:00
Mitchell Hashimoto
dfa55988d6
build: use BuildConfig struct
2024-01-13 15:08:37 -08:00
Mitchell Hashimoto
adb7958f61
remove tracy usage from all files
2024-01-13 15:06:08 -08:00
Mitchell Hashimoto
29717269ca
build: remove tracy completely
2024-01-13 14:30:56 -08:00
Atanas Pepechkov
ee1366a0a8
add sudo wrapper as optional shell integration feature
2024-01-13 18:56:21 +02:00
Mitchell Hashimoto
81b9a6b623
config: rename window-append-new-tab to window-new-tab-position
2024-01-12 09:50:47 -08:00
Thorsten Ball
2aa1874f94
gtk: append new tabs at the end if config is set
...
This adds a new config option: `window-append-new-tabs` (please: if you
have a better name, let me know). If this is set to true, then new GTK
tabs aren't added after the current tab, but after at the end.
2024-01-12 17:35:15 +01:00
Mitchell Hashimoto
50a119d300
Selection: add adjust method, unit test it, swap for adjustments
2024-01-11 22:14:40 -08:00
Qwerasd
3f3703deb6
Fixed accidentally consuming ALL shift+<key> releases 😅
2024-01-11 21:58:19 -05:00
Qwerasd
8cf3b6bef3
Shift+keys selection: Fixed up/down logic, added page up/down, home, & end.
2024-01-11 21:19:41 -05:00