Age | Commit message (Collapse) | Author |
|
Slightly more verbose, but that's the last user of TRY_OR_DISCARD gone!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Just like when enabling profiling. Plus it's more unixy to not print
anything on success
|
|
These are almost always bugs, so enable globally.
Remove unused counter variables in SystemMonitor and disk_benchmark.
|
|
Before this patch, `which ""` or `type ""` would say that the empty
string is `/usr/local/bin/`.
Convert callers to consistently call is_empty() on the returned string
while we're at it, to support eventually removing the is_null() String
state in the future.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This allows specifying which directory to extract to or create
from.
I would have used the *at variants of the functions, but some
weren't implemented yet.
|
|
In the end this is a nicer API than having separate has_{value,target}()
and having to check those first, and then making another Optional from
the unwrapped value:
completion.has_value() ? completion.value() : Optional<Value> {}
// ^^^^^^^^^^^^^^^^^^
// Implicit creation of non-empty Optional<Value>
This way we need to unwrap the optional ourselves, but can easily pass
it to something else as well.
This is in anticipation of the AST using completions :^)
|
|
|
|
A simple check to not erase '/' by mistake.
|
|
|
|
|
|
|
|
This option will change the ownership of the symlink rather than the
file it points to.
|
|
|
|
|
|
This ports 'du' utility to LibMain. Also moves to use StringView and
StringView literals more instead of raw C strings.
|
|
The spec has a note stating that resolve binding will always return a
reference whose [[ReferencedName]] field is name. However this is not
correct as the underlying method GetIdentifierReference may throw on
env.HasBinding(name) thus it can throw. However, there are some
scenarios where it cannot throw because the reference is known to exist
in that case we use MUST with a comment.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is partially a revert of commits:
10a8b6d4116c6a627a6c189154af032f69b29c21
561b67a1add82538502ef2f5733f1d86718898ad
Rather than adding the prot_exec pledge requried to use dlopen(), we can
link directly against LibUnicodeData in applications that we know need
that library.
This might make the dlopen() dance a bit unnecessary. The same purpose
might now be fulfilled with weak symbols. That can be revisted next, but
for now, this at least removes the potential security risk of apps like
the Browser having prot_exec privileges.
|
|
Before tabs were treated as a width of 1, which would cause issues with
man page headers.
|
|
|
|
|
|
This change moves from wrapping lines at the start to operating on whole
lines and wrapping them as needed.
This has a few added benefits:
- line numbers are now always accurate.
- going to a line actually works
|
|
This patch returns an empty Optional<...> instead of an Error for
Core::System::getgrname and Core::System::getpwnam if we can't find a
matching group or user entry.
It also updates the 'chown' utility to support this new behavior.
|
|
This allows using pls on a program with arguments more ergonomically,
e.g. `pls -- echo "hello friends"` can now simply be done as:
`pls echo "hello friends"`.
|
|
This implements:
- console.group()
- console.groupCollapsed()
- console.groupEnd()
In the Browser, we use `<details>` for the groups, which is not actually
implemented yet, so groups are always open.
In the REPL, groups are non-interactive, but still indent any output.
This looks weird since the console prompt and return values remain on
the far left, but this matches what Node does so it's probably fine. :^)
I expect `console.group()` is not used much outside of browsers.
|
|
The spec very kindly defines `Printer` as accepting
"Implementation-specific representations of printable things such as a
stack trace or group." for the `args`. We make use of that here by
passing the `Trace` itself to `Printer`, instead of having to produce a
representation of the stack trace in advance and then pass that to
`Printer`. That both avoids the hassle of tracking whether the data has
been html-encoded or not, and means clients don't have to implement the
whole `trace()` algorithm, but only the code needed to output the trace.
|
|
|
|
This is identical to before, since we don't have "group stacks" yet, but
clear() now uses ThrowCompletionOr.
|