{"id":13872155,"url":"https://github.com/engali94/ax-editor","last_synced_at":"2025-04-29T08:34:19.360Z","repository":{"id":45474182,"uuid":"326475593","full_name":"engali94/ax-editor","owner":"engali94","description":"Ax is a code editor with syntax highlighting that runs in your terminal written completely in Swift.","archived":false,"fork":false,"pushed_at":"2021-12-12T10:51:45.000Z","size":410,"stargazers_count":44,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-05T14:03:26.722Z","etag":null,"topics":["ax-editor","code","code-editor","swift","swift5","syntax-highlighting","terminal","termios","text-editor"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/engali94.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-01-03T18:36:08.000Z","updated_at":"2025-02-23T10:49:32.000Z","dependencies_parsed_at":"2022-07-18T23:47:41.961Z","dependency_job_id":null,"html_url":"https://github.com/engali94/ax-editor","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engali94%2Fax-editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engali94%2Fax-editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engali94%2Fax-editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engali94%2Fax-editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/engali94","download_url":"https://codeload.github.com/engali94/ax-editor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251465150,"owners_count":21593836,"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","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":["ax-editor","code","code-editor","swift","swift5","syntax-highlighting","terminal","termios","text-editor"],"created_at":"2024-08-05T23:00:35.308Z","updated_at":"2025-04-29T08:34:19.047Z","avatar_url":"https://github.com/engali94.png","language":"Swift","funding_links":[],"categories":["Swift"],"sub_categories":[],"readme":"\n\n# AX Editor\n\n  \n\nA light weigt text editor with syntax highlighting. It is written completly in Swift using ANSI Escape Sequnces. **It is still not complete and buggy (work in progress) contributions are warmly welcomed 🙌**\n\n  ![enter image description here](https://github.com/engali94/ax-editor/blob/master/assets/demo.png)\n  \n\n# Installation\n\n- Clone and `cd` into the repository\n\n- Run `swift package generate-xcodeproj`\n\n- Run the following command to try it out:\n\n  \n\n```bash\n\nswift run ax --help\n\n```\n\n# Usage\n\n\u003c!-- USAGE EXAMPLES --\u003e\n\n  \n\n#### Opening files in Ax\n\n  \n\nAt the moment, you can open ax editor by using the command\n\n```sh\n\nswift run ax\n\n```\n\n  \n\nThis will open up an empty document.\n\n  \n\nIf you wish to open a file straight from the command line, you can run\n\n```sh\n\nswift run ax /path/to/file\n\n```\n\nTo open and edit a file.\n\n  \n  \n\n#### Moving the cursor around\n\n  \n\nYou can use the arrow keys to move the cursor around\n\n  \n\nYou can also use:\n\n- \u003ckbd\u003ePageUp\u003c/kbd\u003e - Go to the top of the document\n\n- \u003ckbd\u003ePageDown\u003c/kbd\u003e - Go to the bottom of the document\n\n- \u003ckbd\u003eHome\u003c/kbd\u003e - Go to the start of the current line\n\n- \u003ckbd\u003eEnd\u003c/kbd\u003e - Go to the end of the current line\n\n  \n\n#### Editing the file\n\n  \n\nYou can use the keys \u003ckbd\u003eBackspace\u003c/kbd\u003e and \u003ckbd\u003eReturn\u003c/kbd\u003e / \u003ckbd\u003eEnter\u003c/kbd\u003e as well as all the characters on your keyboard to edit files!\n\n  \n  \n\nOAx is controlled via your keyboard shortcuts. Here are the default shortcuts that you can use:\n\n  \n\n| Keybinding | What it does |\n\n| Keybinding  | What it does  |\n| ------------ | ------------ |\n| `Ctrl + D` | Exits the the editor. |\n| `Ctrl + S` | Saves the open file to the disk **(To be Implemented)**. |\n| `Ctrl + F` | Searches the document for a search query. Allows pressing of \u003ckbd\u003e↑\u003c/kbd\u003e and \u003ckbd\u003e←\u003c/kbd\u003e to move the cursor to the previous occurance fof the query and \u003ckbd\u003e↓\u003c/kbd\u003e and \u003ckbd\u003e→\u003c/kbd\u003e to move to the next occurance of the query. Press \u003ckbd\u003eReturn\u003c/kbd\u003e to cancel the search at the current cursor position or \u003ckbd\u003eEsc\u003c/kbd\u003e to cancel the search and return to the initial location of the cursor. Note: this allows you to use regular expressions. **(To be Implemented)**. |\n| `Ctrl + U` | Undoes your last action. The changes are committed to the undo stack every time you press the space bar, create / destroy a new line and when there is no activity after a certain period of time which can be used to capture points where you pause for thought or grab a coffee etc... |\n| `Ctrl + R` | Redoes your last action. The changes are committed to the undo stack every time you press the space bar, create / destroy a new line and when there is no activity after a certain period of time which can be used to capture points where you pause for thought or grab a coffee etc... |\n| `Ctrl + F` | Allows replacing of occurances in the document. Uses the same keybindings as the search feature: \u003ckbd\u003e↑\u003c/kbd\u003e and \u003ckbd\u003e←\u003c/kbd\u003e to move the cursor to the previous occurance fof the query and \u003ckbd\u003e↓\u003c/kbd\u003e and \u003ckbd\u003e→\u003c/kbd\u003e to move to the next occurance of the query. You can also press \u003ckbd\u003eReturn\u003c/kbd\u003e, \u003ckbd\u003ey\u003c/kbd\u003e or \u003ckbd\u003eSpace\u003c/kbd\u003e to carry out the replace action. To exit replace mode once you're finished, you can press \u003ckbd\u003eEsc\u003c/kbd\u003e to cancel and return back to your initial cursor position. Note: this allows you to use regular expressions.**(To be Implemented)**.|\n| `Ctrl + A` | Carries out a batch replace option. It will prompt you for a target to replace and what you want to replace it with and will then replace every occurance in the document. Note: this allows you to use regular expressions. **(To be Implemented)**.|\n\n  \n\n# TODO\n\n-  [X] Basic editing functions\n\n-  [X] Line numbers\n\n-  [X] Undo and Redo\n\n-  [X] Syntax highlighting\n\n-  [X] Loading files\n\n- [ ] Saving files\n\n- [ ] Searching and replacing\n\n- [ ] Command line bar\n\n- [ ] Status bar\n\n- [ ] Config files\n\n- [ ] Tabs for multitasking\n\n- [ ] Auto indentation\n\n- [ ] Prettifier / Automatic code formatter\n\n- [ ] Built In linters\n\n- [ ] Auto brackets\n\n- [ ] Auto complete\n\n- [ ] File tree\n\n- [ ] Start page\n\n# Contributing\n\nContributions are warmly welcomed 🙌\n\n  \n\n# Credits\nThanks to all the authors and contributers of the following tools:\n[ColorizeSwift](https://github.com/mtynior/ColorizeSwift)\n[CrossTerm](https://github.com/crossterm-rs/crossterm) \n[Ox Editor](https://github.com/curlpipe/ox) \n\n# Licence\n\nIt is released under the MIT license, see [Licence]()\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fengali94%2Fax-editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fengali94%2Fax-editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fengali94%2Fax-editor/lists"}