Commit graph

477 commits

Author SHA1 Message Date
AlexanderTreml
548a1c8d41
Merge 148d00794d into 5782fde3eb 2025-07-02 12:51:43 +00:00
Alexander Treml
148d00794d disable pty on 32-bit windows 2025-07-02 14:51:31 +02:00
Alexander Treml
58266d3528 Merge branch 'main' of github.com:AlexanderTreml/godot-xterm into main 2025-07-02 10:57:01 +02:00
Alexander Treml
65e1391837 changed types for 32-bit windows compat and bandaid fix for win release build CRT 2025-07-02 10:56:52 +02:00
pre-commit-ci[bot]
c9c6770348 fix: auto fixes 2025-07-01 17:54:42 +00:00
Alexander Treml
e2fb97ac91 Merge branch 'main' of github.com:AlexanderTreml/godot-xterm into main 2025-07-01 19:54:25 +02:00
Alexander Treml
9f390e8117 reverted changes to theme tests 2025-07-01 19:52:27 +02:00
Alexander Treml
73df29a8bd fixed env and cwd for windows 2025-07-01 19:41:04 +02:00
Leroy Hopson
5782fde3eb
fix(ci): add timeout to benchmark step
If there are certain errors running the scene (e.g. script errors),
Godot will log the error but never quit, meaning the step will continue
to run indefinitely. This adds a 2 minute timeout to prevent that.
2025-06-30 22:20:05 +12:00
pre-commit-ci[bot]
2285ff7719 fix: auto fixes 2025-06-29 13:39:39 +00:00
Alexander Treml
c7f04f1f9e added review suggestions 2025-06-29 15:39:20 +02:00
Leroy Hopson
7a522a3410
fix(ci): only run benchmarks if build passed
Otherwise the benchmark steps will run indefinitely.
2025-06-29 12:04:29 +12:00
Leroy Hopson
5f3a78cee2
ci: adjust benchmark alert/fail thresholds
Alerts were too noisy.
2025-06-29 12:04:21 +12:00
Leroy Hopson
bd26137e78
fix(ci): resolve mkdir and CMake cache issues 2025-06-28 20:19:14 +12:00
Leroy Hopson
35194cb6c0
fix(ci): update npm cache action
Replaces the (now deprecated) c-hive/gha-npm-cache with
actions/setup-node which now has the same functionality.
2025-06-28 20:19:14 +12:00
Leroy Hopson
344b303864
ci: trigger build and test on pull request 2025-06-28 20:19:14 +12:00
Leroy Hopson
64a085c4f4
chore: use https url for vtebench submodule
This means that an SSH key is not required to clone the (public)
submodule.
2025-06-28 20:18:56 +12:00
Alexander Treml
4ab73fc87f Merge branch 'main' of github.com:AlexanderTreml/godot-xterm into main 2025-06-27 16:37:55 +02:00
Alexander Treml
2300534a9d pty hotfix to not crash godot when exiting tree 2025-06-27 16:37:45 +02:00
pre-commit-ci[bot]
75ea9664f9 fix: auto fixes 2025-06-26 14:00:03 +00:00
Alexander Treml
4c25b2f6a8 added windows pty support 2025-06-26 15:54:12 +02:00
Leroy Hopson
89f92f9c1e
fix(ci): update dockerfile
Use correct URL to get python 3.7 version of pip.
2025-01-12 11:09:04 +13:00
Leroy Hopson
1107c109ba
fix(ci): upgrade macos-12 -> macos-15 2025-01-12 10:47:41 +13:00
Leroy Hopson
2e6276b8da
Revert "chore(ci): change build and test to weekly"
This reverts commit 7efd7218b0.
2025-01-12 10:43:06 +13:00
Leroy Hopson
8d79553470
fix(ci): change docker-compose -> docker compose 2025-01-12 10:41:37 +13:00
Leroy Hopson
64aa0ff49a perf(term): merge custom theme with default theme
Merges a custom theme containing 'Terminal' theme properties with the
default theme rather than setting them on the default theme directly.

