Help us shape the future of Go! Take the 2026 Go Developer Survey

dstll

command module
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 17, 2024 License: MIT Imports: 2 Imported by: 0

README

dstll

✨ Overview

dstll (short for "distill") gives you a high level overview of various constructs in your code files.

Usage

Languages supported:

  • go
  • python
  • rust
  • scala 2
  • more to come

Motivation

Sometimes, you want to quickly understand how a project is organized. It could be a new repo you're working on or a specific part of a project you're unfamiliar with. When given a list of files you're curious about, dstll shows you a list of signatures representing different constructs found in those files, such as classes, functions, objects, etc.

💾 Installation

go:

go install github.com/dhth/dstll@latest

⚡️ Usage

# print findings to stdout
dstll [PATH ...]

# write findings to a directory
dstll write [PATH ...] -o /var/tmp/findings

# serve findings via a web server
dstll serve [PATH ...] -o /var/tmp/findings

# open TUI
dstll tui

Usage

Usage

Usage

🛠️ Configuration

Create a configuration file that looks like the following. By default, dstll will look for this file at ~/.config/dstll/dstll.yml.

view-file-command = ["your", "command"]
# for example, ["bat", "--style", "plain", "--paging", "always"]
# will run 'bat --style plain --paging always <file-path>'

Examples

Running dstll in the scala repo gives the following output:

$ dstll $(git ls-files src/compiler/scala/tools/tasty | head -n 3)

-> src/compiler/scala/tools/tasty/ErasedTypeRef.scala

object ErasedTypeRef

class ErasedTypeRef(qualifiedName: TypeName, arrayDims: Int)

def apply(tname: TastyName): ErasedTypeRef

def name(qual: TastyName, tname: SimpleName, isModule: Boolean)

def specialised(qual: TastyName, terminal: String, isModule: Boolean, arrayDims: Int = 0): ErasedTypeRef

................................................................................

-> src/compiler/scala/tools/tasty/Attributes.scala

object Attributes

private class ConcreteAttributes(val isJava: Boolean) extends Attributes

................................................................................

-> src/compiler/scala/tools/tasty/AttributeUnpickler.scala

object AttributeUnpickler

def attributes(reader: TastyReader): Attributes

More examples can be found here.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
A modded version of https://github.com/charmbracelet/bubbles/blob/master/filepicker/filepicker.go
A modded version of https://github.com/charmbracelet/bubbles/blob/master/filepicker/filepicker.go
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL