=========================================================== .___ __ __ _________________ __ __ __| _/|__|/ |_ / ___\_` __ \__ \ | | \/ __ | | \\_ __\ / /_/ > | \// __ \| | / /_/ | | || | \___ /|__| (____ /____/\____ | |__||__| /_____/ \/ \/ grep rough audit - static analysis tool v2.8 written by @Wireghoul =================================[justanotherhacker.com]=== elvish-0.14.1/README.md-65- elvish-0.14.1/README.md:66:- Remember to add `$HOME/go/bin` to your `PATH` so that you can run `elvish` elvish-0.14.1/README.md-67- directly. ############################################## elvish-0.14.1/README.md-70- [these steps](https://github.com/golang/go/wiki/SettingGOPATH) to set elvish-0.14.1/README.md:71: `GOPATH`, and Elvish will be installed to `$GOPATH/bin` instead. elvish-0.14.1/README.md-72- ############################################## elvish-0.14.1/pkg/daemon/sock_windows.go-23- } elvish-0.14.1/pkg/daemon/sock_windows.go:24: _, err = fmt.Fprint(file, listener.Addr()) elvish-0.14.1/pkg/daemon/sock_windows.go-25- if err != nil { ############################################## elvish-0.14.1/pkg/edit/builtins_test.go-17- elvish-0.14.1/pkg/edit/builtins_test.go:18: evals(f.Evaler, `called = $false`) elvish-0.14.1/pkg/edit/builtins_test.go:19: evals(f.Evaler, `m = (edit:binding-table [&a={ called = $true }])`) elvish-0.14.1/pkg/edit/builtins_test.go-20- _, ok := getGlobal(f.Evaler, "m").(BindingMap) ############################################## elvish-0.14.1/pkg/edit/builtins_test.go-113- " vvvv", term.DotHere) elvish-0.14.1/pkg/edit/builtins_test.go:114: evals(f.Evaler, `edit:redraw &full=$true`) elvish-0.14.1/pkg/edit/builtins_test.go-115- // TODO(xiaq): Test that this is actually a full redraw. ############################################## elvish-0.14.1/pkg/edit/command_api_test.go-13- elvish-0.14.1/pkg/edit/command_api_test.go:14: evals(f.Evaler, `edit:insert:binding[Ctrl-'['] = $edit:command:start~`) elvish-0.14.1/pkg/edit/command_api_test.go-15- feedInput(f.TTYCtrl, "echo") ############################################## elvish-0.14.1/pkg/edit/complete_getopt.go-25-// elvish-0.14.1/pkg/edit/complete_getopt.go:26:// * `$args` is an array containing the current arguments in the command line elvish-0.14.1/pkg/edit/complete_getopt.go-27-// (without the command itself). These are the arguments as passed to the ############################################## elvish-0.14.1/pkg/edit/complete_getopt.go-29-// elvish-0.14.1/pkg/edit/complete_getopt.go:30:// * `$opt-specs` is an array of maps, each one containing the definition of elvish-0.14.1/pkg/edit/complete_getopt.go-31-// one possible command-line option. Matching options will be provided as elvish-0.14.1/pkg/edit/complete_getopt.go:32:// completions when the last element of `$args` starts with a dash, but not elvish-0.14.1/pkg/edit/complete_getopt.go-33-// otherwise. Each map can contain the following keys (at least one of `short` ############################################## elvish-0.14.1/pkg/edit/complete_getopt.go-40-// elvish-0.14.1/pkg/edit/complete_getopt.go:41:// - `arg-optional`, if set to `$true`, specifies that the option receives an elvish-0.14.1/pkg/edit/complete_getopt.go-42-// optional argument. elvish-0.14.1/pkg/edit/complete_getopt.go-43-// elvish-0.14.1/pkg/edit/complete_getopt.go:44:// - `arg-required`, if set to `$true`, specifies that the option receives a elvish-0.14.1/pkg/edit/complete_getopt.go-45-// mandatory argument. Only one of `arg-optional` or `arg-required` can be elvish-0.14.1/pkg/edit/complete_getopt.go:46:// set to `$true`. elvish-0.14.1/pkg/edit/complete_getopt.go-47-// ############################################## elvish-0.14.1/pkg/edit/complete_getopt.go-54-// elvish-0.14.1/pkg/edit/complete_getopt.go:55:// * `$arg-handlers` is an array of functions, each one returning the possible elvish-0.14.1/pkg/edit/complete_getopt.go-56-// completions for that position in the arguments. Each function receives elvish-0.14.1/pkg/edit/complete_getopt.go:57:// as argument the last element of `$args`, and should return zero or more elvish-0.14.1/pkg/edit/complete_getopt.go-58-// possible values for the completions at that point. The returned values can ############################################## elvish-0.14.1/pkg/edit/completion.go-46-// This function is the default handler for any commands without elvish-0.14.1/pkg/edit/completion.go:47:// explicit handlers in `$edit:completion:arg-completer`. See [Argument elvish-0.14.1/pkg/edit/completion.go-48-// Completer](#argument-completer). ############################################## elvish-0.14.1/pkg/edit/completion.go-77-// The `&display` and `&display-suffix` options control how the item is elvish-0.14.1/pkg/edit/completion.go:78:// displayed. If `$display` is non-empty, its content is shown. If `$display` is elvish-0.14.1/pkg/edit/completion.go:79:// empty, the content will be `$stem` concatenated with `$display-suffix`. elvish-0.14.1/pkg/edit/completion.go-80-// elvish-0.14.1/pkg/edit/completion.go-81-// The `&code-suffix` option controls how the candidate is inserted into the elvish-0.14.1/pkg/edit/completion.go:82:// code when it is accepted. By default, a quoted version of `$stem` is elvish-0.14.1/pkg/edit/completion.go:83:// inserted. If `$code-suffix` is non-empty, it is added to that text, without elvish-0.14.1/pkg/edit/completion.go-84-// any further quoting. ############################################## elvish-0.14.1/pkg/edit/completion.go-89-// 0.15. After its removal, the displayed text of the candidate will default to elvish-0.14.1/pkg/edit/completion.go:90:// `$stem` if `$display` is empty. elvish-0.14.1/pkg/edit/completion.go-91- ############################################## elvish-0.14.1/pkg/edit/completion_test.go-164- elvish-0.14.1/pkg/edit/completion_test.go:165: evals(f.Evaler, `edit:completion:matcher[''] = $edit:match-substr~`) elvish-0.14.1/pkg/edit/completion_test.go-166- feedInput(f.TTYCtrl, "echo f\t") ############################################## elvish-0.14.1/pkg/edit/config_api.go-67-// A filter is a function that takes a command as argument and outputs elvish-0.14.1/pkg/edit/config_api.go:68:// a boolean value. If any of the filters outputs `$false`, the elvish-0.14.1/pkg/edit/config_api.go-69-// command is not saved to history, and the rest of the filters are ############################################## elvish-0.14.1/pkg/edit/config_api_test.go-11- `called = 0`, elvish-0.14.1/pkg/edit/config_api_test.go:12: `edit:before-readline = [ { called = (+ $called 1) } ]`)) elvish-0.14.1/pkg/edit/config_api_test.go-13- defer f.Cleanup() ############################################## elvish-0.14.1/pkg/edit/config_api_test.go-125- f := setup(rc( elvish-0.14.1/pkg/edit/config_api_test.go:126: `called = $false`, elvish-0.14.1/pkg/edit/config_api_test.go:127: `@edit:add-cmd-filters = [_]{ put $false } [_]{ called = $true; put $true }`, elvish-0.14.1/pkg/edit/config_api_test.go-128- )) ############################################## elvish-0.14.1/pkg/edit/editor.go-134- ed.notifyf("[%v error] %v\n"+ elvish-0.14.1/pkg/edit/editor.go:135: `see stack trace with "use exc; exc:show $edit:exceptions[%d]"`, elvish-0.14.1/pkg/edit/editor.go-136- ctx, e, ed.excList.Len()-1) ############################################## elvish-0.14.1/pkg/edit/highlight/regions.go-139- // TODO: This only highlights bareword special commands, however currently elvish-0.14.1/pkg/edit/highlight/regions.go:140: // quoted special commands are also possible (e.g `"if" $true { }` is elvish-0.14.1/pkg/edit/highlight/regions.go-141- // accepted). ############################################## elvish-0.14.1/pkg/edit/insert_api_test.go-26- `called = 0`, elvish-0.14.1/pkg/edit/insert_api_test.go:27: `edit:insert:binding[x] = { called = (+ $called 1) }`) elvish-0.14.1/pkg/edit/insert_api_test.go-28- ############################################## elvish-0.14.1/pkg/edit/insert_api_test.go-42- elvish-0.14.1/pkg/edit/insert_api_test.go:43: evals(f.Evaler, `edit:insert:quote-paste = $true`) elvish-0.14.1/pkg/edit/insert_api_test.go-44- ############################################## elvish-0.14.1/pkg/edit/insert_api_test.go-61- evals(f.Evaler, elvish-0.14.1/pkg/edit/insert_api_test.go:62: `v0 = $edit:insert:quote-paste`, elvish-0.14.1/pkg/edit/insert_api_test.go-63- `edit:toggle-quote-paste`, elvish-0.14.1/pkg/edit/insert_api_test.go:64: `v1 = $edit:insert:quote-paste`, elvish-0.14.1/pkg/edit/insert_api_test.go-65- `edit:toggle-quote-paste`, elvish-0.14.1/pkg/edit/insert_api_test.go:66: `v2 = $edit:insert:quote-paste`) elvish-0.14.1/pkg/edit/insert_api_test.go-67- ############################################## elvish-0.14.1/pkg/edit/listing_nonwindows_test.go-59- evals(f.Evaler, elvish-0.14.1/pkg/edit/listing_nonwindows_test.go:60: `edit:location:workspaces = [&ws=$E:HOME/ws.]`) elvish-0.14.1/pkg/edit/listing_nonwindows_test.go-61- ############################################## elvish-0.14.1/pkg/edit/listing_nonwindows_test.go-83- "bin": util.Dir{}}}) elvish-0.14.1/pkg/edit/listing_nonwindows_test.go:84: evals(f.Evaler, `edit:location:workspaces = [&ws=$E:HOME/ws.]`) elvish-0.14.1/pkg/edit/listing_nonwindows_test.go-85- ############################################## elvish-0.14.1/pkg/edit/listing_test.go-90- [&to-filter=2 &to-accept=put &to-show=(styled put green)]]`, elvish-0.14.1/pkg/edit/listing_test.go:91: `edit:listing:start-custom $items &accept=$edit:insert-at-dot~ &caption=A`) elvish-0.14.1/pkg/edit/listing_test.go-92- f.TestTTY(t, ############################################## elvish-0.14.1/pkg/edit/listing_test.go-115- evals(f.Evaler, elvish-0.14.1/pkg/edit/listing_test.go:116: `f = [q]{ put [&to-accept='q '$q &to-show=(styled 'q '$q blue)] }`, elvish-0.14.1/pkg/edit/listing_test.go:117: `edit:listing:start-custom $f &caption=A`) elvish-0.14.1/pkg/edit/listing_test.go-118- // Query. ############################################## elvish-0.14.1/pkg/edit/listing_test.go-136- evals(f.Evaler, elvish-0.14.1/pkg/edit/listing_test.go:137: `f = [q]{ echo 'q '$q }`, elvish-0.14.1/pkg/edit/listing_test.go:138: `edit:listing:start-custom $f &accept=$edit:insert-at-dot~ &caption=A`) elvish-0.14.1/pkg/edit/listing_test.go-139- // Query. ############################################## elvish-0.14.1/pkg/edit/navigation_test.go-31- // Test $edit:selected-file. elvish-0.14.1/pkg/edit/navigation_test.go:32: evals(f.Evaler, `file = $edit:selected-file`) elvish-0.14.1/pkg/edit/navigation_test.go-33- wantFile := "a" ############################################## elvish-0.14.1/pkg/edit/prompt_test.go-43- "[prompt error] ERROR\n", elvish-0.14.1/pkg/edit/prompt_test.go:44: `see stack trace with "use exc; exc:show $edit:exceptions[0]"`) elvish-0.14.1/pkg/edit/prompt_test.go:45: evals(f.Evaler, `excs = (count $edit:exceptions)`) elvish-0.14.1/pkg/edit/prompt_test.go-46- testGlobal(t, f.Evaler, "excs", "1") ############################################## elvish-0.14.1/pkg/edit/prompt_test.go-59- `i = 0`, elvish-0.14.1/pkg/edit/prompt_test.go:60: `edit:prompt = { i = (+ $i 1); put $i'> ' }`, elvish-0.14.1/pkg/edit/prompt_test.go-61- `edit:-prompt-eagerness = 10`)) ############################################## elvish-0.14.1/pkg/edit/prompt_test.go-73- `pipe = (pipe)`, elvish-0.14.1/pkg/edit/prompt_test.go:74: `edit:prompt = { nop (slurp < $pipe); put '> ' }`, elvish-0.14.1/pkg/edit/prompt_test.go-75- `edit:prompt-stale-threshold = `+scaledMsAsSec(50))) ############################################## elvish-0.14.1/pkg/edit/prompt_test.go-81- elvish-0.14.1/pkg/edit/prompt_test.go:82: evals(f.Evaler, `pwclose $pipe`) elvish-0.14.1/pkg/edit/prompt_test.go-83- f.TestTTY(t, "> ", term.DotHere) elvish-0.14.1/pkg/edit/prompt_test.go:84: evals(f.Evaler, `prclose $pipe`) elvish-0.14.1/pkg/edit/prompt_test.go-85-} ############################################## elvish-0.14.1/pkg/edit/prompt_test.go-89- `pipe = (pipe)`, elvish-0.14.1/pkg/edit/prompt_test.go:90: `edit:prompt = { nop (slurp < $pipe); put '> ' }`, elvish-0.14.1/pkg/edit/prompt_test.go-91- `edit:prompt-stale-threshold = `+scaledMsAsSec(50), elvish-0.14.1/pkg/edit/prompt_test.go:92: `edit:prompt-stale-transform = [a]{ put S; put $a; put S }`)) elvish-0.14.1/pkg/edit/prompt_test.go-93- defer f.Cleanup() ############################################## elvish-0.14.1/pkg/edit/prompt_test.go-95- f.TestTTY(t, "S???> S", term.DotHere) elvish-0.14.1/pkg/edit/prompt_test.go:96: evals(f.Evaler, `pwclose $pipe`) elvish-0.14.1/pkg/edit/prompt_test.go:97: evals(f.Evaler, `prclose $pipe`) elvish-0.14.1/pkg/edit/prompt_test.go-98-} ############################################## elvish-0.14.1/pkg/edit/prompt_test.go-102- `pipe = (pipe)`, elvish-0.14.1/pkg/edit/prompt_test.go:103: `edit:prompt = { nop (slurp < $pipe); put '> ' }`, elvish-0.14.1/pkg/edit/prompt_test.go-104- `edit:prompt-stale-threshold = `+scaledMsAsSec(50), ############################################## elvish-0.14.1/pkg/edit/prompt_test.go-109- "[prompt stale transform error] ERROR\n", elvish-0.14.1/pkg/edit/prompt_test.go:110: `see stack trace with "use exc; exc:show $edit:exceptions[0]"`) elvish-0.14.1/pkg/edit/prompt_test.go:111: evals(f.Evaler, `excs = (count $edit:exceptions)`) elvish-0.14.1/pkg/edit/prompt_test.go-112- testGlobal(t, f.Evaler, "excs", "1") ############################################## elvish-0.14.1/pkg/edit/prompt_test.go-115-func TestRPromptPersistent_True(t *testing.T) { elvish-0.14.1/pkg/edit/prompt_test.go:116: testRPromptPersistent(t, `edit:rprompt-persistent = $true`, elvish-0.14.1/pkg/edit/prompt_test.go-117- "~> "+strings.Repeat(" ", apptest.FakeTTYWidth-6)+"RRR", ############################################## elvish-0.14.1/pkg/edit/prompt_test.go-122-func TestRPromptPersistent_False(t *testing.T) { elvish-0.14.1/pkg/edit/prompt_test.go:123: testRPromptPersistent(t, `edit:rprompt-persistent = $false`, elvish-0.14.1/pkg/edit/prompt_test.go-124- "~> ", // no rprompt ############################################## elvish-0.14.1/pkg/edit/state_api.go-30-// elvish-0.14.1/pkg/edit/state_api.go:31:// Equivalent to assigning `$text` to `$edit:current-command`. elvish-0.14.1/pkg/edit/state_api.go-32- ############################################## elvish-0.14.1/pkg/edit/state_api.go-39-// Contains the current position of the cursor, as a byte position within elvish-0.14.1/pkg/edit/state_api.go:40:// `$edit:current-command`. elvish-0.14.1/pkg/edit/state_api.go-41- ############################################## elvish-0.14.1/pkg/edit/testutils_test.go-37- f.Evaler.Global["temp"] = vars.NewReadOnly(val) elvish-0.14.1/pkg/edit/testutils_test.go:38: evals(f.Evaler, name+` = $temp`) elvish-0.14.1/pkg/edit/testutils_test.go-39- } ############################################## elvish-0.14.1/pkg/eval/builtin_fn_cmd.go-16-// elvish-0.14.1/pkg/eval/builtin_fn_cmd.go:17:// Construct a callable value for the external program `$program`. Example: elvish-0.14.1/pkg/eval/builtin_fn_cmd.go-18-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_cmd.go-31-// elvish-0.14.1/pkg/eval/builtin_fn_cmd.go:32:// Test whether `$command` names a valid external command. Examples (your output elvish-0.14.1/pkg/eval/builtin_fn_cmd.go-33-// might differ): ############################################## elvish-0.14.1/pkg/eval/builtin_fn_cmd.go-49-// elvish-0.14.1/pkg/eval/builtin_fn_cmd.go:50:// Output the full path of the external `$command`. Throws an exception when not elvish-0.14.1/pkg/eval/builtin_fn_cmd.go-51-// found. Example (your output might vary): ############################################## elvish-0.14.1/pkg/eval/builtin_fn_cmd.go-67-// elvish-0.14.1/pkg/eval/builtin_fn_cmd.go:68:// Replace the Elvish process with an external `$command`, defaulting to `elvish`. elvish-0.14.1/pkg/eval/builtin_fn_cmd.go-69- ############################################## elvish-0.14.1/pkg/eval/builtin_fn_cmd.go-75-// elvish-0.14.1/pkg/eval/builtin_fn_cmd.go:76:// Exit the Elvish process with `$status` (defaulting to 0). elvish-0.14.1/pkg/eval/builtin_fn_cmd.go-77- ############################################## elvish-0.14.1/pkg/eval/builtin_fn_container.go-24-// elvish-0.14.1/pkg/eval/builtin_fn_container.go:25:// Output `$low`, `$low` + `$step`, ..., proceeding as long as smaller than elvish-0.14.1/pkg/eval/builtin_fn_container.go:26:// `$high`. If not given, `$low` defaults to 0. elvish-0.14.1/pkg/eval/builtin_fn_container.go-27-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_container.go-65-// elvish-0.14.1/pkg/eval/builtin_fn_container.go:66:// Output `$value` for `$n` times. Example: elvish-0.14.1/pkg/eval/builtin_fn_container.go-67-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_container.go-86-// elvish-0.14.1/pkg/eval/builtin_fn_container.go:87:// Put all elements of `$iterable` on the structured stdout. Like `flatten` in elvish-0.14.1/pkg/eval/builtin_fn_container.go:88:// functional languages. Equivalent to `[li]{ put $@li }`. elvish-0.14.1/pkg/eval/builtin_fn_container.go-89-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_container.go-108-// elvish-0.14.1/pkg/eval/builtin_fn_container.go:109:// Output a slightly modified version of `$container`, such that its value at `$k` elvish-0.14.1/pkg/eval/builtin_fn_container.go:110:// is `$v`. Applies to both lists and to maps. elvish-0.14.1/pkg/eval/builtin_fn_container.go-111-// elvish-0.14.1/pkg/eval/builtin_fn_container.go:112:// When `$container` is a list, `$k` may be a negative index. However, slice is not elvish-0.14.1/pkg/eval/builtin_fn_container.go-113-// yet supported. ############################################## elvish-0.14.1/pkg/eval/builtin_fn_container.go-135-// elvish-0.14.1/pkg/eval/builtin_fn_container.go:136:// Output a slightly modified version of `$map`, with the key `$k` removed. If elvish-0.14.1/pkg/eval/builtin_fn_container.go:137:// `$map` does not contain `$k` as a key, the same map is returned. elvish-0.14.1/pkg/eval/builtin_fn_container.go-138-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_container.go-207-// elvish-0.14.1/pkg/eval/builtin_fn_container.go:208:// Determine whether `$key` is a key in `$container`. A key could be a map key or elvish-0.14.1/pkg/eval/builtin_fn_container.go-209-// an index on a list or string. This includes a range of indexes. ############################################## elvish-0.14.1/pkg/eval/builtin_fn_container.go-255-// elvish-0.14.1/pkg/eval/builtin_fn_container.go:256:// Determine whether `$value` is a value in `$container`. elvish-0.14.1/pkg/eval/builtin_fn_container.go-257-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_container.go-290-// elvish-0.14.1/pkg/eval/builtin_fn_container.go:291:// Retain the first `$n` input elements. If `$n` is larger than the number of input elvish-0.14.1/pkg/eval/builtin_fn_container.go-292-// elements, the entire input is retained. Examples: ############################################## elvish-0.14.1/pkg/eval/builtin_fn_container.go-313-// elvish-0.14.1/pkg/eval/builtin_fn_container.go:314:// Drop the first `$n` elements of the input. If `$n` is larger than the number of elvish-0.14.1/pkg/eval/builtin_fn_container.go-315-// input elements, the entire input is dropped. ############################################## elvish-0.14.1/pkg/eval/builtin_fn_container.go-360-// elvish-0.14.1/pkg/eval/builtin_fn_container.go:361:// Put all keys of `$map` on the structured stdout. elvish-0.14.1/pkg/eval/builtin_fn_container.go-362-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_container.go-652-// elvish-0.14.1/pkg/eval/builtin_fn_container.go:653:// If `&less-than` has value `$nil` (the default if not set), the following elvish-0.14.1/pkg/eval/builtin_fn_container.go-654-// comparison algorithm is used: ############################################## elvish-0.14.1/pkg/eval/builtin_fn_container_test.go-74- "count 1 2 3"), elvish-0.14.1/pkg/eval/builtin_fn_container_test.go:75: That(`count $true`).ThrowsMessage("cannot get length of a bool"), elvish-0.14.1/pkg/eval/builtin_fn_container_test.go-76- ############################################## elvish-0.14.1/pkg/eval/builtin_fn_env_test.go-16- That(`get-env var`).Puts("test1"), elvish-0.14.1/pkg/eval/builtin_fn_env_test.go:17: That(`put $E:var`).Puts("test1"), elvish-0.14.1/pkg/eval/builtin_fn_env_test.go-18- ############################################## elvish-0.14.1/pkg/eval/builtin_fn_env_test.go-20- That(`get-env var`).Puts("test2"), elvish-0.14.1/pkg/eval/builtin_fn_env_test.go:21: That(`put $E:var`).Puts("test2"), elvish-0.14.1/pkg/eval/builtin_fn_env_test.go-22- ############################################## elvish-0.14.1/pkg/eval/builtin_fn_env_test.go-27- That(`set-env PATH /test-path`), elvish-0.14.1/pkg/eval/builtin_fn_env_test.go:28: That(`put $paths`).Puts(vals.MakeList("/test-path")), elvish-0.14.1/pkg/eval/builtin_fn_env_test.go:29: That(`paths = [/test-path2 $@paths]`), elvish-0.14.1/pkg/eval/builtin_fn_env_test.go-30- That(`get-env PATH`).Puts("/test-path2"+listSep+"/test-path"), ############################################## elvish-0.14.1/pkg/eval/builtin_fn_flow.go-60-// elvish-0.14.1/pkg/eval/builtin_fn_flow.go:61:// Call `$f` on all inputs. Examples: elvish-0.14.1/pkg/eval/builtin_fn_flow.go-62-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_flow.go-84-// elvish-0.14.1/pkg/eval/builtin_fn_flow.go:85:// Call `$f` on all inputs, possibly in parallel. elvish-0.14.1/pkg/eval/builtin_fn_flow.go-86-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_flow.go-220-// elvish-0.14.1/pkg/eval/builtin_fn_flow.go:221:// Throws an exception; `$v` may be any type. If `$v` is already an exception, elvish-0.14.1/pkg/eval/builtin_fn_flow.go-222-// `fail` rethrows it. ############################################## elvish-0.14.1/pkg/eval/builtin_fn_flow_test.go-13- elvish-0.14.1/pkg/eval/builtin_fn_flow_test.go:14: That(`put 1 233 | each $put~`).Puts("1", "233"), elvish-0.14.1/pkg/eval/builtin_fn_flow_test.go:15: That(`echo "1\n233" | each $put~`).Puts("1", "233"), elvish-0.14.1/pkg/eval/builtin_fn_flow_test.go:16: That(`echo "1\r\n233" | each $put~`).Puts("1", "233"), elvish-0.14.1/pkg/eval/builtin_fn_flow_test.go:17: That(`each $put~ [1 233]`).Puts("1", "233"), elvish-0.14.1/pkg/eval/builtin_fn_flow_test.go:18: That(`range 10 | each [x]{ if (== $x 4) { break }; put $x }`). elvish-0.14.1/pkg/eval/builtin_fn_flow_test.go-19- Puts(0.0, 1.0, 2.0, 3.0), elvish-0.14.1/pkg/eval/builtin_fn_flow_test.go:20: That(`range 10 | each [x]{ if (== $x 4) { fail haha }; put $x }`). elvish-0.14.1/pkg/eval/builtin_fn_flow_test.go-21- Puts(0.0, 1.0, 2.0, 3.0).ThrowsAny(), ############################################## elvish-0.14.1/pkg/eval/builtin_fn_fs.go-63-// elvish-0.14.1/pkg/eval/builtin_fn_fs.go:64:// If `$path` represents a path under the home directory, replace the home elvish-0.14.1/pkg/eval/builtin_fn_fs.go-65-// directory with `~`. Examples: ############################################## elvish-0.14.1/pkg/eval/builtin_fn_io.go-45-// elvish-0.14.1/pkg/eval/builtin_fn_io.go:46:// Reads byte input until `$delim` or end-of-file is encountered, and outputs elvish-0.14.1/pkg/eval/builtin_fn_io.go-47-// the part of the input read as a string value. The output contains the elvish-0.14.1/pkg/eval/builtin_fn_io.go:48:// trailing `$delim`, unless `read-upto` terminated at end-of-file. elvish-0.14.1/pkg/eval/builtin_fn_io.go-49-// elvish-0.14.1/pkg/eval/builtin_fn_io.go:50:// The `$delim` argument must be a single rune in the ASCII range. elvish-0.14.1/pkg/eval/builtin_fn_io.go-51-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_io.go-139-// elvish-0.14.1/pkg/eval/builtin_fn_io.go:140:// Writes representation of `$value`s, separated by space and followed by a elvish-0.14.1/pkg/eval/builtin_fn_io.go-141-// newline. Example: ############################################## elvish-0.14.1/pkg/eval/builtin_fn_io_test.go-11- That(`put foo bar`).Puts("foo", "bar"), elvish-0.14.1/pkg/eval/builtin_fn_io_test.go:12: That(`put $nil`).Puts(nil), elvish-0.14.1/pkg/eval/builtin_fn_io_test.go-13- ############################################## elvish-0.14.1/pkg/eval/builtin_fn_io_test.go-53-`), elvish-0.14.1/pkg/eval/builtin_fn_io_test.go:54: That(`put [$nil foo] | to-json`).Prints("[null,\"foo\"]\n"), elvish-0.14.1/pkg/eval/builtin_fn_io_test.go-55- ) ############################################## elvish-0.14.1/pkg/eval/builtin_fn_misc.go-44-// elvish-0.14.1/pkg/eval/builtin_fn_misc.go:45:// Output the kinds of `$value`s. Example: elvish-0.14.1/pkg/eval/builtin_fn_misc.go-46-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_misc.go-61-// elvish-0.14.1/pkg/eval/builtin_fn_misc.go:62:// Output a function that takes no arguments and outputs `$value`s when called. elvish-0.14.1/pkg/eval/builtin_fn_misc.go-63-// Examples: ############################################## elvish-0.14.1/pkg/eval/builtin_fn_misc.go-83-// The above code only calls `uname` once, while if you do `f = []{ put (uname) }`, elvish-0.14.1/pkg/eval/builtin_fn_misc.go:84:// every time you invoke `$f`, `uname` will be called. elvish-0.14.1/pkg/eval/builtin_fn_misc.go-85-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_misc.go-93-// elvish-0.14.1/pkg/eval/builtin_fn_misc.go:94:// Resolve `$command`. Command resolution is described in the elvish-0.14.1/pkg/eval/builtin_fn_misc.go-95-// [language reference](language.html). (TODO: actually describe it there.) ############################################## elvish-0.14.1/pkg/eval/builtin_fn_misc.go-128-// elvish-0.14.1/pkg/eval/builtin_fn_misc.go:129:// Note that while in the example, you can reference `$foo` after sourcing `x.elv`, elvish-0.14.1/pkg/eval/builtin_fn_misc.go:130:// putting the `-source` command and reference to `$foo` in the **same code chunk** elvish-0.14.1/pkg/eval/builtin_fn_misc.go-131-// (e.g. by using <span class="key">Alt-Enter</span> to insert a literal Enter, or ############################################## elvish-0.14.1/pkg/eval/builtin_fn_misc.go-146-// the check for variables happens at the compilation phase (before evaluation). So elvish-0.14.1/pkg/eval/builtin_fn_misc.go:147:// the compiler has no evidence showing that `$foo` is actually valid, and will elvish-0.14.1/pkg/eval/builtin_fn_misc.go-148-// complain. (See [here](../learn/unique-semantics.html#execution-phases) for a ############################################## elvish-0.14.1/pkg/eval/builtin_fn_misc.go-150-// elvish-0.14.1/pkg/eval/builtin_fn_misc.go:151:// To work around this, you can add a forward declaration for `$foo`: elvish-0.14.1/pkg/eval/builtin_fn_misc.go-152-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_misc.go-170-// elvish-0.14.1/pkg/eval/builtin_fn_misc.go:171:// Runs the callable, and call `$on-end` with the duration it took, as a elvish-0.14.1/pkg/eval/builtin_fn_misc.go:172:// number in seconds. If `$on-end` is `$nil` (the default), prints the elvish-0.14.1/pkg/eval/builtin_fn_misc.go-173-// duration in human-readable form. elvish-0.14.1/pkg/eval/builtin_fn_misc.go-174-// elvish-0.14.1/pkg/eval/builtin_fn_misc.go:175:// If `$callable` throws an exception, the exception is propagated after the elvish-0.14.1/pkg/eval/builtin_fn_misc.go-176-// on-end or default printing is done. elvish-0.14.1/pkg/eval/builtin_fn_misc.go-177-// elvish-0.14.1/pkg/eval/builtin_fn_misc.go:178:// If `$on-end` throws an exception, it is propagated, unless `$callable` has elvish-0.14.1/pkg/eval/builtin_fn_misc.go-179-// already thrown an exception. ############################################## elvish-0.14.1/pkg/eval/builtin_fn_misc_test.go-10- Test(t, elvish-0.14.1/pkg/eval/builtin_fn_misc_test.go:11: That(`f = (constantly foo); $f; $f`).Puts("foo", "foo"), elvish-0.14.1/pkg/eval/builtin_fn_misc_test.go-12- ############################################## elvish-0.14.1/pkg/eval/builtin_fn_num.go-58-// elvish-0.14.1/pkg/eval/builtin_fn_num.go:59:// Output the remainder after dividing `$dividend` by `$divisor`. Both must be elvish-0.14.1/pkg/eval/builtin_fn_num.go-60-// integers. Example: ############################################## elvish-0.14.1/pkg/eval/builtin_fn_num.go-72-// elvish-0.14.1/pkg/eval/builtin_fn_num.go:73:// Output the result of raising `$base` to the power of `$exponent`. Examples: elvish-0.14.1/pkg/eval/builtin_fn_num.go-74-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_num.go-97-// elvish-0.14.1/pkg/eval/builtin_fn_num.go:98:// 1. When given fewer than two arguments, all output `$true`. elvish-0.14.1/pkg/eval/builtin_fn_num.go-99-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_num.go-118-// elvish-0.14.1/pkg/eval/builtin_fn_num.go:119:// As a consequence of rule 3, the `!=` command outputs `$true` as long as any elvish-0.14.1/pkg/eval/builtin_fn_num.go-120-// _adjacent_ pair of numbers are not equal, even if some numbers that are not ############################################## elvish-0.14.1/pkg/eval/builtin_fn_pred.go-12-// elvish-0.14.1/pkg/eval/builtin_fn_pred.go:13:// Convert a value to boolean. In Elvish, only `$false` and errors are booleanly elvish-0.14.1/pkg/eval/builtin_fn_pred.go-14-// false. Everything else, including 0, empty strings and empty lists, is booleanly ############################################## elvish-0.14.1/pkg/eval/builtin_fn_pred.go-64-// elvish-0.14.1/pkg/eval/builtin_fn_pred.go:65:// Determine whether all `$value`s have the same identity. Writes `$true` when elvish-0.14.1/pkg/eval/builtin_fn_pred.go-66-// given no or one argument. ############################################## elvish-0.14.1/pkg/eval/builtin_fn_pred.go-90-// elvish-0.14.1/pkg/eval/builtin_fn_pred.go:91:// Determine whether all `$value`s are structurally equivalent. Writes `$true` when elvish-0.14.1/pkg/eval/builtin_fn_pred.go-92-// given no or one argument. ############################################## elvish-0.14.1/pkg/eval/builtin_fn_pred.go-114-// elvish-0.14.1/pkg/eval/builtin_fn_pred.go:115:// Determines whether every adjacent pair of `$value`s are not equal. Note that elvish-0.14.1/pkg/eval/builtin_fn_pred.go:116:// this does not imply that `$value`s are all distinct. Examples: elvish-0.14.1/pkg/eval/builtin_fn_pred.go-117-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_pred_test.go-8- Test(t, elvish-0.14.1/pkg/eval/builtin_fn_pred_test.go:9: That(`bool $true`).Puts(true), elvish-0.14.1/pkg/eval/builtin_fn_pred_test.go-10- That(`bool a`).Puts(true), ############################################## elvish-0.14.1/pkg/eval/builtin_fn_pred_test.go-18- That(`bool ?(fail x)`).Puts(false), elvish-0.14.1/pkg/eval/builtin_fn_pred_test.go:19: That(`bool $false`).Puts(false), elvish-0.14.1/pkg/eval/builtin_fn_pred_test.go-20- elvish-0.14.1/pkg/eval/builtin_fn_pred_test.go:21: That(`not $false`).Puts(true), elvish-0.14.1/pkg/eval/builtin_fn_pred_test.go-22- That(`not ?(fail x)`).Puts(true), elvish-0.14.1/pkg/eval/builtin_fn_pred_test.go:23: That(`not $true`).Puts(false), elvish-0.14.1/pkg/eval/builtin_fn_pred_test.go-24- That(`not 0`).Puts(false), ############################################## elvish-0.14.1/pkg/eval/builtin_fn_str.go-64-// elvish-0.14.1/pkg/eval/builtin_fn_str.go:65:// Output value of each codepoint in `$string`, in hexadecimal. Examples: elvish-0.14.1/pkg/eval/builtin_fn_str.go-66-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_str.go-105-// elvish-0.14.1/pkg/eval/builtin_fn_str.go:106:// Outputs a string for each `$number` written in `$base`. The `$base` must be elvish-0.14.1/pkg/eval/builtin_fn_str.go-107-// between 2 and 36, inclusive. Examples: ############################################## elvish-0.14.1/pkg/eval/builtin_fn_str.go-129-// elvish-0.14.1/pkg/eval/builtin_fn_str.go:130:// Output the width of `$string` when displayed on the terminal. Examples: elvish-0.14.1/pkg/eval/builtin_fn_str.go-131-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_str.go-148-// elvish-0.14.1/pkg/eval/builtin_fn_str.go:149:// Determine whether `$prefix` is a prefix of `$string`. Examples: elvish-0.14.1/pkg/eval/builtin_fn_str.go-150-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_str.go-163-// elvish-0.14.1/pkg/eval/builtin_fn_str.go:164:// Determine whether `$suffix` is a suffix of `$string`. Examples: elvish-0.14.1/pkg/eval/builtin_fn_str.go-165-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_str.go-180-// elvish-0.14.1/pkg/eval/builtin_fn_str.go:181:// Join inputs with `$sep`. Examples: elvish-0.14.1/pkg/eval/builtin_fn_str.go-182-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_str.go-205-// elvish-0.14.1/pkg/eval/builtin_fn_str.go:206:// Split `$string` by `$sep`. If `$sep` is an empty string, split it into elvish-0.14.1/pkg/eval/builtin_fn_str.go-207-// codepoints. ############################################## elvish-0.14.1/pkg/eval/builtin_fn_str.go-217-// elvish-0.14.1/pkg/eval/builtin_fn_str.go:218:// **Note**: `splits` does not support splitting by regular expressions, `$sep` is elvish-0.14.1/pkg/eval/builtin_fn_str.go-219-// always interpreted as a plain string. Use [re:split](re.html#split) if you need ############################################## elvish-0.14.1/pkg/eval/builtin_fn_str.go-234-// elvish-0.14.1/pkg/eval/builtin_fn_str.go:235:// Replace all occurrences of `$old` with `$repl` in `$source`. If `$max` is elvish-0.14.1/pkg/eval/builtin_fn_str.go-236-// non-negative, it determines the max number of substitutions. elvish-0.14.1/pkg/eval/builtin_fn_str.go-237-// elvish-0.14.1/pkg/eval/builtin_fn_str.go:238:// **Note**: `replaces` does not support searching by regular expressions, `$old` elvish-0.14.1/pkg/eval/builtin_fn_str.go-239-// is always interpreted as a plain string. Use [re:replace](re.html#replace) if ############################################## elvish-0.14.1/pkg/eval/builtin_fn_str.go-247-// elvish-0.14.1/pkg/eval/builtin_fn_str.go:248:// For each input, call `$f` with the input followed by all its fields. elvish-0.14.1/pkg/eval/builtin_fn_str.go-249-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_str_test.go-21- elvish-0.14.1/pkg/eval/builtin_fn_str_test.go:22: That(`to-string str (float64 1) $true`).Puts("str", "1", "$true"), elvish-0.14.1/pkg/eval/builtin_fn_str_test.go-23- ############################################## elvish-0.14.1/pkg/eval/builtin_fn_str_test.go-49- elvish-0.14.1/pkg/eval/builtin_fn_str_test.go:50: That(`echo " ax by cz \n11\t22 33" | eawk [@a]{ put $a[-1] }`). elvish-0.14.1/pkg/eval/builtin_fn_str_test.go-51- Puts("cz", "33"), ############################################## elvish-0.14.1/pkg/eval/builtin_fn_styled.go-20-// Constructs a styled segment and is a helper function for styled transformers. elvish-0.14.1/pkg/eval/builtin_fn_styled.go:21:// `$object` can be a plain string, a styled segment or a concatenation thereof. elvish-0.14.1/pkg/eval/builtin_fn_styled.go-22-// Probably the only reason to use it is to build custom style transformers: ############################################## elvish-0.14.1/pkg/eval/builtin_fn_styled.go-45-// Construct a styled text by applying the supplied transformers to the supplied elvish-0.14.1/pkg/eval/builtin_fn_styled.go:46:// object. `$object` can be either a string, a styled segment (see below), a styled elvish-0.14.1/pkg/eval/builtin_fn_styled.go:47:// text or an arbitrary concatenation of them. A `$style-transformer` is either: elvish-0.14.1/pkg/eval/builtin_fn_styled.go-48-// ############################################## elvish-0.14.1/pkg/eval/builtin_fn_styled.go-86-// - A function with the same properties as the lambda (provided via the elvish-0.14.1/pkg/eval/builtin_fn_styled.go:87:// `$transformer~` syntax). elvish-0.14.1/pkg/eval/builtin_fn_styled.go-88-// ############################################## elvish-0.14.1/pkg/eval/builtin_ns.go-14-// elvish-0.14.1/pkg/eval/builtin_ns.go:15:// Values assigned to it will be discarded. Trying to use its value (like `put $_`) elvish-0.14.1/pkg/eval/builtin_ns.go-16-// causes an exception. ############################################## elvish-0.14.1/pkg/eval/builtin_ns.go-47-// elvish-0.14.1/pkg/eval/builtin_ns.go:48:// **WARNING**: Due to a bug, `$nil` cannot be used as a map key now. elvish-0.14.1/pkg/eval/builtin_ns.go-49- ############################################## elvish-0.14.1/pkg/eval/builtin_ns.go-51-// elvish-0.14.1/pkg/eval/builtin_ns.go:52:// A list of search paths, kept in sync with `$E:PATH`. It is easier to use than elvish-0.14.1/pkg/eval/builtin_ns.go:53:// `$E:PATH`. elvish-0.14.1/pkg/eval/builtin_ns.go-54- ############################################## elvish-0.14.1/pkg/eval/builtin_special_test.go-125- TestWithSetup(t, func(ev *Evaler) { ev.SetLibDir(libdir) }, elvish-0.14.1/pkg/eval/builtin_special_test.go:126: That(`use lorem; put $lorem:name`).Puts("lorem"), elvish-0.14.1/pkg/eval/builtin_special_test.go-127- // imports are lexically scoped elvish-0.14.1/pkg/eval/builtin_special_test.go-128- // TODO: Support testing for compilation error elvish-0.14.1/pkg/eval/builtin_special_test.go:129: // That(`{ use lorem }; put $lorem:name`).ErrorsAny(), elvish-0.14.1/pkg/eval/builtin_special_test.go-130- elvish-0.14.1/pkg/eval/builtin_special_test.go-131- // use of imported variable is captured in upvalue elvish-0.14.1/pkg/eval/builtin_special_test.go:132: That(`use lorem; { put $lorem:name }`).Puts("lorem"), elvish-0.14.1/pkg/eval/builtin_special_test.go:133: That(`{ use lorem; { put $lorem:name } }`).Puts("lorem"), elvish-0.14.1/pkg/eval/builtin_special_test.go:134: That(`({ use lorem; put { { put $lorem:name } } })`).Puts("lorem"), elvish-0.14.1/pkg/eval/builtin_special_test.go-135- // use of imported function is also captured in upvalue ############################################## elvish-0.14.1/pkg/eval/builtin_special_test.go-138- // use of a nested module elvish-0.14.1/pkg/eval/builtin_special_test.go:139: That(`use a/b/c/d; put $d:name`).Puts("a/b/c/d"), elvish-0.14.1/pkg/eval/builtin_special_test.go-140- // module is cached after first use ############################################## elvish-0.14.1/pkg/eval/builtin_special_test.go-142- // overriding module elvish-0.14.1/pkg/eval/builtin_special_test.go:143: That(`use d; put $d:name; use a/b/c/d; put $d:name`). elvish-0.14.1/pkg/eval/builtin_special_test.go-144- Puts("d", "a/b/c/d"), elvish-0.14.1/pkg/eval/builtin_special_test.go-145- // relative uses elvish-0.14.1/pkg/eval/builtin_special_test.go:146: That(`use a/b/c/x; put $x:d $x:lorem`).Puts("a/b/c/d", "lorem"), elvish-0.14.1/pkg/eval/builtin_special_test.go-147- // relative uses from top-level elvish-0.14.1/pkg/eval/builtin_special_test.go:148: That(`use ./d; put $d:name`).Puts("d"), elvish-0.14.1/pkg/eval/builtin_special_test.go-149- elvish-0.14.1/pkg/eval/builtin_special_test.go-150- // Renaming module elvish-0.14.1/pkg/eval/builtin_special_test.go:151: That(`use a/b/c/d mod; put $mod:name`).Puts("a/b/c/d"), elvish-0.14.1/pkg/eval/builtin_special_test.go-152- ############################################## elvish-0.14.1/pkg/eval/compile_effect_test.go-33- // Pure channel pipeline elvish-0.14.1/pkg/eval/compile_effect_test.go:34: That(`put 233 42 19 | each [x]{+ $x 10}`).Puts(243.0, 52.0, 29.0), elvish-0.14.1/pkg/eval/compile_effect_test.go-35- // Pipeline draining. ############################################## elvish-0.14.1/pkg/eval/compile_effect_test.go-143- // Redirections from special form. elvish-0.14.1/pkg/eval/compile_effect_test.go:144: That(`for x [lorem ipsum] { echo $x } > out2`, `slurp < out2`). elvish-0.14.1/pkg/eval/compile_effect_test.go-145- Puts("lorem\nipsum\n"), ############################################## elvish-0.14.1/pkg/eval/compile_effect_test.go-158- // Redirections from File object. elvish-0.14.1/pkg/eval/compile_effect_test.go:159: That(`echo haha > out3`, `f = (fopen out3)`, `slurp <$f`, ` fclose $f`). elvish-0.14.1/pkg/eval/compile_effect_test.go-160- Puts("haha\n"), elvish-0.14.1/pkg/eval/compile_effect_test.go-161- // Redirections from Pipe object. elvish-0.14.1/pkg/eval/compile_effect_test.go:162: That(`p = (pipe); echo haha > $p; pwclose $p; slurp < $p; prclose $p`). elvish-0.14.1/pkg/eval/compile_effect_test.go-163- Puts("haha\n"), ############################################## elvish-0.14.1/pkg/eval/compile_value_test.go-59- That(`put 'such \"''literal'`).Puts(`such \"'literal`), elvish-0.14.1/pkg/eval/compile_value_test.go:60: That(`put "much \n\033[31;1m$cool\033[m"`). elvish-0.14.1/pkg/eval/compile_value_test.go-61- Puts("much \n\033[31;1m$cool\033[m"), ############################################## elvish-0.14.1/pkg/eval/eval.go-88-// called with directory to change it, which might be a relative path. The elvish-0.14.1/pkg/eval/eval.go:89:// following example also shows `$before-chdir`: elvish-0.14.1/pkg/eval/eval.go-90-// ############################################## elvish-0.14.1/pkg/eval/eval.go-117-// elvish-0.14.1/pkg/eval/eval.go:118:// Whether to notify success of background jobs, defaulting to `$true`. elvish-0.14.1/pkg/eval/eval.go-119-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-36-// elvish-0.14.1/pkg/eval/math/math.go:37:// Computes the absolute value `$number`. Examples: elvish-0.14.1/pkg/eval/math/math.go-38-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-51-// elvish-0.14.1/pkg/eval/math/math.go:52:// Computes the ceiling of `$number`. elvish-0.14.1/pkg/eval/math/math.go-53-// Read the [Go documentation](https://godoc.org/math#Ceil) for the details of ############################################## elvish-0.14.1/pkg/eval/math/math.go-68-// elvish-0.14.1/pkg/eval/math/math.go:69:// Outputs the arccosine of `$number`, in radians (not degrees). Examples: elvish-0.14.1/pkg/eval/math/math.go-70-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-83-// elvish-0.14.1/pkg/eval/math/math.go:84:// Outputs the inverse hyperbolic cosine of `$number`. Examples: elvish-0.14.1/pkg/eval/math/math.go-85-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-98-// elvish-0.14.1/pkg/eval/math/math.go:99:// Outputs the arcsine of `$number`, in radians (not degrees). Examples: elvish-0.14.1/pkg/eval/math/math.go-100-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-115-// elvish-0.14.1/pkg/eval/math/math.go:116:// Outputs the inverse hyperbolic sine of `$number`. Examples: elvish-0.14.1/pkg/eval/math/math.go-117-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-130-// elvish-0.14.1/pkg/eval/math/math.go:131:// Outputs the arctangent of `$number`, in radians (not degrees). Examples: elvish-0.14.1/pkg/eval/math/math.go-132-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-145-// elvish-0.14.1/pkg/eval/math/math.go:146:// Outputs the inverse hyperbolic tangent of `$number`. Examples: elvish-0.14.1/pkg/eval/math/math.go-147-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-160-// elvish-0.14.1/pkg/eval/math/math.go:161:// Computes the cosine of `$number` in units of radians (not degrees). elvish-0.14.1/pkg/eval/math/math.go-162-// Examples: ############################################## elvish-0.14.1/pkg/eval/math/math.go-176-// elvish-0.14.1/pkg/eval/math/math.go:177:// Computes the hyperbolic cosine of `$number`. Example: elvish-0.14.1/pkg/eval/math/math.go-178-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-189-// elvish-0.14.1/pkg/eval/math/math.go:190:// Computes the floor of `$number`. elvish-0.14.1/pkg/eval/math/math.go-191-// Read the [Go documentation](https://godoc.org/math#Floor) for the details of ############################################## elvish-0.14.1/pkg/eval/math/math.go-206-// elvish-0.14.1/pkg/eval/math/math.go:207:// Tests whether the number is infinity. If sign > 0, tests whether `$number` elvish-0.14.1/pkg/eval/math/math.go:208:// is positive infinity. If sign < 0, tests whether `$number` is negative elvish-0.14.1/pkg/eval/math/math.go:209:// infinity. If sign == 0, tests whether `$number` is either infinity. elvish-0.14.1/pkg/eval/math/math.go-210-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-248-// elvish-0.14.1/pkg/eval/math/math.go:249:// Computes the natural (base *e*) logarithm of `$number`. Examples: elvish-0.14.1/pkg/eval/math/math.go-250-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-263-// elvish-0.14.1/pkg/eval/math/math.go:264:// Computes the base 10 logarithm of `$number`. Examples: elvish-0.14.1/pkg/eval/math/math.go-265-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-278-// elvish-0.14.1/pkg/eval/math/math.go:279:// Computes the base 2 logarithm of `$number`. Examples: elvish-0.14.1/pkg/eval/math/math.go-280-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-337-// elvish-0.14.1/pkg/eval/math/math.go:338:// Output the result of raising `$base` to the power of `$exponent`. Examples: elvish-0.14.1/pkg/eval/math/math.go-339-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-354-// elvish-0.14.1/pkg/eval/math/math.go:355:// Output the result of raising ten to the power of `$exponent` which must be elvish-0.14.1/pkg/eval/math/math.go:356:// an integer. Note that `$exponent > 308` results in +Inf and `$exponent < elvish-0.14.1/pkg/eval/math/math.go-357-// -323` results in zero. Examples: ############################################## elvish-0.14.1/pkg/eval/math/math.go-403-// elvish-0.14.1/pkg/eval/math/math.go:404:// Computes the sine of `$number` in units of radians (not degrees). Examples: elvish-0.14.1/pkg/eval/math/math.go-405-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-418-// elvish-0.14.1/pkg/eval/math/math.go:419:// Computes the hyperbolic sine of `$number`. Example: elvish-0.14.1/pkg/eval/math/math.go-420-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-431-// elvish-0.14.1/pkg/eval/math/math.go:432:// Computes the square-root of `$number`. Examples: elvish-0.14.1/pkg/eval/math/math.go-433-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-448-// elvish-0.14.1/pkg/eval/math/math.go:449:// Computes the tangent of `$number` in units of radians (not degrees). Examples: elvish-0.14.1/pkg/eval/math/math.go-450-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-463-// elvish-0.14.1/pkg/eval/math/math.go:464:// Computes the hyperbolic tangent of `$number`. Example: elvish-0.14.1/pkg/eval/math/math.go-465-// ############################################## elvish-0.14.1/pkg/eval/math/math.go-476-// elvish-0.14.1/pkg/eval/math/math.go:477:// Outputs the integer portion of `$number`. elvish-0.14.1/pkg/eval/math/math.go-478-// ############################################## elvish-0.14.1/pkg/eval/math/math_test.go-15- eval.TestWithSetup(t, setup, elvish-0.14.1/pkg/eval/math/math_test.go:16: That(`put $math:pi`).Puts(math.Pi), elvish-0.14.1/pkg/eval/math/math_test.go:17: That(`put $math:e`).Puts(math.E), elvish-0.14.1/pkg/eval/math/math_test.go-18- ############################################## elvish-0.14.1/pkg/eval/math/math_test.go-69- elvish-0.14.1/pkg/eval/math/math_test.go:70: That(`math:log $math:e`).Puts(1.0), elvish-0.14.1/pkg/eval/math/math_test.go-71- That(`math:log 1`).Puts(0.0), ############################################## elvish-0.14.1/pkg/eval/math/math_test.go-88- That(`math:cos 1`).Puts(math.Cos(1.0)), elvish-0.14.1/pkg/eval/math/math_test.go:89: That(`math:cos $math:pi`).Puts(-1.0), elvish-0.14.1/pkg/eval/math/math_test.go-90- ############################################## elvish-0.14.1/pkg/eval/math/math_test.go-96- That(`math:sin 1`).Puts(math.Sin(1.0)), elvish-0.14.1/pkg/eval/math/math_test.go:97: That(`math:sin $math:pi`).Puts(math.Sin(math.Pi)), elvish-0.14.1/pkg/eval/math/math_test.go-98- ############################################## elvish-0.14.1/pkg/eval/math/math_test.go-104- That(`math:tan 1`).Puts(math.Tan(1.0)), elvish-0.14.1/pkg/eval/math/math_test.go:105: That(`math:tan $math:pi`).Puts(math.Tan(math.Pi)), elvish-0.14.1/pkg/eval/math/math_test.go-106- ############################################## elvish-0.14.1/pkg/eval/math/math_test.go-117- That(`math:sin 1`).Puts(eval.Approximately{F: 0.8414709848078965066}), elvish-0.14.1/pkg/eval/math/math_test.go:118: That(`math:sin $math:pi`).Puts(eval.Approximately{F: 0.0}), elvish-0.14.1/pkg/eval/math/math_test.go-119- That(`math:tan 1`).Puts(eval.Approximately{F: 1.5574077246549023}), elvish-0.14.1/pkg/eval/math/math_test.go:120: That(`math:tan $math:pi`).Puts(eval.Approximately{F: 0.0}), elvish-0.14.1/pkg/eval/math/math_test.go-121- ############################################## elvish-0.14.1/pkg/eval/ns_test.go-12- elvish-0.14.1/pkg/eval/ns_test.go:13: That(`ns: = (ns [&a=b &x=y]); put $ns:a`).Puts("b"), elvish-0.14.1/pkg/eval/ns_test.go:14: That(`ns: = (ns [&a=b &x=y]); put $ns:[a]`).Puts("b"), elvish-0.14.1/pkg/eval/ns_test.go-15- // Test multi-key ns when sorting is possible ############################################## elvish-0.14.1/pkg/eval/options.go-49- } elvish-0.14.1/pkg/eval/options.go:50: err := vals.ScanToGo(v, struc.Field(fieldIdx).Addr().Interface()) elvish-0.14.1/pkg/eval/options.go-51- if err != nil { ############################################## elvish-0.14.1/pkg/eval/platform/platform.go-41-// elvish-0.14.1/pkg/eval/platform/platform.go:42:// Outputs the hostname of the system. If the option `&strip-domain` is `$true`, elvish-0.14.1/pkg/eval/platform/platform.go-43-// strips the part after the first dot. ############################################## elvish-0.14.1/pkg/eval/platform/platform_test.go-33- eval.TestWithSetup(t, setup, elvish-0.14.1/pkg/eval/platform/platform_test.go:34: That(`put $platform:arch`).Puts(runtime.GOARCH), elvish-0.14.1/pkg/eval/platform/platform_test.go:35: That(`put $platform:os`).Puts(runtime.GOOS), elvish-0.14.1/pkg/eval/platform/platform_test.go:36: That(`put $platform:is-windows`).Puts(runtime.GOOS == "windows"), elvish-0.14.1/pkg/eval/platform/platform_test.go:37: That(`put $platform:is-unix`).Puts( elvish-0.14.1/pkg/eval/platform/platform_test.go-38- // Convert to bool type explicitly, to workaround ############################################## elvish-0.14.1/pkg/eval/str/str.go-37-// elvish-0.14.1/pkg/eval/str/str.go:38:// Outputs whether `$str` contains `$substr` as a substring. elvish-0.14.1/pkg/eval/str/str.go-39-// ############################################## elvish-0.14.1/pkg/eval/str/str.go-52-// elvish-0.14.1/pkg/eval/str/str.go:53:// Outputs whether `$str` contains any Unicode code points in `$chars`. elvish-0.14.1/pkg/eval/str/str.go-54-// ############################################## elvish-0.14.1/pkg/eval/str/str.go-67-// elvish-0.14.1/pkg/eval/str/str.go:68:// Outputs the number of non-overlapping instances of `$substr` in `$s`. elvish-0.14.1/pkg/eval/str/str.go:69:// If `$substr` is an empty string, output 1 + the number of Unicode code elvish-0.14.1/pkg/eval/str/str.go:70:// points in `$s`. elvish-0.14.1/pkg/eval/str/str.go-71-// ############################################## elvish-0.14.1/pkg/eval/str/str.go-84-// elvish-0.14.1/pkg/eval/str/str.go:85:// Outputs if `$str1` and `$str2`, interpreted as UTF-8 strings, are equal elvish-0.14.1/pkg/eval/str/str.go-86-// under Unicode case-folding. ############################################## elvish-0.14.1/pkg/eval/str/str.go-100-// elvish-0.14.1/pkg/eval/str/str.go:101:// Outputs if `$str` begins with `$prefix`. elvish-0.14.1/pkg/eval/str/str.go-102-// ############################################## elvish-0.14.1/pkg/eval/str/str.go-115-// elvish-0.14.1/pkg/eval/str/str.go:116:// Outputs if `$str` ends with `$suffix`. elvish-0.14.1/pkg/eval/str/str.go-117-// ############################################## elvish-0.14.1/pkg/eval/str/str.go-130-// elvish-0.14.1/pkg/eval/str/str.go:131:// Outputs the index of the first instance of `$substr` in `$str`, or -1 elvish-0.14.1/pkg/eval/str/str.go:132:// if `$substr` is not present in `$str`. elvish-0.14.1/pkg/eval/str/str.go-133-// ############################################## elvish-0.14.1/pkg/eval/str/str.go-147-// Outputs the index of the first instance of any Unicode code point elvish-0.14.1/pkg/eval/str/str.go:148:// from `$chars` in `$str`, or -1 if no Unicode code point from `$chars` is elvish-0.14.1/pkg/eval/str/str.go:149:// present in `$str`. elvish-0.14.1/pkg/eval/str/str.go-150-// ############################################## elvish-0.14.1/pkg/eval/str/str.go-163-// elvish-0.14.1/pkg/eval/str/str.go:164:// Joins inputs with `$sep`. Examples: elvish-0.14.1/pkg/eval/str/str.go-165-// ############################################## elvish-0.14.1/pkg/eval/str/str.go-210-// elvish-0.14.1/pkg/eval/str/str.go:211:// Outputs the index of the last instance of `$substr` in `$str`, elvish-0.14.1/pkg/eval/str/str.go:212:// or -1 if `$substr` is not present in `$str`. elvish-0.14.1/pkg/eval/str/str.go-213-// ############################################## elvish-0.14.1/pkg/eval/str/str.go-226-// elvish-0.14.1/pkg/eval/str/str.go:227:// Replaces all occurrences of `$old` with `$repl` in `$source`. If `$max` is elvish-0.14.1/pkg/eval/str/str.go-228-// non-negative, it determines the max number of substitutions. elvish-0.14.1/pkg/eval/str/str.go-229-// elvish-0.14.1/pkg/eval/str/str.go:230:// **Note**: This command does not support searching by regular expressions, `$old` elvish-0.14.1/pkg/eval/str/str.go-231-// is always interpreted as a plain string. Use [re:replace](re.html#replace) if ############################################## elvish-0.14.1/pkg/eval/str/str.go-247-// elvish-0.14.1/pkg/eval/str/str.go:248:// Splits `$string` by `$sep`. If `$sep` is an empty string, split it into elvish-0.14.1/pkg/eval/str/str.go-249-// codepoints. ############################################## elvish-0.14.1/pkg/eval/str/str.go-260-// **Note**: This command does not support splitting by regular expressions, elvish-0.14.1/pkg/eval/str/str.go:261:// `$sep` is always interpreted as a plain string. Use [re:split](re.html#split) elvish-0.14.1/pkg/eval/str/str.go-262-// if you need to split by regex. ############################################## elvish-0.14.1/pkg/eval/str/str.go-282-// elvish-0.14.1/pkg/eval/str/str.go:283:// Outputs `$str` with all Unicode letters that begin words mapped to their elvish-0.14.1/pkg/eval/str/str.go-284-// Unicode title case. ############################################## elvish-0.14.1/pkg/eval/str/str.go-296-// elvish-0.14.1/pkg/eval/str/str.go:297:// Outputs `$str` with all Unicode letters mapped to their lower-case elvish-0.14.1/pkg/eval/str/str.go-298-// equivalent. ############################################## elvish-0.14.1/pkg/eval/str/str.go-310-// elvish-0.14.1/pkg/eval/str/str.go:311:// Outputs `$str` with all Unicode letters mapped to their Unicode title case. elvish-0.14.1/pkg/eval/str/str.go-312-// ############################################## elvish-0.14.1/pkg/eval/str/str.go-325-// elvish-0.14.1/pkg/eval/str/str.go:326:// Outputs `$str` with all Unicode letters mapped to their upper-case elvish-0.14.1/pkg/eval/str/str.go-327-// equivalent. ############################################## elvish-0.14.1/pkg/eval/str/str.go-339-// elvish-0.14.1/pkg/eval/str/str.go:340:// Outputs `$str` with all leading and trailing Unicode code points contained elvish-0.14.1/pkg/eval/str/str.go:341:// in `$cutset` removed. elvish-0.14.1/pkg/eval/str/str.go-342-// ############################################## elvish-0.14.1/pkg/eval/str/str.go-353-// elvish-0.14.1/pkg/eval/str/str.go:354:// Outputs `$str` with all leading Unicode code points contained in `$cutset` elvish-0.14.1/pkg/eval/str/str.go-355-// removed. To remove a prefix string use [`str:trim-prefix`](#strtrim-prefix). ############################################## elvish-0.14.1/pkg/eval/str/str.go-367-// elvish-0.14.1/pkg/eval/str/str.go:368:// Outputs `$str` minus the leading `$prefix` string. If `$str` doesn't begin elvish-0.14.1/pkg/eval/str/str.go:369:// with `$prefix`, `$str` is output unchanged. elvish-0.14.1/pkg/eval/str/str.go-370-// ############################################## elvish-0.14.1/pkg/eval/str/str.go-383-// elvish-0.14.1/pkg/eval/str/str.go:384:// Outputs `$str` with all leading Unicode code points contained in `$cutset` elvish-0.14.1/pkg/eval/str/str.go-385-// removed. To remove a suffix string use [`str:trim-suffix`](#strtrim-suffix). ############################################## elvish-0.14.1/pkg/eval/str/str.go-397-// elvish-0.14.1/pkg/eval/str/str.go:398:// Outputs `$str` with all leading and trailing white space removed as defined elvish-0.14.1/pkg/eval/str/str.go-399-// by Unicode. ############################################## elvish-0.14.1/pkg/eval/str/str.go-411-// elvish-0.14.1/pkg/eval/str/str.go:412:// Outputs `$str` minus the trailing `$suffix` string. If `$str` doesn't end elvish-0.14.1/pkg/eval/str/str.go:413:// with `$suffix`, `$str` is output unchanged. elvish-0.14.1/pkg/eval/str/str.go-414-// ############################################## elvish-0.14.1/pkg/eval/unix/umask.go-20-// representation; e.g. 0o027. This makes it possible to use it in any context elvish-0.14.1/pkg/eval/unix/umask.go:21:// that expects a `$number`. elvish-0.14.1/pkg/eval/unix/umask.go-22-// ############################################## elvish-0.14.1/pkg/eval/unix/umask_test.go-19- That(`unix:umask = 022`).Puts(), elvish-0.14.1/pkg/eval/unix/umask_test.go:20: That(`put $unix:umask`).Puts(`0o022`), elvish-0.14.1/pkg/eval/unix/umask_test.go-21- // Now verify that mutating the value and outputing it works. elvish-0.14.1/pkg/eval/unix/umask_test.go-22- That(`unix:umask = 23`).Puts(), elvish-0.14.1/pkg/eval/unix/umask_test.go:23: That(`put $unix:umask`).Puts(`0o023`), elvish-0.14.1/pkg/eval/unix/umask_test.go-24- That(`unix:umask = 0o75`).Puts(), elvish-0.14.1/pkg/eval/unix/umask_test.go:25: That(`put $unix:umask`).Puts(`0o075`), elvish-0.14.1/pkg/eval/unix/umask_test.go-26- // Verify that a temporary umask change is reverted upon completion of elvish-0.14.1/pkg/eval/unix/umask_test.go-27- // the command. Both for builtin and external commands. elvish-0.14.1/pkg/eval/unix/umask_test.go:28: That(`unix:umask=012 put $unix:umask`).Puts(`0o012`), elvish-0.14.1/pkg/eval/unix/umask_test.go-29- That(`unix:umask=0o23 /bin/sh -c 'umask'`).Prints("0023\n"), elvish-0.14.1/pkg/eval/unix/umask_test.go-30- That(`unix:umask=56 /bin/sh -c 'umask'`).Prints("0056\n"), elvish-0.14.1/pkg/eval/unix/umask_test.go:31: That(`put $unix:umask`).Puts(`0o075`), elvish-0.14.1/pkg/eval/unix/umask_test.go-32- // People won't normally use non-octal bases but make sure these cases ############################################## elvish-0.14.1/pkg/eval/unix/umask_test.go-38- // applied a temporary change to that process attribute. elvish-0.14.1/pkg/eval/unix/umask_test.go:39: That(`put $unix:umask`).Puts(`0o075`), elvish-0.14.1/pkg/eval/unix/umask_test.go-40- ) ############################################## elvish-0.14.1/pkg/eval/vars/element.go-42- // the right hand being a nested series of Assocs. As the simplest elvish-0.14.1/pkg/eval/vars/element.go:43: // example, `a[0] = x` is equivalent to `a = (assoc $a 0 x)`. A more elvish-0.14.1/pkg/eval/vars/element.go-44- // complex example is that `a[0][1][2] = x` is equivalent to elvish-0.14.1/pkg/eval/vars/element.go:45: // `a = (assoc $a 0 (assoc $a[0] 1 (assoc $a[0][1] 2 x)))`. elvish-0.14.1/pkg/eval/vars/element.go-46- // Note that in each assoc form, the first two arguments can be ############################################## elvish-0.14.1/pkg/parse/parse_test.go-81- // Compound elvish-0.14.1/pkg/parse/parse_test.go:82: {`a b"foo"?$c*'xyz'`, a(ast{"Compound", fs{ elvish-0.14.1/pkg/parse/parse_test.go-83- "Indexings": []string{"b", `"foo"`, "?", "$c", "*", "'xyz'"}}})}, ############################################## elvish-0.14.1/tools/build-old-tag.sh-15-git clone --depth=1 --branch $TAG $REPO_ADDR $GOPATH/src/$REPO elvish-0.14.1/tools/build-old-tag.sh:16:cp `dirname $0`/buildall.sh $GOPATH/src/$REPO elvish-0.14.1/tools/build-old-tag.sh-17-cd $GOPATH/src/$REPO ############################################## elvish-0.14.1/website/blog/0.10-release-notes.md-13- elvish-0.14.1/website/blog/0.10-release-notes.md:14: - The `$edit:completer` map is now known as `$edit:arg-completer`. elvish-0.14.1/website/blog/0.10-release-notes.md-15- ############################################## elvish-0.14.1/website/blog/0.10-release-notes.md-38- elvish-0.14.1/website/blog/0.10-release-notes.md:39: - The implicit `$args` variable is gone, as well as its friends: elvish-0.14.1/website/blog/0.10-release-notes.md:40: positional variables `$0`, `$1`, ..., and the special `$@` shorthand for elvish-0.14.1/website/blog/0.10-release-notes.md:41: `$@args`. Lambdas defined without argument list (`{ some code }`) now elvish-0.14.1/website/blog/0.10-release-notes.md-42- behave as if they have an empty argument list. ############################################## elvish-0.14.1/website/blog/0.10-release-notes.md-44- elvish-0.14.1/website/blog/0.10-release-notes.md:45: Old lambdas that rely on `$args` or its friends now must declare their elvish-0.14.1/website/blog/0.10-release-notes.md:46: arguments explicitly. For instance, `fn ls { e:ls --color=auto $@ }` elvish-0.14.1/website/blog/0.10-release-notes.md:47: needs to be rewritten to `fn ls [@a]{ e:ls --color=auto $@a }`. elvish-0.14.1/website/blog/0.10-release-notes.md-48- ############################################## elvish-0.14.1/website/blog/0.10-release-notes.md-89- elvish-0.14.1/website/blog/0.10-release-notes.md:90: - A new blackhole variable `$_` has been added. elvish-0.14.1/website/blog/0.10-release-notes.md-91- ([#401](https://github.com/elves/elvish/issues/401)) ############################################## elvish-0.14.1/website/blog/0.10-release-notes.md-102- - Matching algorithm used in completion is now programmable with elvish-0.14.1/website/blog/0.10-release-notes.md:103: `$edit:-matcher` ([#430](https://github.com/elves/elvish/issues/430)); elvish-0.14.1/website/blog/0.10-release-notes.md-104- see [documentation](../ref/edit.html). ############################################## elvish-0.14.1/website/blog/0.10-release-notes.md-106- - Elvish can now able to complete arguments with variables. For instance, elvish-0.14.1/website/blog/0.10-release-notes.md:107: if you have a directory with `a.mp4` and `a.txt`, and variable `$foo` elvish-0.14.1/website/blog/0.10-release-notes.md:108: containing `a`, `echo $foo.<Tab>` now works elvish-0.14.1/website/blog/0.10-release-notes.md-109- ([#446](https://github.com/elves/elvish/issues/446)). However, the elvish-0.14.1/website/blog/0.10-release-notes.md:110: completion will expand `$foo` into `a`, which is not intended elvish-0.14.1/website/blog/0.10-release-notes.md-111- ([#474](https://github.com/elves/elvish/issues/474)). ############################################## elvish-0.14.1/website/blog/0.10-release-notes.md-113- - It is now possible to manipulate the cursor position using the elvish-0.14.1/website/blog/0.10-release-notes.md:114: experimental `$edit:-dot` variable elvish-0.14.1/website/blog/0.10-release-notes.md-115- ([415](https://github.com/elves/elvish/issues/415)). ############################################## elvish-0.14.1/website/blog/0.11-release-notes.md-32- elvish-0.14.1/website/blog/0.11-release-notes.md:33:- The variable a function `func` maps to is now `$func~` instead of `$&func`. elvish-0.14.1/website/blog/0.11-release-notes.md-34- The ampersand `&` is now no longer allowed in variable names, while the ############################################## elvish-0.14.1/website/blog/0.11-release-notes.md-67-- A new builtin variable, elvish-0.14.1/website/blog/0.11-release-notes.md:68: [`$value-out-indicator`](../ref/builtin.html#value-out-indicator), can now elvish-0.14.1/website/blog/0.11-release-notes.md-69- be used to customize the marker for value outputs ############################################## elvish-0.14.1/website/blog/0.11-release-notes.md-87- elvish-0.14.1/website/blog/0.11-release-notes.md:88:- A new builtin variable [`$args`](../ref/builtin.html#args) can now be used elvish-0.14.1/website/blog/0.11-release-notes.md-89- to access command-line arguments. ############################################## elvish-0.14.1/website/blog/0.11-release-notes.md-120-- The height the editor can take up can now be restricted with elvish-0.14.1/website/blog/0.11-release-notes.md:121: [`$edit:max-height`](../ref/edit.html#editmax-height). elvish-0.14.1/website/blog/0.11-release-notes.md-122- ############################################## elvish-0.14.1/website/blog/0.12-release-notes.md-14- elvish-0.14.1/website/blog/0.12-release-notes.md:15:- The variables `$edit:loc-{pinned,hidden}` have been moved into the elvish-0.14.1/website/blog/0.12-release-notes.md:16: `edit:location:` namespace, now `$edit:location:{pinned,hidden}` elvish-0.14.1/website/blog/0.12-release-notes.md-17- elvish-0.14.1/website/blog/0.12-release-notes.md:18:- The variable `$edit:arg-completer` has been moved to elvish-0.14.1/website/blog/0.12-release-notes.md:19: `$edit:completion:arg-completer`. elvish-0.14.1/website/blog/0.12-release-notes.md-20- ############################################## elvish-0.14.1/website/blog/0.12-release-notes.md-32-- Namespaces can now be accessed by as variables with a trailing `:` in the elvish-0.14.1/website/blog/0.12-release-notes.md:33: name (e.g. the `edit:` namespace variable can be accessed as `$edit:`). elvish-0.14.1/website/blog/0.12-release-notes.md-34- These variables can be indexed like maps ############################################## elvish-0.14.1/website/blog/0.12-release-notes.md-40- elvish-0.14.1/website/blog/0.12-release-notes.md:41:- Numbers can now be used as normal variable names (e.g. `$1`). elvish-0.14.1/website/blog/0.12-release-notes.md-42- elvish-0.14.1/website/blog/0.12-release-notes.md-43-- The interactive namespace can now be built dynamically by assigning to the elvish-0.14.1/website/blog/0.12-release-notes.md:44: `$-exports-` variable in `rc.elv` elvish-0.14.1/website/blog/0.12-release-notes.md-45- ([#613](https://github.com/elves/elvish/issues/613)). ############################################## elvish-0.14.1/website/blog/0.12-release-notes.md-51-- The variable for customizing matchers in completion mode has graduated from elvish-0.14.1/website/blog/0.12-release-notes.md:52: `$edit:-matcher` to `$edit:completion:matcher`. elvish-0.14.1/website/blog/0.12-release-notes.md-53- ############################################## elvish-0.14.1/website/blog/0.12-release-notes.md-83- elvish-0.14.1/website/blog/0.12-release-notes.md:84:- Add chdir hooks [`$before-chdir`](../ref/builtin.html#before-chdir) and elvish-0.14.1/website/blog/0.12-release-notes.md:85: [`$after-chdir`](../ref/builtin.html#after-chdir). elvish-0.14.1/website/blog/0.12-release-notes.md-86- ############################################## elvish-0.14.1/website/blog/0.12-release-notes.md-97- elvish-0.14.1/website/blog/0.12-release-notes.md:98:- New builtin `$notify-bg-job-success` variable for suppressing notification elvish-0.14.1/website/blog/0.12-release-notes.md-99- of the success of background jobs (thanks to @iwoloschin!) ############################################## elvish-0.14.1/website/blog/0.12-release-notes.md-101- elvish-0.14.1/website/blog/0.12-release-notes.md:102:- New builtin `$num-bg-jobs` variable for tracking number of background jobs elvish-0.14.1/website/blog/0.12-release-notes.md-103- ([#692](https://github.com/elves/elvish/issues/692)). ############################################## elvish-0.14.1/website/blog/0.13-release-notes.md-92- elvish-0.14.1/website/blog/0.13-release-notes.md:93:- Code such as `x = $x` where `$x` has not been defined now correctly results elvish-0.14.1/website/blog/0.13-release-notes.md-94- in a compilation error, thanks to @jiujieti ############################################## elvish-0.14.1/website/blog/0.13-release-notes.md-114- elvish-0.14.1/website/blog/0.13-release-notes.md:115:- A new `$nil` value has been introduced to represent lack of meaningful elvish-0.14.1/website/blog/0.13-release-notes.md:116: values. JSON `null` values are converted to Elvish `$nil`. elvish-0.14.1/website/blog/0.13-release-notes.md-117- ############################################## elvish-0.14.1/website/blog/0.14.0-release-notes.md-116-- When a callback of the interactive editor throws an exception, the exception elvish-0.14.1/website/blog/0.14.0-release-notes.md:117: is now saved in a `$edit:exceptions` variable for closer examination elvish-0.14.1/website/blog/0.14.0-release-notes.md-118- ([#945](https://b.elv.sh/945)). ############################################## elvish-0.14.1/website/blog/0.14.0-release-notes.md-120-- A new alternative abbreviation mechanism, "small word abbreviation", is now elvish-0.14.1/website/blog/0.14.0-release-notes.md:121: available and configurable via `$edit:small-word-abbr`. elvish-0.14.1/website/blog/0.14.0-release-notes.md-122- elvish-0.14.1/website/blog/0.14.0-release-notes.md-123-- The ratios of the column widths in navigation mode can now be configured elvish-0.14.1/website/blog/0.14.0-release-notes.md:124: with `$edit:navigation:width-ratio` ([#464](https://b.elv.sh/464)) elvish-0.14.1/website/blog/0.14.0-release-notes.md-125- elvish-0.14.1/website/blog/0.14.0-release-notes.md:126:- A new `$edit:add-cmd-filters` variable is now available for controlling elvish-0.14.1/website/blog/0.14.0-release-notes.md-127- whether a command is added to the history. ############################################## elvish-0.14.1/website/blog/0.14.0-release-notes.md-136- elvish-0.14.1/website/blog/0.14.0-release-notes.md:137:- Elvish now uses `$XDG_RUNTIME_DIR` to keep runtime files if possible. elvish-0.14.1/website/blog/0.14.0-release-notes.md-138- elvish-0.14.1/website/blog/0.14.0-release-notes.md:139:- Elvish now increments the `$SHLVL` environment variable elvish-0.14.1/website/blog/0.14.0-release-notes.md-140- ([#834](https://b.elv.sh/834)). ############################################## elvish-0.14.1/website/blog/0.9-release-notes.md-30-- The `true` and `false` builtin commands have been removed. They have been elvish-0.14.1/website/blog/0.9-release-notes.md:31: equivalent to `put $true` and `put $false` for a while. elvish-0.14.1/website/blog/0.9-release-notes.md-32- ############################################## elvish-0.14.1/website/blog/0.9-release-notes.md-49- elvish-0.14.1/website/blog/0.9-release-notes.md:50: A new binding table, `$edit:binding[listing]` has also been introduced. elvish-0.14.1/website/blog/0.9-release-notes.md-51- Bindings put there will be available in all 3 listing modes, with bindings elvish-0.14.1/website/blog/0.9-release-notes.md:52: in their own tables (`$edit:binding[loc]`, `$edit:binding[histlist]` and elvish-0.14.1/website/blog/0.9-release-notes.md:53: `$edit:binding[lastcmd]`) having higher precedence. elvish-0.14.1/website/blog/0.9-release-notes.md-54- ############################################## elvish-0.14.1/website/learn/cookbook.md-138- elvish-0.14.1/website/learn/cookbook.md:139:- You can manipulate search paths through the special list `$paths`, which is elvish-0.14.1/website/learn/cookbook.md:140: synced with `$E:PATH`: elvish-0.14.1/website/learn/cookbook.md-141- ############################################## elvish-0.14.1/website/learn/cookbook.md-152-- You can manipulate the keybinding in the default insert mode through the map elvish-0.14.1/website/learn/cookbook.md:153: `$edit:insert:binding`. For example, this binds elvish-0.14.1/website/learn/cookbook.md-154- <span class="key">Ctrl-L</span> to clearing the terminal: ############################################## elvish-0.14.1/website/learn/cookbook.md-159- elvish-0.14.1/website/learn/cookbook.md:160: Use `pprint $edit:insert:binding` to get a nice (albeit long) view of the elvish-0.14.1/website/learn/cookbook.md-161- current keybinding. ############################################## elvish-0.14.1/website/learn/cookbook.md-167-- There is no interpolation inside double quotes (yet). For example, the elvish-0.14.1/website/learn/cookbook.md:168: output of `echo "$user"` is simply the string `$user`. Use implicit string elvish-0.14.1/website/learn/cookbook.md-169- concatenation to build strings: ############################################## elvish-0.14.1/website/learn/cookbook.md-186- You cannot write `s` as a bareword because Elvish would think you are trying elvish-0.14.1/website/learn/cookbook.md:187: to write the variable `$nouns`. It's hard to make such mistakes when working elvish-0.14.1/website/learn/cookbook.md-188- interactively, as Elvish highlights variables and complains about ############################################## elvish-0.14.1/website/learn/cookbook.md-255- shell programming. For instance, if you want to print a file whose name is elvish-0.14.1/website/learn/cookbook.md:256: in `$x`, `cat $x` is the obvious thing to do, but it does not do this elvish-0.14.1/website/learn/cookbook.md:257: reliably -- if `$x` starts with `-` (e.g. `-v`), `cat` thinks that it is an elvish-0.14.1/website/learn/cookbook.md:258: option. The correct way is `cat -- $x`. elvish-0.14.1/website/learn/cookbook.md-259- ############################################## elvish-0.14.1/website/learn/cookbook.md-261- only available to builtin commands and user-defined functions, not external elvish-0.14.1/website/learn/cookbook.md:262: commands, meaning that you still need to do `cat -- $x`. elvish-0.14.1/website/learn/cookbook.md-263- ############################################## elvish-0.14.1/website/learn/effective-elvish.md-22-allowed in variable and function names, but their use should be limited to elvish-0.14.1/website/learn/effective-elvish.md:23:environment variables (e.g. `$E:LC_ALL`) and external commands (e.g. `pkg_add`). elvish-0.14.1/website/learn/effective-elvish.md-24- ############################################## elvish-0.14.1/website/learn/effective-elvish.md-311-more readable, because the data flows from left to right, and there is no elvish-0.14.1/website/learn/effective-elvish.md:312:nesting. You can see that `$csv` is first split by commas, then each value gets elvish-0.14.1/website/learn/effective-elvish.md-313-reduplicated, and then finally everything is joined by semicolons. It matches ############################################## elvish-0.14.1/website/learn/fundamentals.md-175- elvish-0.14.1/website/learn/fundamentals.md:176:The command `echo Hello, $name!` uses the `$name` variable you just assigned in elvish-0.14.1/website/learn/fundamentals.md-177-the previous command. To greet a different person, you can just change the value ############################################## elvish-0.14.1/website/learn/fundamentals.md-196- elvish-0.14.1/website/learn/fundamentals.md:197:Now, if you change the value of `$name`, the output of both commands will elvish-0.14.1/website/learn/fundamentals.md-198-change. ############################################## elvish-0.14.1/website/learn/fundamentals.md-201- elvish-0.14.1/website/learn/fundamentals.md:202:In the examples above, we have assigned value of `$name` ourselves. We can also elvish-0.14.1/website/learn/fundamentals.md:203:make the `$name` variable automatically take the name of the current user, which elvish-0.14.1/website/learn/fundamentals.md-204-is usually kept in an **environment variable** called `USER`. In Elvish, ############################################## elvish-0.14.1/website/learn/fundamentals.md-274- elvish-0.14.1/website/learn/fundamentals.md:275:The arguments are kept in a `$args` variable, as a list. Let's try put this into elvish-0.14.1/website/learn/fundamentals.md-276-a `show-args.elv` file in your home directory: ############################################## elvish-0.14.1/website/learn/fundamentals.md-292- elvish-0.14.1/website/learn/fundamentals.md:293:Since `$args` is a list, we can retrieve the individual elements with elvish-0.14.1/website/learn/fundamentals.md:294:`$args[0]`, `$args[1]`, etc.. Let's rewrite our greet-and-bye script, taking the elvish-0.14.1/website/learn/fundamentals.md-295-name as an argument. Put this in `greet-and-bye.elv`: ############################################## elvish-0.14.1/website/learn/fundamentals.md-402- elvish-0.14.1/website/learn/fundamentals.md:403:This will, however, results in an error, saying that a string and a list cannot be concatenated. Why? Remember that `$x` is always one value. This is even true for lists, so the `for` loop only sees one value to loop over, namely the list itself. elvish-0.14.1/website/learn/fundamentals.md-404- ############################################## elvish-0.14.1/website/learn/fundamentals.md-422- elvish-0.14.1/website/learn/fundamentals.md:423:This looks similar to the for-loop version, but it makes use of a remarkable construct -- an **anonymous function**, also known as a **lambda**. In elvish, a lambda is syntactically formed by an argument list followed immediately (without space) by a function body enclosed in braces. Here, `[name]{ echo 'Hello, '$name'!' }` is a lambda that takes exactly one argument and calls `echo` to do the helloing. We pass it along a list to the `each` builtin, which runs the function on each element of the list. elvish-0.14.1/website/learn/fundamentals.md-424- ############################################## elvish-0.14.1/website/learn/fundamentals.md-437- elvish-0.14.1/website/learn/fundamentals.md:438:You must have noticed that you have to use `$hello` instead of `hello` to call the function. This is because the *hello-the-variable* and *hello-the-command* are different enitites. To define new commands, use the `fn` special form: elvish-0.14.1/website/learn/fundamentals.md-439- ############################################## elvish-0.14.1/website/learn/unique-semantics.md-154-Unix commands exit with a non-zero value to signal errors. This is available elvish-0.14.1/website/learn/unique-semantics.md:155:traditionally as a `$?` variable in other shells: elvish-0.14.1/website/learn/unique-semantics.md-156- ############################################## elvish-0.14.1/website/learn/unique-semantics.md-176-previous command normally do not affect the execution of subsequence ones) and elvish-0.14.1/website/learn/unique-semantics.md:177:the script author remembers to check `$?` for the rare fatal errors. elvish-0.14.1/website/learn/unique-semantics.md-178- ############################################## elvish-0.14.1/website/learn/unique-semantics.md-265-predicates work in Elvish first. Predicates in Elvish simply write a boolean elvish-0.14.1/website/learn/unique-semantics.md:266:output, either `$true` or `$false`: elvish-0.14.1/website/learn/unique-semantics.md-267- ############################################## elvish-0.14.1/website/learn/unique-semantics.md-297- elvish-0.14.1/website/learn/unique-semantics.md:298:In Elvish, all exceptions are booleanly false, while the special `$ok` value is elvish-0.14.1/website/learn/unique-semantics.md-299-booleanly true. If the `diff` exits with 0, the `?(...)` construct evaluates to elvish-0.14.1/website/learn/unique-semantics.md:300:`$ok`, which is booleanly true. Otherwise, it evaluates to an exception, which elvish-0.14.1/website/learn/unique-semantics.md-301-is booleanly false. Overall, this leads to a similar semantics with the POSIX ############################################## elvish-0.14.1/website/learn/unique-semantics.md-378- elvish-0.14.1/website/learn/unique-semantics.md:379:It seems that when you assign `m2 = $m`, the entire map is copied from `$m` into elvish-0.14.1/website/learn/unique-semantics.md:380:`$m2`, so any subsequent changes to `$m2` does not affect the original map in elvish-0.14.1/website/learn/unique-semantics.md:381:`$m`. You can entirely think of it this way: thinking **assignment as copying** elvish-0.14.1/website/learn/unique-semantics.md-382-correctly models the behavior of Elvish. ############################################## elvish-0.14.1/website/learn/unique-semantics.md-386-[copy-on-write](https://en.wikipedia.org/wiki/Copy-on-write) -- i.e. the copying elvish-0.14.1/website/learn/unique-semantics.md:387:is delayed until `$m2` gets modified? No, subsequent modifications to the new elvish-0.14.1/website/learn/unique-semantics.md:388:`$m2` is also very cheap. Read on if you are interested in how it is possible. elvish-0.14.1/website/learn/unique-semantics.md-389- ############################################## elvish-0.14.1/website/learn/unique-semantics.md-391- elvish-0.14.1/website/learn/unique-semantics.md:392:Like in Python and JavaScript, Elvish variables like `$m` and `$m2` also only elvish-0.14.1/website/learn/unique-semantics.md-393-hold a reference to the underlying map. However, that map is **immutable**, elvish-0.14.1/website/learn/unique-semantics.md:394:meaning that they never change after creation. That explains why `$m` did not elvish-0.14.1/website/learn/unique-semantics.md:395:change: because the map `$m` refers to never changes. But how is it possible to elvish-0.14.1/website/learn/unique-semantics.md-396-do `m2[foo] = quux` if the map is immutable? ############################################## elvish-0.14.1/website/learn/unique-semantics.md-416-Now, although maps are immutable, variables are mutable. So when you try to elvish-0.14.1/website/learn/unique-semantics.md:417:assign an element of `$m2`, Elvish turns that into an assignment of `$m2` elvish-0.14.1/website/learn/unique-semantics.md-418-itself: ############################################## elvish-0.14.1/website/learn/unique-semantics.md-429-and is used in functional programming languages. However, the way Elvish turns elvish-0.14.1/website/learn/unique-semantics.md:430:assignment to `$m2[foo]` into an assignment to `$m2` itself seems to be a new elvish-0.14.1/website/learn/unique-semantics.md-431-approach. ############################################## elvish-0.14.1/website/ref/builtin.md-24- elvish-0.14.1/website/ref/builtin.md:25:- Introspecting the builtin module, for example `keys $builtin:`. elvish-0.14.1/website/ref/builtin.md-26- ############################################## elvish-0.14.1/website/ref/builtin.md-98-When documenting such commands, the optional argument is always written as elvish-0.14.1/website/ref/builtin.md:99:`$input-list?`. On the other hand, a trailing `$input-list?` always indicates elvish-0.14.1/website/ref/builtin.md-100-that a command can take its input in one of two ways above: this fact is not ############################################## elvish-0.14.1/website/ref/builtin.md-104-`put` commands. Avoid `count [(some-command)]` or elvish-0.14.1/website/ref/builtin.md:105:`each $some-func [(some-command)]`; they are, most of the time, equivalent to elvish-0.14.1/website/ref/builtin.md:106:`some-command | count` or `some-command | each $some-func`. elvish-0.14.1/website/ref/builtin.md-107- ############################################## elvish-0.14.1/website/ref/builtin.md-144- elvish-0.14.1/website/ref/builtin.md:145:Predicates are functions that write exactly one output that is either `$true` or elvish-0.14.1/website/ref/builtin.md:146:`$false`. They are described like "Determine ..." or "Test ...". See [`is`](#is) elvish-0.14.1/website/ref/builtin.md-147-for one example. ############################################## elvish-0.14.1/website/ref/edit.md-73- elvish-0.14.1/website/ref/edit.md:74:The threshold is customizable with `$edit:prompt-stale-threshold`; it specifies elvish-0.14.1/website/ref/edit.md-75-the threshold in seconds. elvish-0.14.1/website/ref/edit.md-76- elvish-0.14.1/website/ref/edit.md:77:The transformer is customizable with `$edit:prompt-stale-transform`. It is a elvish-0.14.1/website/ref/edit.md-78-function; the function is called with one argument, a `styled` text, and the ############################################## elvish-0.14.1/website/ref/edit.md-90-To see the transformer in action, try the following example (assuming default elvish-0.14.1/website/ref/edit.md:91:`$edit:prompt-stale-transform`): elvish-0.14.1/website/ref/edit.md-92- ############################################## elvish-0.14.1/website/ref/edit.md-116-The occassions when the prompt should get updated can be controlled with elvish-0.14.1/website/ref/edit.md:117:`$edit:-prompt-eagerness`: elvish-0.14.1/website/ref/edit.md-118- ############################################## elvish-0.14.1/website/ref/edit.md-121- elvish-0.14.1/website/ref/edit.md:122:- If `$edit-prompt-eagerness` >= 5, it is updated when the working directory elvish-0.14.1/website/ref/edit.md-123- changes. elvish-0.14.1/website/ref/edit.md-124- elvish-0.14.1/website/ref/edit.md:125:- If `$edit-prompt-eagerness` >= 10, it is updated on each keystroke. elvish-0.14.1/website/ref/edit.md-126- ############################################## elvish-0.14.1/website/ref/edit.md-132-press Enter, it is erased. If you want to keep it, simply set elvish-0.14.1/website/ref/edit.md:133:`$edit:rprompt-persistent` to `$true`: elvish-0.14.1/website/ref/edit.md-134- ############################################## elvish-0.14.1/website/ref/edit.md-142-module. For instance, the binding table for insert mode is elvish-0.14.1/website/ref/edit.md:143:`$edit:insert:binding`. To see current bindings, simply print the binding table: elvish-0.14.1/website/ref/edit.md:144:`pprint $edit:insert:binding` (replace `insert` with any other mode). elvish-0.14.1/website/ref/edit.md-145- ############################################## elvish-0.14.1/website/ref/edit.md-183-Because they are very similar, you may want to change their bindings at the same elvish-0.14.1/website/ref/edit.md:184:time. This is made possible by the `$edit:listing:binding` binding table elvish-0.14.1/website/ref/edit.md-185-(`listing` is not a "real" mode but an "abstract" mode). These modes still have elvish-0.14.1/website/ref/edit.md:186:their own binding tables like `$edit:histlist:binding`, and bindings there have elvish-0.14.1/website/ref/edit.md:187:highter precedence over those in the shared `$edit:listing:binding` table. elvish-0.14.1/website/ref/edit.md-188- ############################################## elvish-0.14.1/website/ref/edit.md-197-<span class="key">Alt-l</span> to start location mode, you should modify elvish-0.14.1/website/ref/edit.md:198:`$edit:insert:binding[Alt-l]`: elvish-0.14.1/website/ref/edit.md-199- ############################################## elvish-0.14.1/website/ref/edit.md-207-is in insert mode, while with subsequent presses, the editor is in history mode. elvish-0.14.1/website/ref/edit.md:208:Hence this binding actually relies on two entries, `$edit:insert:binding[Up]` elvish-0.14.1/website/ref/edit.md:209:and `$edit:history:binding[Up]`. elvish-0.14.1/website/ref/edit.md-210- ############################################## elvish-0.14.1/website/ref/edit.md-225-names (e.g. `echo $`<span class="key">Tab</span>) and indicies (e.g. elvish-0.14.1/website/ref/edit.md:226:`echo $edit:insert:binding[`<span class="key">Tab</span>). These are the elvish-0.14.1/website/ref/edit.md-227-completions that Elvish can provide itself because they only depend on the ############################################## elvish-0.14.1/website/ref/edit.md-234-Command argument completions are programmable via the elvish-0.14.1/website/ref/edit.md:235:`$edit:completion:arg-completer` variable. When Elvish is completing an argument elvish-0.14.1/website/ref/edit.md:236:of command `$x`, it will call the value stored in elvish-0.14.1/website/ref/edit.md:237:`$edit:completion:arg-completer[$x]`, with all the existing arguments, plus the elvish-0.14.1/website/ref/edit.md-238-command name in the front. ############################################## elvish-0.14.1/website/ref/edit.md-334- elvish-0.14.1/website/ref/edit.md:335:Elvish first indexes the matcher table -- `$edit:completion:matcher` -- with the elvish-0.14.1/website/ref/edit.md-336-completion type to find a **matcher**. The **completion type** is currently one elvish-0.14.1/website/ref/edit.md-337-of `variable`, `index`, `command`, `redir` or `argument`. If the elvish-0.14.1/website/ref/edit.md:338:`$edit:completion:matcher` lacks the suitable key, elvish-0.14.1/website/ref/edit.md:339:`$edit:completion:matcher['']` is used. elvish-0.14.1/website/ref/edit.md-340- ############################################## elvish-0.14.1/website/ref/edit.md-360- elvish-0.14.1/website/ref/edit.md:361:The default value of `$edit:completion:matcher` is `[&''=$edit:match-prefix~]`, elvish-0.14.1/website/ref/edit.md-362-hence that candidates for all completion types are matched by prefix. ############################################## elvish-0.14.1/website/ref/edit.md-370- elvish-0.14.1/website/ref/edit.md:371:- `$edit:before-readline`, whose elements are called before the editor reads elvish-0.14.1/website/ref/edit.md-372- code, with no arguments. elvish-0.14.1/website/ref/edit.md-373- elvish-0.14.1/website/ref/edit.md:374:- `$edit:after-readline`, whose elements are called, after the editor reads elvish-0.14.1/website/ref/edit.md-375- code, with a sole element -- the line just read. ############################################## elvish-0.14.1/website/ref/epm.md-51-message will be shown. This can be disabled by passing elvish-0.14.1/website/ref/epm.md:52:`&silent-if-installed=$true`, so that already-installed packages are silently elvish-0.14.1/website/ref/epm.md-53-ignored. ############################################## elvish-0.14.1/website/ref/epm.md-85-- `dst`: where the package is (or would be) installed. Note that this elvish-0.14.1/website/ref/epm.md:86: attribute is returned even if `installed` is `$false`. elvish-0.14.1/website/ref/epm.md-87- ############################################## elvish-0.14.1/website/ref/language.md-75-Unlike most other shells, double-quoted strings do not support interpolation. elvish-0.14.1/website/ref/language.md:76:For instance, `"$USER"` simply evaluates to the string `$USER`. To get a similar elvish-0.14.1/website/ref/language.md:77:effect, simply concatenate strings: instead of `"my name is $name"`, write elvish-0.14.1/website/ref/language.md:78:`"my name is "$name`. Under the hood this is a elvish-0.14.1/website/ref/language.md-79-[compound expression](#compound-expression-and-braced-lists). ############################################## elvish-0.14.1/website/ref/language.md-141- elvish-0.14.1/website/ref/language.md:142:A `float64` data type can be converted to a string using `(to-string $number)`. elvish-0.14.1/website/ref/language.md-143-The resulting string is guaranteed to result in the same value when converted ############################################## elvish-0.14.1/website/ref/language.md-203-If you only specify a key without `=` or a value that follows it, the value will elvish-0.14.1/website/ref/language.md:204:be `$true`. However, if you keep `=` but don't specify any value after it, the elvish-0.14.1/website/ref/language.md-205-value will be an empty string. Example: ############################################## elvish-0.14.1/website/ref/language.md-226-In most other shells, variables can map directly to environmental variables: elvish-0.14.1/website/ref/language.md:227:`$PATH` is the same as the `PATH` environment variable. This is not the case in elvish-0.14.1/website/ref/language.md-228-Elvish. Instead, environment variables are put in a dedicated `E:` namespace; elvish-0.14.1/website/ref/language.md:229:the environment variable `PATH` is known as `$E:PATH`. The `$PATH` variable, on elvish-0.14.1/website/ref/language.md-230-the other hand, does not exist initially, and if you have defined it, only lives ############################################## elvish-0.14.1/website/ref/language.md-318- elvish-0.14.1/website/ref/language.md:319:In the following example, `$x` and `$y` are temporarily assigned 100 and 200: elvish-0.14.1/website/ref/language.md-320- ############################################## elvish-0.14.1/website/ref/language.md-565-In the following example, the `make-adder` function outputs two functions, both elvish-0.14.1/website/ref/language.md:566:referring to a local variable `$n`. Closure semantics means that: elvish-0.14.1/website/ref/language.md-567- elvish-0.14.1/website/ref/language.md:568:1. Both functions can continue to refer to the `$n` variable after `make-adder` elvish-0.14.1/website/ref/language.md-569- has returned. ############################################## elvish-0.14.1/website/ref/language.md-571-2. Multiple calls to the `make-adder` function generates distinct instances of elvish-0.14.1/website/ref/language.md:572: the `$n` variables. elvish-0.14.1/website/ref/language.md-573- ############################################## elvish-0.14.1/website/ref/language.md-594-capturing upvalues, Elvish only captures the variables that are used. In the elvish-0.14.1/website/ref/language.md:595:following example, `$m` is not an upvalue of `$g` because it is not used: elvish-0.14.1/website/ref/language.md-596- ############################################## elvish-0.14.1/website/ref/language.md-614-- A non-negative integer, an offset counting from the beginning of the list. elvish-0.14.1/website/ref/language.md:615: For example, `$li[0]` is the first element of `$li`. elvish-0.14.1/website/ref/language.md-616- elvish-0.14.1/website/ref/language.md-617-- A negative integer, an offset counting from the back of the list. For elvish-0.14.1/website/ref/language.md:618: instance, `$li[-1]` is the last element `$li`. elvish-0.14.1/website/ref/language.md-619- elvish-0.14.1/website/ref/language.md:620:- A slice `$a:$b`, where both `$a` and `$b` are integers. The result is elvish-0.14.1/website/ref/language.md:621: sublist of `$li[$a]` up to, but not including, `$li[$b]`. For instance, elvish-0.14.1/website/ref/language.md:622: `$li[4:7]` equals `[$li[4] $li[5] $li[6]]`, while `$li[1:-1]` contains all elvish-0.14.1/website/ref/language.md:623: elements from `$li` except the first and last one. elvish-0.14.1/website/ref/language.md-624- elvish-0.14.1/website/ref/language.md:625: Both integers may be omitted; `$a` defaults to 0 while `$b` defaults to the elvish-0.14.1/website/ref/language.md:626: length of the list. For instance, `$li[:2]` is equivalent to `$li[0:2]`, elvish-0.14.1/website/ref/language.md:627: `$li[2:]` is equivalent to `$li[2:(count $li)]`, and `$li[:]` makes a copy elvish-0.14.1/website/ref/language.md:628: of `$li`. The last form is rarely useful, as lists are immutable. elvish-0.14.1/website/ref/language.md-629- elvish-0.14.1/website/ref/language.md-630- Note that the slice needs to be a **single** string, so there cannot be any elvish-0.14.1/website/ref/language.md:631: spaces within the slice. For instance, `$li[2:10]` cannot be written as elvish-0.14.1/website/ref/language.md:632: `$li[2: 10]`; the latter contains two indicies and is equivalent to elvish-0.14.1/website/ref/language.md:633: `$li[2:] $li[10]` (see [Multiple Indicies](#multiple-indicies)). elvish-0.14.1/website/ref/language.md-634- elvish-0.14.1/website/ref/language.md-635-- Not yet implemented: The string `@`. The result is all the values in the elvish-0.14.1/website/ref/language.md:636: list. Note that this is not the same as `:`: if `$li` has 10 elements, elvish-0.14.1/website/ref/language.md:637: `$li[@]` evaluates to 10 values (all the elements in the list), while elvish-0.14.1/website/ref/language.md:638: `$li[:]` evaluates to just one value (a copy of the list). elvish-0.14.1/website/ref/language.md-639- elvish-0.14.1/website/ref/language.md:640: When used on a variable like `$li`, it is equivalent to the explosion elvish-0.14.1/website/ref/language.md:641: construct `$li[@]`. It is useful, however, when used on other constructs, elvish-0.14.1/website/ref/language.md-642- like output capture or other ############################################## elvish-0.14.1/website/ref/language.md-708- elvish-0.14.1/website/ref/language.md:709:If you put multiple values in the index, you get multiple values: `$li[x y z]` elvish-0.14.1/website/ref/language.md:710:is equivalent to `$li[x] $li[y] $li[z]`. This applies to all indexable values. elvish-0.14.1/website/ref/language.md-711-Examples: ############################################## elvish-0.14.1/website/ref/language.md-799- elvish-0.14.1/website/ref/language.md:800:If there was no error, it evaluates to the special value `$ok`: elvish-0.14.1/website/ref/language.md-801- ############################################## elvish-0.14.1/website/ref/language.md-807- elvish-0.14.1/website/ref/language.md:808:Exceptions are booleanly false and `$ok` is booleanly true. This is useful in elvish-0.14.1/website/ref/language.md-809-`if` (introduced later): ############################################## elvish-0.14.1/website/ref/language.md-1117- elvish-0.14.1/website/ref/language.md:1118:Like in maps, `&key` is equivalent to `&key=$true`: elvish-0.14.1/website/ref/language.md-1119- ############################################## elvish-0.14.1/website/ref/language.md-1227-In the example, the `or` command first evaluates its first argument, which has elvish-0.14.1/website/ref/language.md:1228:the value `$ok` (a truish value) and the side effect of outputting `x`. Due to elvish-0.14.1/website/ref/language.md-1229-the custom evaluation rule of `or`, the rest of the arguments are not evaluated. ############################################## elvish-0.14.1/website/ref/language.md-1280-a booleanly false value is obtained, it outputs the value and stops. When given elvish-0.14.1/website/ref/language.md:1281:no arguments, it outputs `$true`. elvish-0.14.1/website/ref/language.md-1282- elvish-0.14.1/website/ref/language.md-1283-The `or` special command is the same except that it stops when a booleanly true elvish-0.14.1/website/ref/language.md:1284:value is obtained. When given no arguments, it outpus `$false`. elvish-0.14.1/website/ref/language.md-1285- ############################################## elvish-0.14.1/website/ref/language.md-1419- want to only match exceptions that were created with `fail bad` with elvish-0.14.1/website/ref/language.md:1420: `except bad`, but in fact this creates a variable `$bad` that contains elvish-0.14.1/website/ref/language.md-1421- whatever exception was thrown. ############################################## elvish-0.14.1/website/ref/language.md-1508- elvish-0.14.1/website/ref/language.md:1509: For instance, given a command `f a b`, Elvish looks for the variable `$f~`, elvish-0.14.1/website/ref/language.md-1510- using the ordinary variable [scoping rule](#scoping-rule), except that ############################################## elvish-0.14.1/website/ref/language.md-1562- elvish-0.14.1/website/ref/language.md:1563:## Execution Flow elvish-0.14.1/website/ref/language.md-1564- ############################################## elvish-0.14.1/website/ref/language.md-1737- elvish-0.14.1/website/ref/language.md:1738:- `E:` refers to environment variables. For instance, `$E:USER` is the elvish-0.14.1/website/ref/language.md-1739- environment variable `USER`. ############################################## elvish-0.14.1/website/ref/language.md-1760-- The [unix](unix.html) module is available on UNIX-like platforms (see elvish-0.14.1/website/ref/language.md:1761: [`$platform:is-unix`](platform.html#platformis-unix)). elvish-0.14.1/website/ref/language.md-1762- ############################################## elvish-0.14.1/website/ref/re.md-15- elvish-0.14.1/website/ref/re.md:16:- `&posix` (defaults to `$false`): Use POSIX ERE syntax. See also elvish-0.14.1/website/ref/re.md-17- [doc](http://godoc.org/regexp#CompilePOSIX) in Go package. elvish-0.14.1/website/ref/re.md-18- elvish-0.14.1/website/ref/re.md:19:- `&longest` (defaults to `$false`): Prefer leftmost-longest match. See also elvish-0.14.1/website/ref/re.md-20- [doc](http://godoc.org/regexp#Regexp.Longest) in Go package. ############################################## elvish-0.14.1/website/ref/re.md-29- elvish-0.14.1/website/ref/re.md:30:Find all matches of `$pattern` in `$source`. elvish-0.14.1/website/ref/re.md-31- elvish-0.14.1/website/ref/re.md:32:Each match is represented by a map-like value `$m`; `$m[text]`, `$m[start]` and elvish-0.14.1/website/ref/re.md:33:`$m[end]` are the text, start and end positions (as byte indicies into elvish-0.14.1/website/ref/re.md:34:`$source`) of the match; `$m[groups]` is a list of submatches for capture groups elvish-0.14.1/website/ref/re.md-35-in the pattern. A submatch has a similar structure to a match, except that it ############################################## elvish-0.14.1/website/ref/re.md-55- elvish-0.14.1/website/ref/re.md:56:Determine whether `$pattern` matches `$source`. The pattern is not anchored. elvish-0.14.1/website/ref/re.md-57-Examples: ############################################## elvish-0.14.1/website/ref/re.md-73- elvish-0.14.1/website/ref/re.md:74:Replace all occurrences of `$pattern` in `$source` with `$repl`. elvish-0.14.1/website/ref/re.md-75- elvish-0.14.1/website/ref/re.md:76:The replacement `$repl` can be either elvish-0.14.1/website/ref/re.md-77- elvish-0.14.1/website/ref/re.md:78:1. A string-typed replacement template. The template can use `$name` or elvish-0.14.1/website/ref/re.md:79: `${name}` patterns to refer to capture groups, where `name` consists of elvish-0.14.1/website/ref/re.md:80: letters, digits and underscores. Numbered patterns like `$1` refer to elvish-0.14.1/website/ref/re.md:81: capture groups by their order, while named patterns like `$stem` refer to elvish-0.14.1/website/ref/re.md-82- capture groups by their names (specified using the syntax `(?P<name>...)`). elvish-0.14.1/website/ref/re.md:83: Use `$$` for a literal dollar sign. The name is taken as long as possible; elvish-0.14.1/website/ref/re.md:84: for instance, `$1a` is the same as `${1a}`. elvish-0.14.1/website/ref/re.md-85- ############################################## elvish-0.14.1/website/ref/re.md-92- elvish-0.14.1/website/ref/re.md:93:If `$literal` is true, `$repl` must be a string and is treated literally instead elvish-0.14.1/website/ref/re.md-94-of as a pattern. ############################################## elvish-0.14.1/website/ref/re.md-112- elvish-0.14.1/website/ref/re.md:113:Split `$source`, using `$pattern` as separators. Examples: elvish-0.14.1/website/ref/re.md-114- ############################################## elvish-0.14.1/website/ref/re.md-130- elvish-0.14.1/website/ref/re.md:131:Quote `$string`. Examples: elvish-0.14.1/website/ref/re.md-132- ############################################## elvish-0.14.1/website/ref/unix.md-9-and `use unix` will fail. Use the elvish-0.14.1/website/ref/unix.md:10:[`$platform:is-unix`](platform.html#platformis-unix) variable to determine if elvish-0.14.1/website/ref/unix.md-11-this namespace is usable. ############################################## elvish-0.14.1/debian/patches/1071.patch-64-@@ -35,7 +35,9 @@ func TestPlatform(t *testing.T) { elvish-0.14.1/debian/patches/1071.patch:65: That(`put $platform:os`).Puts(runtime.GOOS), elvish-0.14.1/debian/patches/1071.patch:66: That(`put $platform:is-windows`).Puts(runtime.GOOS == "windows"), elvish-0.14.1/debian/patches/1071.patch:67: That(`put $platform:is-unix`).Puts( elvish-0.14.1/debian/patches/1071.patch-68-- runtime.GOOS != "windows" && runtime.GOOS != "plan9" && runtime.GOOS != "js"), ############################################## elvish-0.14.1/.pc/1071.patch/pkg/eval/platform/platform_test.go-33- eval.TestWithSetup(t, setup, elvish-0.14.1/.pc/1071.patch/pkg/eval/platform/platform_test.go:34: That(`put $platform:arch`).Puts(runtime.GOARCH), elvish-0.14.1/.pc/1071.patch/pkg/eval/platform/platform_test.go:35: That(`put $platform:os`).Puts(runtime.GOOS), elvish-0.14.1/.pc/1071.patch/pkg/eval/platform/platform_test.go:36: That(`put $platform:is-windows`).Puts(runtime.GOOS == "windows"), elvish-0.14.1/.pc/1071.patch/pkg/eval/platform/platform_test.go:37: That(`put $platform:is-unix`).Puts( elvish-0.14.1/.pc/1071.patch/pkg/eval/platform/platform_test.go-38- runtime.GOOS != "windows" && runtime.GOOS != "plan9" && runtime.GOOS != "js"),