Leroy Hopson
0ae1d80abb
Prevent exit callback instance leaks
...
De-references pty_baton's exit callback after it is called so it can be
automatically released, preventing leaked instances.
Adds basic implementation for Pipe's get_status() method and forces PTY
to wait for child process to exit to ensure exit callback is cleaned up.
Adds a test to check that exit callback is still called as usual.
2022-07-11 09:33:01 +12:00
Leroy Hopson
38927e0a3e
Fix winsize test to support unsigned short
...
The type of winsize.ws_col and winsize.ws_row is unsigned short, so
change python's struct.unpack format from 'hh' (short) to 'HH'.
Otherwise, we can only test sizes up to 32767 when actually sizes up to
65535 are supported.
2022-07-11 09:33:01 +12:00
Leroy Hopson
ed05f79073
Add VSCode launch configuration for debugging tests
2022-07-11 09:33:01 +12:00
Leroy Hopson
95c8974ebf
Add job to check GDScript format
2022-07-11 09:33:01 +12:00
Leroy Hopson
5fcc9b0595
Increase terminal test yield timeout
...
Wait a little longer for "bell" signal to be emitted.
2022-07-11 09:33:01 +12:00
Leroy Hopson
e8418ef593
Tidy up .gitattributes
...
Sort and remove duplicates.
2022-07-11 09:33:00 +12:00
Leroy Hopson
d784b53e25
Add GUT (CLI only) and remove gd-plug
...
Commit GUT directly to the git repo and remove gd-plug as it is no
longer required to install GUT.
Modify GUT to be used by command-line only.
For example:
```
cp test/.gutconfig.ci.json .gutconfig.json
godot --no-window -s addons/gut/gut_cmdln.gd
```
2022-07-11 09:33:00 +12:00
Leroy Hopson
b14ea64492
Update GUT: v7.1.0 -> v7.3.0
2022-07-11 09:33:00 +12:00
Leroy Hopson
6ec3c93c55
Prevent editor shortcuts while terminal is focused
2022-07-11 09:33:00 +12:00
Leroy Hopson
bea5d1c27d
Check if baton FuncRef is valid before calling call_funcv()
...
Often when closing a terminal in the terminal panel the error message
'Condition "!obj" is true.' would be printed to console.
This was due to the call_funcv() method being called on an invalid
FuncRef instance (invalid because it had already been deleted or queued
for delection).
Now we check the instance is valid before calling the method.
2022-07-11 09:33:00 +12:00
Leroy Hopson
d124f20f36
Remove custom TerminalSettings Resource type
...
There is no current public use for this type and it would appear in every
resource dropdown.
While this type is no longer exposed publically by the plugin it is still
used internally by terminal_panel.
2022-07-11 09:33:00 +12:00
Leroy Hopson
f0bd70cb3e
Update target Godot version: 3.3.2-stable -> 3.4.4-stable
...
Also apply automatic updates to .import files after opening project in
3.4.4 editor.
2022-07-11 09:33:00 +12:00
Leroy Hopson
3fdc9ef27e
Add Docker build for Linux
...
Adds support for building Linux binaries inside a docker container in
order to target an older version of GLIBC.
Updates GitHub Actions workflow to use it.
As a result the minimum version of GLIBC that Linux users need to have
installed on their system is 2.17 which was released in 2012.
2022-07-11 09:33:00 +12:00
Leroy Hopson
3670856851
Update Visual Studio version
...
- windows-latest now uses windows-2022 which has Visual Studio 17 2022.
- Update cmake version from 3.15.4 to 3.23.2 which has generator for the
newer version of Visual Studio.
2022-07-11 09:33:00 +12:00
Leroy Hopson
5108c7cabd
Extract submodule cache steps to compound action
...
Creates a reusable action for caching submodules in the thirdparty
directory.
2022-07-11 09:33:00 +12:00
Leroy Hopson
1d51acb38d
Register pipe.close() method
...
Allows kill() method of unix PTY node to be called without error.
2022-07-11 09:33:00 +12:00
Leroy Hopson
28521b9d7a
Update setup-godot: v0.1.1 -> v1.0.0
2022-07-11 09:33:00 +12:00
Leroy Hopson
d94253fdc3
Ignore unused return value
2022-07-11 09:33:00 +12:00
Leroy Hopson
57dadf7db2
Support universal (x86_64/arm64) builds for macOS
...
The macOS binary (libgodot-xterm.osx.64.dylib) is now a universal binary
that runs natively on both x86_64 and arm64.
2022-07-11 09:33:00 +12:00
Leroy Hopson
9e50171d04
Move CHANGELOG links inline
...
This is so they don't get forgotten when updating the CHANGELOG.
2022-07-11 09:33:00 +12:00
Leroy Hopson
deb68e323c
Reformat existing gdscript code
2022-07-11 09:33:00 +12:00
Leroy Hopson
ae707a6667
Update gdformat git pre-commit hook
...
- Lint files rather than reformat.
- Git protocal changed to https.
See <https://github.blog/2021-09-01-improving-git-protocol-security-github/ >.
2022-07-11 09:33:00 +12:00
Leroy Hopson
0ccac28cc6
Update godot-cpp submodule
...
- We now need to include `<string>` in `terminal.cpp`.
- Clean-up `.gitmodules` while we're at it.
2022-05-31 18:34:51 +07:00
Leroy Hopson
99c3b1b452
Automatic editor updates v3.4.4-stable
...
- Add `.import` files automatically updated after opening project in new
target version of the editor.
2022-05-31 18:34:51 +07:00
Leroy Hopson
42c9f284be
Fix apt
2022-03-07 11:45:54 +07:00
Leroy Hopson
a41ac2d6f6
Test against newer versions of Godot
...
- v3.4.3-stable
- v3.5-beta1
2022-03-07 11:39:31 +07:00
Leroy Hopson
4d74041d1d
Update target Godot and Emscripten versions
...
Godot: 3.3.2-stable -> 3.4.2-stable
Emscripten: 2.0.10 -> 3.1.5
2022-02-24 10:59:02 +07:00
Leroy Hopson
a4103b2df0
Build and test daily
2021-12-17 15:48:09 +07:00
Leroy Hopson
9fb3d9088a
Update status badges
2021-12-17 15:48:06 +07:00
Leroy Hopson
bef632db42
Update setup-godot action v0.1.0 -> v0.1.1
2021-12-17 15:32:02 +07:00
Leroy Hopson
b0e8f0053b
Update Godot versions to test with
...
3.3.2-stable -> 3.3.4-stable
3.4-beta1 -> 3.4-stable
2021-11-08 09:56:12 +07:00
Leroy Hopson
8e80ba46fa
Upgrade setup-godot action to v0.1.0
2021-11-08 09:46:13 +07:00
Leroy Hopson
08f2cd5376
Download plugins to correct location
...
Means that Gut tests can actually run. Previously they were not running
because gut could not be found in addons/ directory.
2021-11-08 09:29:46 +07:00
Leroy Hopson
a4d4581dd9
Automatic editor updates
2021-10-16 11:09:56 +07:00
Leroy Hopson
69d67ed806
Add link to the Godot Asset Library page
2021-07-26 14:28:49 +07:00
Leroy Hopson
e04195ceac
Update online demo URL
2021-07-26 01:27:29 +07:00
Leroy Hopson
2a9ecb524e
Bump version to 2.0.0
...
How it started...
```gdscript
extends TextEdit
```
How it's going...
```c++
```
2021-07-26 00:56:54 +07:00
Leroy Hopson
9d15420df3
Move terminal.gd and pty.gd to godot_xterm directory
...
Makes for pretty paths when extending scripts:
`extends "res://addons/godot_xterm/terminal.gd"`
vs.
`extends "res://addons/godot_xterm/nodes/terminal/terminal.gd"`
Currently "res://addons/godot_xterm/pty.gd" is acutally `pty_unix.gd`.
This is okay for now as the PTY node is only supported on Unix
platforms. However, we will need to sort it out when adding Windows
support as part of #25 .
Also remove the GDXterm namespace.
2021-07-26 00:39:48 +07:00
Leroy Hopson
e6db81615e
Automatic .tscn file updates
...
Automatically changed by the editor.
2021-07-25 23:09:37 +07:00
Leroy Hopson
082ce8f199
Use only default settings for terminal panel
...
Until settings have been properly defined, documented and implemented.
2021-07-25 23:09:37 +07:00
Leroy Hopson
14dd045b66
Update PTY to match publically documented API
...
Remove unused variables and enums and make private what's not documented
as public.
2021-07-25 23:09:37 +07:00
Leroy Hopson
d75c26cec6
Update documentation
...
- Remove contributor license agreement:
The terms are same as the standard "inbound=outbound" norm for open
source projects which is covered by GitHub's terms of service
which every GitHub user has already agreed to:
https://docs.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license
- Add wiki as submodule and move documentation to it.
- Update README and replace screenshot with video
2021-07-25 23:08:45 +07:00
Leroy Hopson
72fcc0e451
Ignore vim's temporary .swp files
2021-07-25 23:08:44 +07:00
Leroy Hopson
0cb458b3d2
Add retro term example scene
...
Uses:
- Larger (size 39) font for 80x24 rows.
- World environment with glow enabled.
- Retro green color scheme based on https://superuser.com/a/1206781
- CRT Shader by Peter Höglund (pend00), released under CC-0 license.
Downloaded from https://godotshaders.com/shader/vhs-and-crt-monitor-effect/
2021-07-25 07:50:36 +07:00
Leroy Hopson
1083c13276
Fallback to Regular Terminal font before using default
2021-07-24 17:37:04 +07:00
Leroy Hopson
f555831915
Update all tests to use setup-godot action
...
- Adds support for Ubuntu 32bit.
- Also test only release binaries to keep the number of test jobs under
control.
2021-07-24 16:50:54 +07:00
Leroy Hopson
bec14fee14
Enable tests for v3.2
...
OS.set_environment() not available in v3.2 so create a new gut config
file that skips these tests for v3.2.
2021-07-23 22:07:57 +07:00
Leroy Hopson
bb18df817d
Use setup-godot GitHub Action for tests
...
Allows testing on Windows platform.
2021-07-23 22:07:25 +07:00
Leroy Hopson
5f399ed46e
Allow theme inheritance
...
Terminal colors and fonts will be inherited from ancestor nodes if not
defined.
2021-07-23 09:30:25 +07:00
Leroy Hopson
c81da3820b
Kill child process and close pty on exit
...
- Adds kill() method to LibuvUtils.
- Adds close() method to Pipe.
2021-07-23 08:37:54 +07:00