diff --git a/.gitignore b/.gitignore index 23e1865f0..ed993f714 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,7 @@ bypy/b bypy/virtual-machines.conf _codeql_detected_source_root +*~ +*swo +*swp +node_modules diff --git a/.husky/post-commit b/.husky/post-commit new file mode 100644 index 000000000..a98224c5b --- /dev/null +++ b/.husky/post-commit @@ -0,0 +1,3 @@ +echo "post-commit..." +git push gh +git push sh diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e00ccbd34..2d7440bd1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -28,3 +28,18 @@ tests as well (see the `kitty_tests/` sub-directory for existing tests, which can be run with `./test.py`). That's it. + +### Commands + +- **Build:** `./dev.sh build` or `python3 setup.py build --debug` +- **Tests:** `./test.py` (or `--module ` for specific) +- **Type check:** `./test.py type-check` (mypy) +- **Linting:** `ruff check .` for Python, `gofmt/gofmt` for Go +- **Regenerate config types:** `./gen-config.py` after editing `definition.py` +- **CI runs:** GCC + Clang on Python 3.11/3.12/3.13 (ASAN enabled), ruff linting, mypy, go vet + +### Key files to know first when working on the project +- `boss.py` — central runtime controller +- `screen.c` — VT terminal emulation core +- `kitty/options/definition.py` — all config options in one place (~3700 lines) +- `child-monitor.c` — child process/PTY management diff --git a/README.asciidoc b/README.asciidoc deleted file mode 100644 index f4ba68a5e..000000000 --- a/README.asciidoc +++ /dev/null @@ -1,16 +0,0 @@ -= kitty - the fast, feature-rich, cross-platform, GPU based terminal - -If you live in the terminal, *kitty* is made for **you**! - -See https://sw.kovidgoyal.net/kitty/[the kitty website]. - -image:https://github.com/kovidgoyal/kitty/workflows/CI/badge.svg["Build status", link="https://github.com/kovidgoyal/kitty/actions?query=workflow%3ACI"] - -https://sw.kovidgoyal.net/kitty/faq/[Frequently Asked Questions] - -To ask other questions about kitty usage, use either the https://github.com/kovidgoyal/kitty/discussions/[discussions on GitHub] or the -https://www.reddit.com/r/KittyTerminal[Reddit community] - -Packaging status in various repositories: - -image:https://repology.org/badge/vertical-allrepos/kitty-terminal.svg?columns=3&header=kitty["Packaging status", link="https://repology.org/project/kitty-terminal/versions"] diff --git a/README.md b/README.md new file mode 100644 index 000000000..5dab64764 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +> [!Note] +> This is a fork of the Kitty terminal emulator: https://github.com/kovidgoyal/kitty + +# kitty - the fast, feature-rich, cross-platform, GPU based terminal + +## Installation + +Copy the following to your terminal: + +```bash +git clone https://ayco.io/g/kitty \ + && cd kitty \ + && ./install-if-linux-debian.sh \ + && ./dev.sh build \ + && ./launch.sh +``` + + +## Background + +If you live in the terminal, *kitty* is made for **you**! + +See [the kitty website](https://sw.kovidgoyal.net/kitty/). + +[!["Build status"](https://github.com/kovidgoyal/kitty/workflows/CI/badge.svg)]("https://github.com/kovidgoyal/kitty/actions?query=workflow%3ACI") + +[Frequently Asked Questions](https://sw.kovidgoyal.net/kitty/faq/) + +To ask other questions about kitty usage, use either the [discussions on GitHub](https://github.com/kovidgoyal/kitty/discussions) or the [Reddit community](https://www.reddit.com/r/KittyTerminal) + +Packaging status in various repositories: + +[!["Packaging status"](https://repology.org/badge/vertical-allrepos/kitty-terminal.svg?columns=3&header=kitty)]("https://repology.org/project/kitty-terminal/versions") diff --git a/install-if-linux-debian.sh b/install-if-linux-debian.sh new file mode 100755 index 000000000..442f3c482 --- /dev/null +++ b/install-if-linux-debian.sh @@ -0,0 +1,28 @@ +if [[ "$OSTYPE" == "linux-gnu"* ]]; then + +## Update package repos +sudo apt update + +## Build deps +sudo apt install -y \ + liblcms2-dev \ + libfontconfig-dev \ + libssl-dev \ + libpython3-dev \ + libxxhash-dev \ + libsimde-dev \ + libcairo2-dev \ + +## X11 development deps +sudo apt install -y \ + libdbus-1-dev \ + libxcursor-dev \ + libxrandr-dev \ + libxi-dev \ + libxinerama-dev \ + libgl1-mesa-dev \ + libxkbcommon-x11-dev \ + libfontconfig-dev \ + libx11-xcb-dev + +fi diff --git a/launch.sh b/launch.sh new file mode 100755 index 000000000..ce95f50c8 --- /dev/null +++ b/launch.sh @@ -0,0 +1 @@ +$(dirname "$0")/kitty/launcher/kitty diff --git a/package.json b/package.json new file mode 100644 index 000000000..62bec4a04 --- /dev/null +++ b/package.json @@ -0,0 +1,22 @@ +{ + "name": "kitty", + "version": "1.0.0", + "description": "", + "main": "index.js", + "directories": { + "doc": "docs" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "prepare": "husky" + }, + "repository": { + "type": "git", + "url": "https://git.ayo.run/ayo/kitty" + }, + "author": "Ayo Ayco", + "license": "MIT", + "devDependencies": { + "husky": "^9.1.7" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 000000000..a177305d1 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,24 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + husky: + specifier: ^9.1.7 + version: 9.1.7 + +packages: + + husky@9.1.7: + resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} + engines: {node: '>=18'} + hasBin: true + +snapshots: + + husky@9.1.7: {}