{"id":20784919,"url":"https://github.com/emad-elsaid/amun","last_synced_at":"2025-06-19T14:39:18.084Z","repository":{"id":59150580,"uuid":"84563119","full_name":"emad-elsaid/amun","owner":"emad-elsaid","description":"A minimal CLI text editor, built on Ruby, looking for Emacs as it's father and idol.","archived":false,"fork":false,"pushed_at":"2020-08-21T12:32:31.000Z","size":148,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-10T06:03:55.517Z","etag":null,"topics":["cli","editor","emacs","gem","ruby"],"latest_commit_sha":null,"homepage":"http://www.emadelsaid.com/amun","language":"Ruby","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/emad-elsaid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-10T13:34:50.000Z","updated_at":"2022-06-12T16:31:50.000Z","dependencies_parsed_at":"2022-09-13T10:50:21.945Z","dependency_job_id":null,"html_url":"https://github.com/emad-elsaid/amun","commit_stats":null,"previous_names":["blazeeboy/amun"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/emad-elsaid/amun","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emad-elsaid%2Famun","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emad-elsaid%2Famun/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emad-elsaid%2Famun/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emad-elsaid%2Famun/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emad-elsaid","download_url":"https://codeload.github.com/emad-elsaid/amun/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emad-elsaid%2Famun/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260769839,"owners_count":23060183,"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":["cli","editor","emacs","gem","ruby"],"created_at":"2024-11-17T14:34:30.268Z","updated_at":"2025-06-19T14:39:13.070Z","avatar_url":"https://github.com/emad-elsaid.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Amun (Work in progress)\n\n## \"King of the gods and god of the wind\"\n[![Gem Version](https://badge.fury.io/rb/amun.svg)](http://badge.fury.io/rb/amun)\n[![Build Status](https://travis-ci.org/emad-elsaid/amun.svg?branch=master)](https://travis-ci.org/emad-elsaid/amun)\n[![Code Climate](https://codeclimate.com/github/emad-elsaid/amun/badges/gpa.svg)](https://codeclimate.com/github/emad-elsaid/amun)\n[![Test Coverage](https://codeclimate.com/github/emad-elsaid/amun/badges/coverage.svg)](https://codeclimate.com/github/emad-elsaid/amun)\n[![Inline docs](http://inch-ci.org/github/emad-elsaid/amun.svg?branch=master)](http://inch-ci.org/github/emad-elsaid/amun)\n\nA minimal CLI text editor, built on Ruby, looking for Emacs as it's father and idol.\n\nAs developing packages for Emacs with Elisp wasn't always a fun or easy task, Starting a project that leverage ruby ability for fast development will be a good move towards\nan open, easy to extend editor.\n\nWhen I started this project I had 2 options, taking the VIM way or emacs way, looking in the current state of the two editors, It's obvious that emacs approach has a better\nextensibility over VIM, emacs customizability is far superior to VIM, so building this project as a minimal and emacs-like would open the door for vim users to have their own\nbindings as a package like emacs Evil mode, but doing the other way around won't help emacs users.\n\n## Advantages of building an editor in ruby\n\n* We can use ruby gems as package management\n* we already have bundler to fix dependencies, upgrade, downgrade gems (plugins in this case), you can even add sources for gems or get a gem from github or company inhouse gems.\n* you can reflect on the runtime and autocomplete commands\n* plugins can mutate all parts of the runtime application classes/objects included\n* ruby is easy to learn so it'll be easier to build gems that is specifically for this editor\n* lots of gems already exists and could be loaded into the editor environment\n* you can use it locally or remotly as it's terminal based\n* documentation included, rdoc is already there to be used\n\n## Installation\n\n    $ gem install amun\n\n## Usage\n\namun install an executable to your path, so executing `amun` from your command-line should launch amun\n\n## Structure\n\n\n### Helpers\n\nHelpers are modules that any class can use to do side tasks, think of it like Ruby on rails helpers.\n\n* Only modules no classes\n* doesn't depend on each other\n* depends on the project dependencies only like \"Curses\"\n\n### MajorModes\n\nClasses that are responsible the following for a buffer object:\n\n* event handling\n* manipulating IO\n* Rendering IO into a curses window\n\n\n## Development\n\nAfter checking out the repo, run `bundle install` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.\n\n### Tests\n\nguard file will run rspec tests whenever a relevant file changes\n\n```\n$ guard\n```\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/emad-elsaid/amun.\n\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femad-elsaid%2Famun","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femad-elsaid%2Famun","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femad-elsaid%2Famun/lists"}