{"id":31628222,"url":"https://github.com/alexmatthes/writeam-text-editor","last_synced_at":"2026-04-18T01:37:10.661Z","repository":{"id":315980688,"uuid":"1061462328","full_name":"alexmatthes/writeAM-text-editor","owner":"alexmatthes","description":"✍️ writeAM: A terminal-based text editor built from scratch in C as a learning project. Inspired by the Kilo editor, it features syntax highlighting for C, search functionality, and robust raw mode terminal handling.","archived":false,"fork":false,"pushed_at":"2025-09-22T00:29:58.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-22T02:27:40.839Z","etag":null,"topics":["c","cli","data-structures","kilo-editor","student-project","systems-programming","terminal","text-editor"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexmatthes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-22T00:15:02.000Z","updated_at":"2025-09-22T00:49:37.000Z","dependencies_parsed_at":"2025-09-22T02:27:49.380Z","dependency_job_id":"b35114eb-5cd1-4687-8c1c-d02733ed2bf2","html_url":"https://github.com/alexmatthes/writeAM-text-editor","commit_stats":null,"previous_names":["alexmatthes/writeam-text-editor"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/alexmatthes/writeAM-text-editor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexmatthes%2FwriteAM-text-editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexmatthes%2FwriteAM-text-editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexmatthes%2FwriteAM-text-editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexmatthes%2FwriteAM-text-editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexmatthes","download_url":"https://codeload.github.com/alexmatthes/writeAM-text-editor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexmatthes%2FwriteAM-text-editor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278672287,"owners_count":26025877,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","cli","data-structures","kilo-editor","student-project","systems-programming","terminal","text-editor"],"created_at":"2025-10-06T20:20:34.708Z","updated_at":"2025-10-06T20:20:37.238Z","avatar_url":"https://github.com/alexmatthes.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ✍️ writeAM Text Editor\n\nA lightweight, minimalist text editor that runs directly in your terminal. This project was built from scratch in C, with zero external library dependencies. It is inspired by the classic [Kilo editor tutorial](http://viewsourcecode.org/snaptoken/kilo/index.html).\n\n![writeAM Screenshot](assets/screenshot.png) \n\n---\n\n## About The Project\n\n`writeAM` is a demonstration of core systems programming concepts in a Unix-like environment. **The name is a nod to the author's initials, Alex Matthes (AM).**\n\nThe editor manipulates the terminal using raw mode and ANSI escape sequences to provide a simple, modern text editing experience without leaving the command line. The entire application is contained within a single C file, making it a great case study in C programming, memory management, and terminal I/O.\n\n## Features\n\n* **Terminal-Based UI:** All rendering is done directly in the terminal.\n* **Syntax Highlighting:** Currently supports C syntax (keywords, comments, strings, and numbers).\n* **Search Functionality:** Incrementally search for text within a file (Ctrl+F).\n* **File I/O:** Open existing files or create and save new ones.\n* **Minimal Dependencies:** Written in pure C and relies only on standard C libraries and POSIX APIs.\n\n## Built With\n\n* ![C](https://img.shields.io/badge/C-00599C?style=for-the-badge\u0026logo=c\u0026logoColor=white)\n\n---\n\n## Getting Started\n\nTo get a local copy up and running, follow these simple steps.\n\n### Prerequisites\n\nYou will need a C compiler (like GCC or Clang) and the `make` utility installed on your system.\n\n* **On Debian/Ubuntu:**\n    ```sh\n    sudo apt-get update\n    sudo apt-get install build-essential\n    ```\n* **On Fedora/CentOS:**\n    ```sh\n    sudo dnf groupinstall \"Development Tools\"\n    ```\n* **On macOS:** Install Xcode Command Line Tools.\n    ```sh\n    xcode-select --install\n    ```\n\n### Installation \u0026 Build\n\n1.  **Clone the repository:**\n    ```sh\n    git clone [https://github.com/your_username/writeAM-text-editor.git](https://github.com/your_username/writeAM-text-editor.git)\n    ```\n2.  **Navigate to the project directory:**\n    ```sh\n    cd writeAM-text-editor\n    ```\n3.  **Compile the project:**\n    ```sh\n    make\n    ```\n\n---\n\n## Usage\n\nRun the editor from the command line. You can start with an empty buffer or open an existing file.\n\n* **To open a file:**\n    ```sh\n    ./writeam filename.c\n    ```\n* **To start a new, empty file:**\n    ```sh\n    ./writeam\n    ```\n\n### Key Commands\n\n* **`Ctrl-S`**: Save the current file.\n* **`Ctrl-Q`**: Quit the editor. If there are unsaved changes, you will be prompted to press it again to confirm.\n* **`Ctrl-F`**: Find text in the file. Use arrow keys to navigate matches and Enter or ESC to exit search mode.\n* **Arrow Keys**: Move the cursor.\n* **`Page Up` / `Page Down`**: Move the cursor by a full screen.\n* **`Home` / `End`**: Move the cursor to the start/end of the current line.\n\n---\n\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n## Acknowledgments\n\n* This project was heavily inspired by the \"Build Your Own Text Editor\" tutorial for the **Kilo** editor.\n* [Shields.io](https://shields.io) for the cool badges.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexmatthes%2Fwriteam-text-editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexmatthes%2Fwriteam-text-editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexmatthes%2Fwriteam-text-editor/lists"}