{"id":26009217,"url":"https://github.com/lisp-maintainers/cl-repl","last_synced_at":"2025-03-05T22:06:46.551Z","repository":{"id":182144203,"uuid":"666851410","full_name":"lisp-maintainers/cl-repl","owner":"lisp-maintainers","description":"A full-featured repl implementation designed to work with Roswell","archived":false,"fork":true,"pushed_at":"2024-03-26T13:52:41.000Z","size":603,"stargazers_count":10,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-03-26T14:53:33.401Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Common Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"koji-kojiro/cl-repl","license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lisp-maintainers.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}},"created_at":"2023-07-15T19:44:14.000Z","updated_at":"2024-02-15T19:28:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"fdc45938-5874-4c55-9148-d84d0d46361f","html_url":"https://github.com/lisp-maintainers/cl-repl","commit_stats":null,"previous_names":["digikar99/cl-repl","lisp-maintainers/cl-repl"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lisp-maintainers%2Fcl-repl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lisp-maintainers%2Fcl-repl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lisp-maintainers%2Fcl-repl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lisp-maintainers%2Fcl-repl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lisp-maintainers","download_url":"https://codeload.github.com/lisp-maintainers/cl-repl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242111445,"owners_count":20073433,"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":"2025-03-05T22:02:01.266Z","updated_at":"2025-03-05T22:06:46.544Z","avatar_url":"https://github.com/lisp-maintainers.png","language":"Common Lisp","readme":"# CL-REPL\n\n[![License](http://img.shields.io/badge/license-GPLv3-blue.svg?style=flat)](https://github.com/lisp-maintainers/cl-repl/blob/master/LICENSE)\n[![GitHub tag](https://img.shields.io/github/tag/lisp-maintainers/cl-repl.svg?style=flat)](https://github.com/lisp-maintainers/cl-repl/releases)\n\n# **Warning; WIP**\nThe software is still alpha quality.\nThe functionalities are incomplete and may cause unkown bugs.\n\n\u003c!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-refresh-toc --\u003e\n**Table of Contents**\n\n- [Overview](#overview)\n- [Screenshots](#screenshots)\n- [Installation](#installation)\n    - [Method 1: Download the binary](#method-1-download-the-binary)\n    - [Method 2: Rosswell](#method-2-rosswell)\n        - [Note about installation via Roswell](#note-about-installation-via-roswell)\n- [Usage](#usage)\n    - [Configuration](#configuration)\n    - [Syntax highlighting](#syntax-highlighting)\n    - [execute shell](#execute-shell)\n    - [%edit magic](#edit-magic)\n- [Contributing](#contributing)\n- [Author](#author)\n- [License](#license)\n\n\u003c!-- markdown-toc end --\u003e\n\n\n# Overview\nThis project aims to provide a beginner-friendly REPL for Common Lisp with rich functionalities, such as IPython for Python.\n\nWhat this project tries to achieve are listed here.\n\n- [x] powerful multiline editing with gnu readline.\n- [x] saving and loading multiline history.\n- [x] tab-completion of symbols.\n- [x] simple installation instruction.\n- [x] code editting with text editor.\n- [ ] useful debugger \u0026 inspector. (incomplete)\n- [x] syntax highlighting of input texts.\n- [x] paren-matching.\n- [ ] implementation independence: builds on SBCL and CCL. Segfaults on ECL.\n- [ ] autoindentation\n\n# Screenshots\n\n\u003cp align=\"center\" width=\"640px\"\u003e\n  \u003cimg style=\"width:640px;\"\n       src=\"./image/syntax-parenmatch.gif\"\n       alt=\"Syntax and Parenmatching\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\" width=\"640px\"\u003e\n  \u003cimg style=\"width:640px;\"\n       src=\"./image/completion.png\"\n       alt=\"Tab Completion\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\" width=\"640px\"\u003e\n  \u003cimg style=\"width:640px;\"\n       src=\"./image/debugger.png\"\n       alt=\"Debugger\" /\u003e\n\u003c/p\u003e\n\n# Installation\n\n## Method 1: Download the binary\n\nLook up the latest release compatible with your OS under https://github.com/lisp-maintainers/cl-repl/releases.\n\nIf your choice of OS is not listed, you can help make lisping easier for others by contributing a PR. Take a look at the [.github/workflows/CI.yml](.github/workflows/CI.yml) for an inspiration. If it's unix-based, it might be as simple as adding a name to matrix -\u003e OS.\n\n## Method 2: Rosswell\n\nCL-REPL can be installed via roswell as follows.\n\n```\n$ ros install lisp-maintainers/cl-repl\n```\n\nBefore installation, please ensure that gnu readline is installed.\nIf you use OSX, you might need to execute following command.\n\n```\n$ brew link --force readline\n```\n\nAlso, ensure that your terminal support 256 colors.\n\n### Note about installation via Roswell\n\nIf you installed roswell with normal configurations, cl-repl will be located in `~/.roswell/bin`.  \nTo use cl-repl from the command line, please ensure the PATH variable includes `~/.roswell/bin`.\n\n# Usage\n\n```\n$ cl-repl\n```\n\nor\n\n```\n$ ros repl\n```\n\nSome useful magic commands are ready to use. To list available commands:\n\n```\nCL-USER\u003e %help\n```\n\n## Configuration\nYou can customize CL-REPL by editting `~/.replrc`. You can change appearance, add your own commands, and do anything you want when startup.\nAn example can be found [here](./replrc-example).\n\n## Syntax highlighting\nSyntax highlighiting of input area is new in v0.5.0.\nIf you want to disable it, put the following in your `.replrc`.\n\n```\n(disable-syntax)\n```\n\n## execute shell\nIf the line starts with `!`, excute it as shell command, e.g. `!ls -a`.\n\n## %edit magic\nLine editting in repl is sometimes painful. CL-REPL allows yot to edit code with your favorite text editor.\n\n```\nCL-REPL\u003e %edit \u003cfilename\u003e\n```\n\nCL-REPL invokes a text editor specified by `$EDITOR`.\nAfter editting code, save and close it. Then repl will start to evaluate it.\nIf `\u003cfilename\u003e` is not supplied, a temporary file will be created and deleted after evaluation.\n\nWe've be sure the following editors work properly.\n\n- vi \u0026 vim\n- GNU Emacs\n- joe's own editor\n- Lem\n\n# Contributing\n\nDon't hesitate to open issues or to send PRs.\nAny suggestions are always welcomed.\n\n## Contributors\n\n\u003c!-- readme: contributors -start --\u003e\n\u003ctable\u003e\n\t\u003ctbody\u003e\n\t\t\u003ctr\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/koji-kojiro\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/23150714?v=4\" width=\"100;\" alt=\"koji-kojiro\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003eTANI Kojiro\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/digikar99\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/31390273?v=4\" width=\"100;\" alt=\"digikar99\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003eShubhamkar Ayare\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/xiaoyu2006\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/32544798?v=4\" width=\"100;\" alt=\"xiaoyu2006\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003eYi Cao\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/fukamachi\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/90570?v=4\" width=\"100;\" alt=\"fukamachi\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003eEitaro Fukamachi\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/vindarel\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/3721004?v=4\" width=\"100;\" alt=\"vindarel\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003evindarel\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/celaleddin\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/7376042?v=4\" width=\"100;\" alt=\"celaleddin\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003eCelaleddin Hidayetoğlu\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/ryukinix\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/7642878?v=4\" width=\"100;\" alt=\"ryukinix\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003eManoel V. Machado\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/Release-Candidate\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/25861412?v=4\" width=\"100;\" alt=\"Release-Candidate\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003eRelease-Candidate\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/egao1980\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/919195?v=4\" width=\"100;\" alt=\"egao1980\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003eNikolai Matiushev\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\u003ctbody\u003e\n\u003c/table\u003e\n\u003c!-- readme: contributors -end --\u003e\n\n### List of Tasks\n\n- [ ] (Complexity: high) Support for menu based completion: can we have an ipython-like dropdown menu based completion?\n- [x] (Complexity: moderate) MacOS Binaries through Github Actions\n- [ ] (Complexity: moderate) Linux Arm64 binaries through Travis or something else\n- [ ] (Complexity: moderate) Windows Binaries\n- [ ] (Complexity: moderate) Automating tests\n- [ ] (Complexity: moderate) Add support for logs\n\n# Author\n[TANI Kojiro](https://github.com/koji-kojiro) (kojiro0531@gmail.com)\n\n# Maintainer(s)\n[Lisp Maintainers](https://github.com/lisp-maintainers)\n\n\n# License\nCL-REPL is distributed under [GPLv3](./LICENSE).\n","funding_links":[],"categories":["REPLs ##"],"sub_categories":["Third-party APIs"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flisp-maintainers%2Fcl-repl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flisp-maintainers%2Fcl-repl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flisp-maintainers%2Fcl-repl/lists"}