This improves performance for initial loading of the plugin.
2024-06-09 21:54:39 +12:00
Robert Paciorek
e830db667c fix socat_terminal example
* Godot 4.x seems to require call StreamPeerTCP.poll
* add missing signal connection (data from terminal to network)
2024-06-09 21:42:16 +12:00
Leroy Hopson
9569c9e489 perf(term): add benchmarks
Adds benchmarks by running [alacritty/vtebench](https://github.com/alacritty/vtebench)
benchmarks in the terminal.
Uses code based on [godotengine/godot-benchmarks](https://github.com/godotengine/godot-benchmarks)
to measure average GPU and CPU time spent per frame.
Uses [github-action-benchmark](https://github.com/benchmark-action/github-action-benchmark)
for continuous integration, and publishes benchmark results to https://lihop.github.io/godot-xterm/dev/bench/.
2024-06-09 21:21:30 +12:00
Leroy Hopson
8b33818751
fix(plugin): fix some errors and warnings 2024-05-19 12:14:04 +12:00
Leroy Hopson
608f27ba0c
fix(icon): use custom icons for Terminal and PTY 2024-05-19 11:42:27 +12:00
Leroy Hopson
98394bfbf5 chore: remove unused code 2024-05-10 22:50:39 +12:00
Leroy Hopson
7efd7218b0
chore(ci): change build and test to weekly 2024-05-10 22:30:29 +12:00
Leroy Hopson
d49f522802 feat(term): replace 'Copy All' menu item with 'Select All' 2024-05-10 22:16:45 +12:00
Leroy Hopson
892ed45159 fix(term): select() fixes
- Ensure selection is drawn.
- Allow deselection by mouse click.
- Respect copy_on_selection attribute.
2024-05-10 22:16:45 +12:00
Leroy Hopson
b29d809bc0 chore(term): remove unused code
Removes unused code from `terminal.gd`.
The status of `update_mode` is still unclear, so has been left for now.
2024-05-10 22:10:13 +12:00
Leroy Hopson
77b1481f8e feat(term): re-enable keyboard shortcuts
Closes #65.
2024-05-05 16:41:04 +12:00
Leroy Hopson
4c4e61cf99 feat(term): make cursor hollow when un-focused
Closes #29.
2024-04-28 23:26:02 +12:00
Leroy Hopson
c4c0f9c90a
chore(auto): automatic editor updates 2024-04-28 18:27:19 +12:00
Leroy Hopson
d6a4adf6aa
feat(terminal): and stylebox support
Adds support for 'normal' and 'focus' Style Boxes to Terminal node.
Changes default background color to transparent, with background to be
set by StyleBox.

If background color is not transparent, will draw a background color
rect to cover the entire control over the top of any stylebox. This is
consistent with the behavior of the TextEdit node with regards to theme
colors and styleboxes.
2024-04-28 18:09:21 +12:00
Leroy Hopson
a5951978f7
fix(pty): emit size_changed if forcing size update
Ensures that connected PTY is resized correctly on scene start.
2024-04-28 17:29:41 +12:00
Leroy Hopson
5c151c3244
feat(editor): make editor terminal functional 2024-04-28 17:29:40 +12:00
Leroy Hopson
ad2dc46414
feat(example): make terminal example functional 2024-04-28 17:29:40 +12:00
Leroy Hopson
e816396d60
feat(pty): add terminal_path property to pty
Property can be set to the NodePath of a Terminal node. Doing so will
conveniently set up the neccessary signals between Terminal and PTY for
them to function together.
2024-04-28 17:29:40 +12:00
Leroy Hopson
fa49834347
feat(theme): update themes 2024-04-28 17:29:40 +12:00
Leroy Hopson
886e6e82ac
fix(example): fix retro term shader 2024-04-28 17:29:40 +12:00
Leroy Hopson
90de3da45f
chore(just): add trailing '/' to test directory 2024-04-28 17:28:43 +12:00
Leroy Hopson
ee733ca45a
chore(deps): add godot editor debugger plugin 2024-04-28 17:28:43 +12:00
Leroy Hopson
dd118d72f3 feat(term): add select method
Adds select() method to Terminal. Method behaves the same way as
TextEdit's select method.
2024-04-28 17:22:26 +12:00
Leroy Hopson
43303a51bf fix(term): copy_selection() when nothing selected
Fixes the copy_selection() method so that it returns and empty string
when called and nothing is selected. Previously printed an error.
2024-04-28 17:22:26 +12:00
Leroy Hopson
3ca272c615
feat(test): add visual regression testing
Will upload screenshots on failure.
2024-04-07 00:45:49 +13:00