123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #elvdoc:fn src
- #
- # ```elvish
- # src
- # ```
- #
- # Output a map-like value describing the current source being evaluated. The value
- # contains the following fields:
- #
- # - `name`, a unique name of the current source. If the source originates from a
- # file, it is the full path of the file.
- #
- # - `code`, the full body of the current source.
- #
- # - `is-file`, whether the source originates from a file.
- #
- # Examples:
- #
- # ```elvish-transcript
- # ~> put (src)[name code is-file]
- # ▶ '[tty]'
- # ▶ 'put (src)[name code is-file]'
- # ▶ $false
- # ~> echo 'put (src)[name code is-file]' > show-src.elv
- # ~> elvish show-src.elv
- # ▶ /home/elf/show-src.elv
- # ▶ "put (src)[name code is-file]\n"
- # ▶ $true
- # ```
- #
- # Note: this builtin always returns information of the source of the function
- # calling `src`. Consider the following example:
- #
- # ```elvish-transcript
- # ~> echo 'fn show { put (src)[name] }' > ~/.elvish/lib/src-fsutil.elv
- # ~> use src-util
- # ~> src-util:show
- # ▶ /home/elf/.elvish/lib/src-fsutil.elv
- # ```
- #elvdoc:fn -gc
- #
- # ```elvish
- # -gc
- # ```
- #
- # Force the Go garbage collector to run.
- #
- # This is only useful for debug purposes.
- #elvdoc:fn -stack
- #
- # ```elvish
- # -stack
- # ```
- #
- # Print a stack trace.
- #
- # This is only useful for debug purposes.
- #elvdoc:fn -log
- #
- # ```elvish
- # -log $filename
- # ```
- #
- # Direct internal debug logs to the named file.
- #
- # This is only useful for debug purposes.
|