Dagger
Search

dang

No long description provided.

Installation

dagger install github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e

Entrypoint

Return Type
Test !
Arguments
NameTypeDefault ValueDescription
dangDang !-No description provided
Example
Function Test.Constructor is not accessible from the dang module
Function Test.Constructor is not accessible from the dang module
Function Test.Constructor is not accessible from the dang module
Function Test.Constructor is not accessible from the dang module

Entrypoint

Return Type
Dang !
Arguments
NameTypeDefault ValueDescription
sourceDirectory -The source directory for the Dang project.
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
func (m *MyModule) Example() *dagger.Dang  {
	return dag.
			Dang()
}
@function
def example() -> dagger.Dang:
	return (
		dag.dang()
	)
@func()
example(): Dang {
	return dag
		.dang()
}

Types

Test 🔗

go() 🔗

Run go tests.

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
args[String ! ] -Arguments to pass along to go test.
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 test \
 go
func (m *MyModule) Example() *dagger.Container  {
	return dag.
			Dang().
			Test().
			Go()
}
@function
def example() -> dagger.Container:
	return (
		dag.dang()
		.test()
		.go()
	)
@func()
example(): Container {
	return dag
		.dang()
		.test()
		.go()
}

list() 🔗

List available tests.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceWorkspace -No description provided
Example
echo 'Custom types are not supported in shell examples'
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			Dang().
			Test().
			List(ctx)
}
@function
async def example() -> str:
	return await (
		dag.dang()
		.test()
		.list()
	)
@func()
async example(): Promise<string> {
	return dag
		.dang()
		.test()
		.list()
}

treesitter() 🔗

Run the tree-sitter tests.

Return Type
Void !
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 test \
 treesitter
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			Dang().
			Test().
			Treesitter(ctx)
}
@function
async def example() -> None:
	return await (
		dag.dang()
		.test()
		.treesitter()
	)
@func()
async example(): Promise<void> {
	return dag
		.dang()
		.test()
		.treesitter()
}

Dang 🔗

source() 🔗

The source directory for the Dang project.

Return Type
Directory !
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 source
func (m *MyModule) Example() *dagger.Directory  {
	return dag.
			Dang().
			Source()
}
@function
def example() -> dagger.Directory:
	return (
		dag.dang()
		.source()
	)
@func()
example(): Directory {
	return dag
		.dang()
		.source()
}

binary() 🔗

Return a compiled Dang binary.

Return Type
File !
Arguments
NameTypeDefault ValueDescription
raceBoolean -No description provided
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 binary
func (m *MyModule) Example() *dagger.File  {
	return dag.
			Dang().
			Binary()
}
@function
def example() -> dagger.File:
	return (
		dag.dang()
		.binary()
	)
@func()
example(): File {
	return dag
		.dang()
		.binary()
}

build() 🔗

Build the Dang binary to ./bin/dang.

Return Type
Changeset !
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 build
func (m *MyModule) Example() *dagger.Changeset  {
	return dag.
			Dang().
			Build()
}
@function
def example() -> dagger.Changeset:
	return (
		dag.dang()
		.build()
	)
@func()
example(): Changeset {
	return dag
		.dang()
		.build()
}

docs() 🔗

Build the documentation site, returning the changeset it produces under docs/ (static HTML rendered from lit/, the playground wasm, the chroma palette, the search index).

Mirrors docs/build.sh. The output is gitignored, so this is a check (it verifies the build succeeds) rather than a generator — a generator’s changeset would always look unapplied in CI, where the gitignored artifacts are absent.

Return Type
Changeset !
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 docs
func (m *MyModule) Example() *dagger.Changeset  {
	return dag.
			Dang().
			Docs()
}
@function
def example() -> dagger.Changeset:
	return (
		dag.dang()
		.docs()
	)
@func()
example(): Changeset {
	return dag
		.dang()
		.docs()
}

generate() 🔗

Runs all code generation procedures, e.g. go generate, tree-sitter generate.

Return Type
Changeset !
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 generate
func (m *MyModule) Example() *dagger.Changeset  {
	return dag.
			Dang().
			Generate()
}
@function
def example() -> dagger.Changeset:
	return (
		dag.dang()
		.generate()
	)
@func()
example(): Changeset {
	return dag
		.dang()
		.generate()
}

fmt() 🔗

Reformat every Dang source file in place with dang fmt, returning the changeset.

Skips the Dagger module sources under mod/, which must keep their explicit pub keywords until the engine bumps its embedded dang. (The .dagger sources are already excluded from source via @ignorePatterns.) Files that don’t parse are skipped too, since tests/errors/ holds deliberately-malformed syntax fixtures the formatter can’t read.

