{"id":21771120,"url":"https://github.com/tomlin7/biscuit","last_synced_at":"2025-04-07T06:05:24.766Z","repository":{"id":39581920,"uuid":"413544839","full_name":"tomlin7/biscuit","owner":"tomlin7","description":"lightweight code editor for any language","archived":false,"fork":false,"pushed_at":"2024-05-22T06:30:43.000Z","size":5455,"stargazers_count":140,"open_issues_count":22,"forks_count":18,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-22T13:47:50.295Z","etag":null,"topics":["autocomplete","code-editor","command-palette","debugger","extensions","goto-definition","hacktoberfest","python","terminal","text-editor","tkinter","vscode"],"latest_commit_sha":null,"homepage":"https://tomlin7.github.io/biscuit","language":"Python","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/tomlin7.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-04T18:45:57.000Z","updated_at":"2024-05-28T16:31:00.190Z","dependencies_parsed_at":"2023-12-25T08:25:37.005Z","dependency_job_id":"e90b43b2-df2d-445a-9502-c34c97c8f4be","html_url":"https://github.com/tomlin7/biscuit","commit_stats":null,"previous_names":["tomlin7/biscuit"],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomlin7%2Fbiscuit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomlin7%2Fbiscuit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomlin7%2Fbiscuit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomlin7%2Fbiscuit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomlin7","download_url":"https://codeload.github.com/tomlin7/biscuit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247601447,"owners_count":20964864,"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":["autocomplete","code-editor","command-palette","debugger","extensions","goto-definition","hacktoberfest","python","terminal","text-editor","tkinter","vscode"],"created_at":"2024-11-26T14:15:08.435Z","updated_at":"2025-04-07T06:05:24.747Z","avatar_url":"https://github.com/tomlin7.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![image](https://github.com/user-attachments/assets/a578d600-a4a8-4ce4-904d-4aa0e73fc124)\n\nAesthetic, lightweight code editor with extension support. Draws inspiration from mainstream editors like VSC, Zed, and Vim. Hobby project. \n\u003e - - -  Check all extensions and their authors [`~extension repository`](https://tomlin7.github.io/biscuit-extensions/)\n\u003e - - -  Contributing/User guides, API reference [`~documentation`](https://tomlin7.github.io/biscuit)\n\u003e - - -  Scroll down to see list of all supported [`~features`](https://github.com/tomlin7/biscuit?tab=readme-ov-file#features)\n\n![Untitled11(1) (1)](https://github.com/user-attachments/assets/a9eaeb35-61fd-45a5-9dfb-dbf70bbfd257)\n\u003e Theme inspired by [`morhetz/gruvbox`](https://github.com/morhetz/gruvbox)\n\n## `Installing`\n\nInstall the latest release from PyPI by running:\n```bash\n\u003e pip install biscuit-editor\n```\nQuickly open up a project using **`biscuit path/to/src`** and start editing. See other [installation methods](https://tomlin7.github.io/biscuit/getting-started/installation/).\n\n## `Contributing`\n\n- - - Please check the [docs](https://tomlin7.github.io/biscuit/getting-started/quick-start/) and [contributing guide](https://github.com/tomlin7/Biscuit/blob/main/CONTRIBUTING.md) for a quick tour of the project structure and to set up the environment. \n- - - To make a new extension, read the [extension docs](https://github.com/tomlin7/biscuit-extensions)\n\n\u003ca href=\"https://github.com/tomlin7/biscuit/graphs/contributors\"\u003e\n  \u003cimg src=\"https://opencollective.com/biscuit/contributors.svg\" /\u003e\n\u003c/a\u003e\u003cbr\u003e\n\n## `Features`\n\n### Language Server Support\n\n- code completions\n- hover\n- symbol outline (palette `Ctrl + J`)\n- symbol references\n- goto-definition/declaration\n\nMore language servers are registered through extensions, see the [Rust](https://github.com/tomlin7/biscuit-extensions/blob/main/extensions/rust.py), [Typescript](https://github.com/tomlin7/biscuit-extensions/blob/main/extensions/javascript_typescript.py) extensions\nfor reference. Feel free to open issues/discussions for help!\n\n![peek](https://github.com/user-attachments/assets/16350a91-8d87-422d-b779-1db21033e979)\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cimg src=https://github.com/tomlin7/biscuit/assets/70792552/36589a2d-8f5f-4196-bc88-5b1800492076 height=270\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e \n        \u003cimg src=https://github.com/tomlin7/biscuit/assets/70792552/68a26ccb-b309-4c21-b75e-3e5cf5fa6500 height=270\u003e\n    \u003c/tr\u003e\u003cbr\u003e\n    \u003cfigcaption\u003e\n        \u003ca href=https://github.com/tomlin7/biscuit/blob/main/src/biscuit/settings/theme/vscdark.py\u003e\u003ccode\u003eBiscuit VS dark theme\u003c/code\u003e\u003c/a\u003e\n    \u003c/figcaption\u003e\n\u003c/table\u003e\n\n### Breakpoint-based Code Debugging\n\n- breakpoints in multiple files\n- variable inspection\n- modify variables at runtime\n- call stack\n\nBuilt-in Python debugger is available right now, more debuggers can be registered through extensions.\n- TODO: Debugger Adapter Protocol support, [DAP client](https://github.com/tomlin7/debug-adapter-client) integration\n\n![breakpoint](https://github.com/user-attachments/assets/a34d6e59-4743-43ee-a1a1-b7a5eac589bf)\n\n### Git Support\n- Diff viewer\n- Git operations GUI-fied (push, pull, commit, stage, unstage, switch branches)\n- Clone repositories within editor, and open them up\n- View GitHub issues/pr within editor (NOTE: will be converted to an extension)\n\n![image](https://github.com/user-attachments/assets/c23c0338-7c19-4636-831e-3d97b539df46)\n![image](https://github.com/user-attachments/assets/41cdbe73-4b24-4502-95f6-fcc17a2002be)\n\n### Assistant\n\n- Attach files for context in chat\n- Generate terminal commands within integrated terminal (use `# prompt` in terminal, then accept/decline response)\n- Run local LLMs with Ollama extension\n- Google Gemini built-in support (key)\n  \nMore providers can be added with extensions, see [ollama extension](https://github.com/tomlin7/biscuit-extensions/blob/main/extensions/ollama.py) for reference.\n\n![Assistant](https://github.com/user-attachments/assets/898d5223-87c2-4368-acd2-8ae060daab70)\n\n### Workspace Search\n- regex support\n- file preview, occurrence count, etc\n- search within editors with find-replace widget\n\n![image](https://github.com/user-attachments/assets/6dd1baa2-c89c-437d-9613-00e72fa9e009)\n\n### More features\n- **Integrated Terminals**\n  - Set up and store run command for each editor for ease\n  - Use `# prompt here...` commands to generate commands with assistant (key)\n  - Multiple terminals can be opened (Built in support for powershell, bash, cmd, python REPL, etc.)\n  \n  ![image](https://github.com/user-attachments/assets/733fbd70-8377-4907-92fa-83e0dcad9368)\n\n- **Extension center**\n  - Install and manage all available extensions\n  - Filter all installed extensions\n  - Search for extensions\n  \n  ![image](https://github.com/user-attachments/assets/9f6d67f2-b00f-43e6-804a-8f66e03b8183)\n\n- Split-pane **Markdown** editor, HTML renderer\n  - Split-pane editing\n  - Syntax highlighting support\n  - TODO: CSS support for HTML editor\n  \n  ![image](https://github.com/user-attachments/assets/ac086e4d-023e-4dd1-ae26-96271d900656)\n\n- Rich Command palette (commands added to [commands.py](https://github.com/tomlin7/biscuit/blob/main/src/biscuit/commands.py) are automatically made available)\n- **Drag and drop** to open files or folders in Biscuit\n- Built-in [editorconfig](https://editorconfig.org/) support\n- Toggle relative line numbering\n- Formatter extensions support\n  - See [black](https://github.com/tomlin7/biscuit-extensions/blob/main/extensions/black.py), [Ruff](https://github.com/tomlin7/biscuit-extensions/blob/main/extensions/ruff.py), [YAPF](https://github.com/tomlin7/biscuit-extensions/blob/main/extensions/yapf.py), [autopep8](https://github.com/tomlin7/biscuit-extensions/blob/main/extensions/autopep8.py) for reference.\n  \n  ![image](https://github.com/user-attachments/assets/73a86fb6-89f8-4cd9-8552-5c1fb9c2e3b0)\n\n\n## `License`\n\nBiscuit uses the MIT License. For more information, see [LICENSE.md](https://github.com/tomlin7/Biscuit/blob/main/LICENSE.md).\n\n\u003ca href=https://github.com/tomlin7/Biscuit/actions/workflows/nightly.yml\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/tomlin7/biscuit/nightly.yml\"\u003e\u003c/a\u003e \n\u003cimg alt=\"Project License\" src=\"https://img.shields.io/github/license/tomlin7/Biscuit\"\u003e \n\u003ca href=https://github.com/tomlin7/Biscuit/releases\u003e \u003cimg alt=\"Download Latest\" src=\"https://img.shields.io/github/v/release/tomlin7/biscuit\"\u003e\u003c/a\u003e\n\u003cimg alt=\"GitHub closed pull requests\" src=\"https://img.shields.io/github/issues-pr-closed-raw/tomlin7/Biscuit\"\u003e\n\n\n![image](https://github.com/user-attachments/assets/0df70dbd-b4e2-46ae-9715-045bdf85ed13)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomlin7%2Fbiscuit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomlin7%2Fbiscuit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomlin7%2Fbiscuit/lists"}