A TUI front-end for the Debug Adapter Protocol.

Overview

Pesticide

A TUI front-end for the Debug Adapter Protocol.

Motivation

I am an avid kakoune user. Kak is a very niche text editor with few users. As such, it does not have a mature Debug Adapter Protocol plugin.

Kakoune's philosophy is one of orthogonality. A text editor should be just that - a text editor. It should be easy to integrate with other tools in a POSIX environment. As such, Kakoune itself should not be used as a debugging interface, but only as the text editor portion of a debugging interface. Thus, everything except for the text editor itself should be handled by another program or programs. This is where Pesticide fits in.

Goals

  • Start, manage, and stop DAP sessions
  • Show variables, watch, stack trace, breakpoints, and all other DAP views
  • Simple built-in text view for setting breakpoints
  • Easily integrate with terminal text editors - vim, emacs, and kak - for setting breakpoints and moving around the project
  • Client-server architecture to allow multiple terminals to show different views

Non-goals

  • Integrate with GUI text editors
  • Manage debug adapters
  • Windows support

Timeline

This project is enormously ambitious for my skill level, but I have plenty of motivation to get it done. I don't want to have to use vscode for debugging any more! As such, it might take a long time to get to a usable state.

Inspirations

You might also like...
Rust TUI client for steamcmd
Rust TUI client for steamcmd

Steam TUI About Just a simple TUI client for steamcmd. Allows for the graphical launching, updating, and downloading of steam games through a simple t

Another TUI based system monitor, this time in Rust!
Another TUI based system monitor, this time in Rust!

Another TUI based system monitor, this time in Rust!

A user-friendly TUI client for Matrix written in Rust!

Konoha A user-friendly TUI client for Matrix written in Rust! Notice: The client is currently not usable and is only hosted on GitHub for version cont

TUI image viewer
TUI image viewer

Picterm TUI image viewer install $ cargo install picterm or $ git clone https://github.com/ksk001100/picterm $ cd picterm $ cargo install --path . usa

A cli prepared with TUI that facilitates your operations.
A cli prepared with TUI that facilitates your operations.

⚠️ For linux only ⚠️ Helper CLI A cli prepared with TUI that facilitates your operations. Click me to learn more about the theme system. If you just w

A tui to test regexes on the rust regex crate

regex-tui Structure src/ ├── app.rs - holds the states and renders the widgets ├── event.rs - handles the terminal events (key press, mouse cl

Parse hex colors to tui::style::Color

Color - Tui Parse hex colors to tui rgb colors #c3f111 - Color::Rgb(195,241,17) Note that the indexed colors are NOT HEX #142 - Color::Indexed(142)

TUI input library supporting multiple backends
TUI input library supporting multiple backends

tui-input WARNING: Most of the functionality is only human tested. A TUI input library supporting multiple backends. This crate can be used with tui-r

2048 in `tui`, just for fun
2048 in `tui`, just for fun

TUI 2048 - Have a relax at anytime - 😎 ^_^ How to run repo clone this repo, git clone https://github.com/WanderHuang/game-2048-tui.git cd game-2048-t

Comments
  • MVP Checklist

    MVP Checklist

    The minimal viable product will have the following features:

    • [x] Start and stop debug adapters in single session mode
    • [x] Implement launch request with an external terminal
    • [ ] Variables, call stack, breakpoints, and source views
    • [ ] Handle all methods of ending a session (terminate, disconnect, ended)
    • [ ] Basic kak integration - setting breakpoints, stepping, starting/stopping sessions
    opened by raiguard 0
Owner
raiguard
Software developer for fun. Harboring an intense love of Rust.
raiguard
HTTP client/libcurl TUI front end in Rust, with request + key storage

Rust TUI HTTP Client with API Key Management This project is still in active development and although it is useable, there may still be bugs and signi

Preston Thorpe 23 Nov 9, 2023
This is a simple lnd poller and web front-end to see and read boosts and boostagrams.

Helipad This package will poll a Lightning LND node for invoices related to Podcasting 2.0 and display them in a web interface. It's intended for use

Podcastindex.org 26 Dec 29, 2022
A run-codes cli front end with some extra features

run-cli Run-cli A run-codes cli front end with some extra features Report Bug · Request Feature Table of Contents About The Project Built With Getting

Matheus Vieira 13 Nov 16, 2022
A template for bootstrapping a Rust TUI application with tui-rs & crossterm

rust-tui-template A template for bootstrapping a Rust TUI application with tui-rs & crossterm. tui-rs The library is based on the principle of immedia

Orhun Parmaksız 72 Dec 31, 2022
A newtype wrapper that causes Debug impls to skip a field.

debug-ignore This library contains DebugIgnore, a newtype wrapper that causes a field to be skipped while printing out Debug output. Examples use debu

Rain 15 Sep 22, 2022
`nm` and `addr2line` but for DI "debug-info" COFF files

Summary This is a very simple tool that prints out function, global, and source line information from a .dbg "DI" COFF debug file. This can handle bot

null 7 Dec 18, 2022
Binary Ninja plugin written in Rust to automatically apply symbol information from split debug info on Linux.

Load Symbols Binary Ninja plugin written in Rust to automatically apply symbol information from split debug info on Linux. Requirements Last tested wi

null 4 Jul 20, 2022
Downloads and provides debug symbols and source code for nix derivations to gdb and other debuginfod-capable debuggers as needed.

nixseparatedebuginfod Downloads and provides debug symbols and source code for nix derivations to gdb and other debuginfod-capable debuggers as needed

Guillaume Girol 16 Mar 6, 2023
RedMaple offers an oppinionated yet extremely flexible data modeling system based on events for back-end applications.

RedMaple offers an oppinionated yet extremely flexible data modeling system based on events for back-end applications.

Amir Alesheikh 4 Mar 5, 2023
A hackable, minimal, fast TUI file explorer, stealing ideas from nnn and fzf.

xplr A hackable, minimal, fast TUI file explorer, stealing ideas from nnn and fzf. [Quickstart] [Features] [Plugins] [Documentation] [Upgrade Guide] [

Arijit Basu 2.6k Jan 1, 2023