Return Type
Changeset !
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 fmt
func (m *MyModule) Example() *dagger.Changeset  {
	return dag.
			Dang().
			Fmt()
}
@function
def example() -> dagger.Changeset:
	return (
		dag.dang()
		.fmt()
	)
@func()
example(): Changeset {
	return dag
		.dang()
		.fmt()
}

tidy() 🔗

Run go mod tidy for each Go module in the repo.

Return Type
Changeset !
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 tidy
func (m *MyModule) Example() *dagger.Changeset  {
	return dag.
			Dang().
			Tidy()
}
@function
def example() -> dagger.Changeset:
	return (
		dag.dang()
		.tidy()
	)
@func()
example(): Changeset {
	return dag
		.dang()
		.tidy()
}

dang() 🔗

Build and run a dang command.

Example usage:

# Run a Dang script dang script.dang

# Run all .dang files in a directory as a module dang ./my-module

# Start interactive REPL dang

# Run with debug logging enabled dang –debug script.dang dang -d ./my-module

Return Type
Void !
Arguments
NameTypeDefault ValueDescription
args[String ! ] !-No description provided
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 dang --args string1 --args string2
func (m *MyModule) Example(ctx context.Context, args []string)   {
	return dag.
			Dang().
			Dang(ctx, args)
}
@function
async def example(args: List[str]) -> None:
	return await (
		dag.dang()
		.dang(args)
	)
@func()
async example(args: string[]): Promise<void> {
	return dag
		.dang()
		.dang(args)
}

coder() 🔗

Start a Dang coding agent.

Return Type
LLM !
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 coder
func (m *MyModule) Example() *dagger.LLM  {
	return dag.
			Dang().
			Coder()
}
@function
def example() -> dagger.LLM:
	return (
		dag.dang()
		.coder()
	)
@func()
example(): LLM {
	return dag
		.dang()
		.coder()
}

testUpdate() 🔗

Update the Golden-style test specimens, treating the current output as correct.

Return Type
Changeset !
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 test-update
func (m *MyModule) Example() *dagger.Changeset  {
	return dag.
			Dang().
			TestUpdate()
}
@function
def example() -> dagger.Changeset:
	return (
		dag.dang()
		.test_update()
	)
@func()
example(): Changeset {
	return dag
		.dang()
		.testUpdate()
}

treesitterUpdate() 🔗

Update the tree-sitter test corpus.

Return Type
Changeset !
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 treesitter-update
func (m *MyModule) Example() *dagger.Changeset  {
	return dag.
			Dang().
			TreesitterUpdate()
}
@function
def example() -> dagger.Changeset:
	return (
		dag.dang()
		.treesitter_update()
	)
@func()
example(): Changeset {
	return dag
		.dang()
		.treesitterUpdate()
}

lint() 🔗

Run the linter.

Return Type
Void !
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 lint
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			Dang().
			Lint(ctx)
}
@function
async def example() -> None:
	return await (
		dag.dang()
		.lint()
	)
@func()
async example(): Promise<void> {
	return dag
		.dang()
		.lint()
}

bumpEditors() 🔗

Bump the pinned Dang version in each editor plugin.

Return Type
Changeset !
Arguments
NameTypeDefault ValueDescription
repoGitRepository -No description provided
Example
echo 'Custom types are not supported in shell examples'
func (m *MyModule) Example() *dagger.Changeset  {
	return dag.
			Dang().
			BumpEditors()
}
@function
def example() -> dagger.Changeset:
	return (
		dag.dang()
		.bump_editors()
	)
@func()
example(): Changeset {
	return dag
		.dang()
		.bumpEditors()
}

nvimDebug() 🔗

Enter a terminal for debugging the Neovim LSP setup.

Return Type
Container !
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 nvim-debug
func (m *MyModule) Example() *dagger.Container  {
	return dag.
			Dang().
			NvimDebug()
}
@function
def example() -> dagger.Container:
	return (
		dag.dang()
		.nvim_debug()
	)
@func()
example(): Container {
	return dag
		.dang()
		.nvimDebug()
}

generated() 🔗

Base with ./hack/generate ran.

Return Type
Container !
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 generated
func (m *MyModule) Example() *dagger.Container  {
	return dag.
			Dang().
			Generated()
}
@function
def example() -> dagger.Container:
	return (
		dag.dang()
		.generated()
	)
@func()
example(): Container {
	return dag
		.dang()
		.generated()
}

test() 🔗

Return Type
Test !
Example
dagger -m github.com/vito/dang@f4ac65b1a041a121056404eac610892c1b66ef7e call \
 test
func (m *MyModule) Example() *dagger.DangTest  {
	return dag.
			Dang().
			Test()
}
@function
def example() -> dagger.DangTest:
	return (
		dag.dang()
		.test()
	)
@func()
example(): DangTest {
	return dag
		.dang()
		.test()
}