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

dash

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2026 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package dash answers the substrate's questions the way dash does.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Apply

func Apply(r *interp.Runner)

Apply makes any adjustment that is not a vector value. dash needs none: it has `local`, which is the only builtin the panel disagrees about.

func Diagnostics

func Diagnostics() interp.Diagnostics

Diagnostics is how dash reports failure.

func Dialect

func Dialect() syntax.Dialect

Dialect is what dash parses.

func EditorStyle

func EditorStyle() repl.EditorStyle

EditorStyle is what dash draws while a line is being typed.

// Measured: `^C` appears after the abandoned line. dash has no line editor, so that is the terminal echoing the interrupt character rather than dash drawing it — but a shell that takes the terminal raw, as this one does, has to draw it to look the same.

func HistoryStyle

func HistoryStyle() repl.HistoryStyle

HistoryStyle is how dash searches its history and what it declines to keep.

dash has no history at all: measured on 2026-09-05, an interactive dash run with `HISTFILE` set leaves no file behind, and it has no line editor to search from either. There is therefore nothing to be compatible with, in either half.

The zero value it returns is not "dash's answer" but "no answer" — this shell offers a search and a recall list because it has a line editor and dash does not, and there is no measurement that would make one wording more dash-like than another.

func Prelude

func Prelude() string

Prelude is the part of the dialect written as shell rather than as Go.

Empty, and that is dash's answer rather than a gap: it defines no functions of its own and names itself in no variable. A script asking which shell it is under gets nothing from dash, which is how a script tells dash from the three that answer.

func PromptStyle

func PromptStyle() interp.PromptStyle

PromptStyle is what dash does to a prompt parameter's value before drawing it.

dash expands the value. An inherited `PS1='<$LOGNAME>@ '` draws the name, and `PS1='$((1+1))'` draws 2. It has no escape language beyond what expansion itself gives — which is where a `\\$` drawing a bare `$` comes from, since that is what a backslash does to a dollar during expansion and not a prompt feature at all.

Measured through a pty rather than taken from documentation: the panel disagrees about this, and the disagreement is why the field exists.

func Semantics

func Semantics() interp.Semantics

Semantics is what dash means where the shells conflict.

func Style

func Style() syntax.Style

Style is how a formatter lays this shell's scripts out.

The core's, on the same footing as ksh's: seven dash scripts on the machine and two of them voting on an indent is not a measurement, and POSIX has no style guide to fall back on. The common answer stands, labeled as a default rather than as evidence.

This shell reaches the fewest of the formatter's questions in any case. It has no brace short form, no `;&`, no `[[ ]]` — so most of what Style asks is unreachable here, and the layout it does get is the core's plain one.

Types

This section is empty.

Jump to

Keyboard shortcuts

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