hacker-DOM / pimp

Provider of Insights and Meaning into Programs.
The Unlicense
0 stars 0 forks source link

Planning 1 #1

Open hacker-DOM opened 10 months ago

hacker-DOM commented 10 months ago

Planning 1

UPDATE 23-09-19: The tool used to be called Ring when I was going to write it in Rust.

For the past few years, protocols have existed that allow us to parse and gain insights ab any language in a standardized way.

There are a few tools trying to leverage this new standardization:


I propose a development tool that would communicate with Treesitter parsers and language servers to provide a whole suit of tools. Here's a small list of everything we could make. We could use LSP if it is available and fallback to Treesitter if not.


For 1.0, we can assume that a particular language server is running (or at least installed?). Further on, we could add auto-install. Mason does this really well and already has a huge database of installation and setup instructions for language servers.

I'm guessing treesitter grammars are easy to install on the fly.


I think for MVP we should do:

hacker-DOM commented 9 months ago

List of potential features

hacker-DOM commented 9 months ago

We should probably have a neovim mode which would use neovim's grammars and LSs (optional).

hacker-DOM commented 9 months ago

Neovim usage - we dont need separate neovim extension, I think the filter through an external program feature could suffice eg for the printfs (console logs) [i think it is ! be default].

hacker-DOM commented 9 months ago

Treesitter functionality would be very similar to printers/detectors in woke (python file with main and visitor functions (but can this handle mutations as well?)). Lsp functionality would have to be more thought-out. 💡 Provide api for sending requests

hacker-DOM commented 9 months ago

Lsp types (ordered)

hacker-DOM commented 9 months ago

For reference: full post in Auditors channel (the tool used to be called Ring when I was going to write it in Rust):

Ok guys, here's a pitch of Ring.rs:

We have protocols to talk with all languages in the world - basically. Treesitter for parsing, build server protocol for compiling, debugger adapter protocol for.. debugging, language server protocol for semantic information

I want to make a tool that uses these protocols to create developer tooling for all programming languages at once. So the final developer tool we'll ever need - On ring to rule them all

First, I'd like to implement

Later, we can do even more wild things:

I was originally gonna write it in Go, but over weeks i've realized the potential of this tool and so I might as well write it in a hard language

CTA (Call to action) ❗️If you know a company that would like to sponsor this ($10k+) that would allow me to work on this full-time for months, pls help out