Format .gd files and fix gdformat pre-commit hook

Previously this hook was not being run.
This commit is contained in:
Leroy Hopson 2021-06-19 18:01:08 +07:00
parent 80bcc41855
commit 302bdf0714
No known key found for this signature in database
GPG key ID: D2747312A6DB51AA
5 changed files with 32 additions and 16 deletions

View file

@ -11,14 +11,15 @@ const CURSOR_LEFT = "\u001b[D"
const DEFAULT_FOREGROUND_COLOR = "\u001b[0m"
class ANSIColor:
extends Object
# Using ANSIColor constants, rather than Color will respect the
# colors of the selected terminal theme. Whereas Color will set
# the exact color specified regardless of theme.
const black = { fg = 30, bg = 40 }
const red = {fg = 31, bg = 41 }
const black = {fg = 30, bg = 40}
const red = {fg = 31, bg = 41}
const green = {fg = 32, bg = 42}
const yellow = {fg = 33, bg = 43}
const blue = {fg = 34, bg = 44}
@ -35,9 +36,12 @@ class ANSIColor:
const bright_magenta = {fg = 95, bg = 105}
const bright_cyan = {fg = 96, bg = 106}
const bright_white = {fg = 97, bg = 107}
func _init():
assert(false, "ANSIColor is an abstract class. You should only use the color constants (e.g. ANSIColor.black).")
assert(
false,
"ANSIColor is an abstract class. You should only use the color constants (e.g. ANSIColor.black)."
)
var terminal

View file

@ -18,7 +18,15 @@ const TITLE_WIDTH = 42
var menu_items := [
{"name": "Asciicast", "scene": preload("../asciicast/asciicast.tscn")},
{"name": "Terminal", "scene": preload("../web_console/web_console.tscn") if OS.has_feature("JavaScript") else preload("../terminal/terminal.tscn")},
{
"name": "Terminal",
"scene":
(
preload("../web_console/web_console.tscn")
if OS.has_feature("JavaScript")
else preload("../terminal/terminal.tscn")
)
},
{"name": "Exit"}
]
@ -140,7 +148,11 @@ func _on_Terminal_key_pressed(data: String, event: InputEventKey) -> void:
"Terminal not Supported on Windows"
)
var scene = item.scene.instance()
var pty = scene if OS.has_feature("JavaScript") else scene.get_node("Pseudoterminal")
var pty = (
scene
if OS.has_feature("JavaScript")
else scene.get_node("Pseudoterminal")
)
get_tree().get_root().add_child(scene)
visible = false
scene.grab_focus()

View file

@ -39,17 +39,17 @@ func grab_focus():
func _on_Terminal_key_pressed(_data, event: InputEventKey):
if not event:
return
# For some reason, data String is malformed on HTML5, so only use event.unicode.
var data = char(event.unicode)
match event.scancode:
KEY_ENTER:
terminal.write("\r\n")
if line == "q" or line == "quit" or line == "exit":
return emit_signal("exited", 0)
if not _has_js:
var msg := "WebConsole only available in HTML5 build."
push_error(msg)
@ -62,11 +62,11 @@ func _on_Terminal_key_pressed(_data, event: InputEventKey):
_tput.setaf(TPut.ANSIColor.magenta)
terminal.write(str(json))
_tput.sgr0()
line = ""
#_tput.srg0()
prompt("\r\n>> ")
KEY_BACKSPACE:
if line.length() > 0:
terminal.write("\b \b")

View file

@ -13,8 +13,7 @@
# pre-commit hooks to be executed. They should be in the same .git/hooks/ folder
# as this script. Hooks should return 0 if successful and nonzero to cancel the
# commit. They are executed in the order in which they are listed.
HOOKS="pre-commit-gdformat"
HOOKS="pre-commit-clang-format"
HOOKS="pre-commit-gdformat pre-commit-clang-format"
###########################################################
# There should be no need to change anything below this line.

View file

@ -1,5 +1,6 @@
#! /usr/bin/env nix-shell
#! nix-shell -i sh -p python38
set -e
GDTOOLKIT_VERSION=f5e2746d146200ec07ac6acb6fb378fd4c64f3f0
@ -11,7 +12,7 @@ if [ ! -f .venv/bin/activate ] || ! source .venv/bin/activate; then
python -m venv .venv && source .venv/bin/activate;
fi
if ! gdformat --version; then
pip install git+git://github.com/Scony/godot-gdscript-toolkit@${gdtoolkit_version};
pip install git+git://github.com/Scony/godot-gdscript-toolkit@${GDTOOLKIT_VERSION};
fi
# Format all selected files.