Skip to content

tomlin7/biscuit

 
 

Repository files navigation

image

Aesthetic, lightweight code editor with extension support. Draws inspiration from mainstream editors like VSC, Zed, and Vim. Hobby project.

image

Theme inspired by morhetz/gruvbox

Installing

Install the latest release from PyPI by running:

> pip install biscuit-editor

Quickly open up a project using biscuit path/to/src and start editing. See other installation methods.

Contributing


Features

Language Server Support

  • code completions
  • hover
  • symbol outline (palette Ctrl + J)
  • symbol references
  • goto-definition/declaration

More language servers are registered through extensions, see the Rust, Typescript extensions for reference. Feel free to open issues/discussions for help!

peek


Biscuit VS dark theme

Breakpoint-based Code Debugging

  • breakpoints in multiple files
  • variable inspection
  • modify variables at runtime
  • call stack

Built-in Python debugger is available right now, more debuggers can be registered through extensions.

  • TODO: Debugger Adapter Protocol support, DAP client integration

breakpoint

Git Support

  • Diff viewer
  • Git operations GUI-fied (push, pull, commit, stage, unstage, switch branches)
  • Clone repositories within editor, and open them up
  • View GitHub issues/pr within editor (NOTE: will be converted to an extension)

image image

Assistant

  • Attach files for context in chat
  • Generate terminal commands within integrated terminal (use # prompt in terminal, then accept/decline response)
  • Run local LLMs with Ollama extension
  • Google Gemini built-in support (key)

More providers can be added with extensions, see ollama extension for reference.

Assistant

Workspace Search

  • regex support
  • file preview, occurrence count, etc
  • search within editors with find-replace widget

image

More features

  • Integrated Terminals

    • Set up and store run command for each editor for ease
    • Use # prompt here... commands to generate commands with assistant (key)
    • Multiple terminals can be opened (Built in support for powershell, bash, cmd, python REPL, etc.)

    image

  • Extension center

    • Install and manage all available extensions
    • Filter all installed extensions
    • Search for extensions

    image

  • Split-pane Markdown editor, HTML renderer

    • Split-pane editing
    • Syntax highlighting support
    • TODO: CSS support for HTML editor

    image

  • Rich Command palette (commands added to commands.py are automatically made available)

  • Drag and drop to open files or folders in Biscuit

  • Built-in editorconfig support

  • Toggle relative line numbering

  • Formatter extensions support

    image

Syntax Highlighting

  • Tree-sitter highlighter for Python files
  • Pygments as a fallback highlighter for other file types

License

Biscuit uses the MIT License. For more information, see LICENSE.md.

Project License Download Latest GitHub closed pull requests

image