{"id":13803861,"url":"https://github.com/Naheel-Azawy/runner","last_synced_at":"2025-05-13T16:32:41.871Z","repository":{"id":44712000,"uuid":"250036857","full_name":"Naheel-Azawy/runner","owner":"Naheel-Azawy","description":"Run everything like a script!","archived":false,"fork":false,"pushed_at":"2024-06-22T10:02:20.000Z","size":191,"stargazers_count":25,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-18T20:49:15.767Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"V","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Naheel-Azawy.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}},"created_at":"2020-03-25T16:50:36.000Z","updated_at":"2024-11-03T21:43:46.000Z","dependencies_parsed_at":"2024-11-19T05:52:56.155Z","dependency_job_id":null,"html_url":"https://github.com/Naheel-Azawy/runner","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naheel-Azawy%2Frunner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naheel-Azawy%2Frunner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naheel-Azawy%2Frunner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Naheel-Azawy%2Frunner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Naheel-Azawy","download_url":"https://codeload.github.com/Naheel-Azawy/runner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253981974,"owners_count":21994366,"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":[],"created_at":"2024-08-04T01:00:38.544Z","updated_at":"2025-05-13T16:32:36.856Z","avatar_url":"https://github.com/Naheel-Azawy.png","language":"V","funding_links":[],"categories":["Applications"],"sub_categories":["Command-line"],"readme":"# Runner\nRun everything like a script!\n\nNote that this might not be so stable as V is still in a very early stage. Maybe check the older version [Executor](https://github.com/Naheel-Azawy/Executor)\n\n### Supported files\n- C\t(gcc)\n- C++\t(g++)\n- V\t(v)\n- C#\t(mcs and mono)\n- VisualBasic .NET   (vbnc and mono)\n- Go\t(gccgo)\n- Rust\t(rustc)\n- Java\t(javac)\n- Kotlin    (kotlinc and java)\n- Kotlin Script (kotlinc -script)\n- Vala\t(valac)\n- Genie\t(valac)\n- TypeScript\t(tsc and node)\n- JavaScript    (node)\n- Python    (python3)\n- GNU Octave    (octave)\n- ARM Assembly (arm-linux-gnu-as, arm-linux-gnu-ld, and qemu-arm)\n- Intel Assembly (nasm)\n- OCaml (ocamlopt)\n- Shell (bash)\n- AWK (awk)\n- Perl (perl)\n- R (R)\n- Dart (dart)\n- Julia (julia)\n- Lua (lua)\n- Haxe (haxe and python3)\n\n### Installation\n```sh\n$ git clone https://github.com/Naheel-Azawy/runner.git\n$ cd runner\n$ make \u0026\u0026 sudo make install\n```\n\n### Usage\n\n```sh\n$ rn hello.c\n```\n\nOr even better, add a shebang to your file `test.vala`:\n\n```c\n#!/bin/rn\nvoid main() { print (\"Hello!\\n\"); }\n```\n\n```sh\n$ chmod +x test.vala\n$ ./test.vala\n```\n\nIt's also possible to run a range of lines\n\n```sh\n$ ./test.ts --from 3 --to 5\n```\n\nOne more cool feature! I leave you with examples:\n\n```sh\n$ rn -r Hello vala 'print (@\"$(args[1]) from VALA\\n\")'\nHello from VALA\n$ rn -r Hello c++ 'cout \u003c\u003c argv[1] \u003c\u003c \" from CPP\" \u003c\u003c endl'\nHello from CPP\n$ rn -r \"1 1\" c 'int i=atoi(argv[1]),j=atoi(argv[2]),k=i+j;printf(\"%d + %d = %d\\n\",i,j,k)'\n1 + 1 = 2\n```\n\n### Emacs\nAdd this to you `.emacs`:\n\n```\n(defun run-program ()\n  (interactive)\n  (defvar cmd)\n  (setq cmd (concat \"rn \" (buffer-name) ))\n  (shell-command cmd))\n(global-set-key [C-f5] 'run-program)\n```\n\n![screenshot](./imgs/screenshot-emacs.png)\n\n### Gedit\nYes! it comes with a gedit plugin!\n\n- Run `./install-gedit`\n- Open gedit preferences -\u003e plugins\n- Enable Runner\n- Enjoy \n\n![screenshot](./imgs/screenshot-gedit.png)\n\n### Add / Override\nCreate `~/.config/.runners.json`. Example:\n\n```json\n{\n    \".js\": {\n        \"ext\": \"js\",\n        \"outFile\": \"'{sourceFile}'\",\n        \"cm\": \"\",\n        \"rn\": \"gjs {outFile}\"\n    }\n}\n```\n\n### Clean up\nBinaries will be generated under '~/.cache/runnables directory.\n\n### License\nGPL\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNaheel-Azawy%2Frunner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNaheel-Azawy%2Frunner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNaheel-Azawy%2Frunner/lists"}