Age | Commit message (Collapse) | Author |
|
|
|
This fixes the problem before, where searching "Shell" would list
"Shell-vars" in the results, but searching "Shell-vars" would make it
disappear.
Also removed some now-unnecessary includes.
|
|
I found it strange that `man` and `Help` did not accept the same command
line arguments since they are so similar. So... now they do. :^)
This means you can now open for example the `tar` man page in Help with
`Help tar`, or `Help 1 tar` if you want to disambiguate between pages in
different sections.
If the result is not found, it falls back to the previous behavior,
treating the input as a search query.
Initially I had this written as two optional positional arguments, but
when told to parse `[optional int] [optional string]`, and then given a
string input, ArgsParser forwards it to the [optional int], which then
fails to parse. Ideally it would pass it to the second, [optional
string] arg instead, but that looks like a fairly big change to make to
ArgsParser's internals, and risk breaking things. Maybe this ugly hack
will be an incentive to fix it. :^)
|
|
These two lambdas are always called together, in this order, so why not
make them one instead?
Also converted a couple of west-consts to east-const.
|
|
Previously, launching Help with a query like `Help tar` left the page
blank, which looks like something has gone wrong. Instead, let's show
the usual welcome page.
|
|
This patch adds a 512 frame timeline to Magnifier and the ability to
step through it with the arrow keys.
This makes it easier to check Serenity animations frame by frame for
correctness etc.
|
|
|
|
Since the call to lock the veil was missing, the protections provided
by unveil() were not actually enabled.
|
|
|
|
|
|
Cell::set_data(String new_data) now checks whether the cell is a
formula-cell and the new_data is an empty string. If this is case, it
will no longer simply return and will now instead actually set the
cell's contents to an empty string.
This fixes an error whereupon committing the string "=" to a cell, it
would not be possible to directly delete the cell's contents. Instead,
it first had to be overwritten with another string, which then could be
deleted.
This could probably be done more elegantly. Right now, I believe,
writing the string "=" to a (formula-)cell already containing an
identical string will result in the cell being marked as dirty, even
though nothing actually changed.
|
|
We should use .to_string() and handle the possible exceptions.
This makes the displayed cell contents so much more informative than
'[object Object]' :^)
|
|
Now we give each sheet its own interpreter and realm, and only make them
share the VM.
This is to prepare for the next commit, which will be refactoring a
bunch of things to propagate exceptions via ThrowCompletionOr<T>.
|
|
|
|
Doing so makes it possible to talk about theoretically infinite ranges
like "all of column A".
|
|
The worksheet's realm does not change, and is not shared, so we can
safely leave the global environment be.
This fixes lexical scoping in the spreadsheet's runtime file.
|
|
|
|
|
|
Adds the ability to add a track and cycle through the
tracks from player widget. Also displays the current track
being played or edited in a dropdown that allows
for quick track selection.
|
|
|
|
This option is already enabled when building Lagom, so let's enable it
for the main build too. We will no longer be surprised by Lagom Clang
CI builds failing while everything compiles locally.
Furthermore, the stronger `-Wsuggest-override` warning is enabled in
this commit, which enforces the use of the `override` keyword in all
classes, not just those which already have some methods marked as
`override`. This works with both GCC and Clang.
|
|
This allows us to see which custom properties apply to a given element,
which previously wasn't shown.
|
|
Persist EditingEngine mode in HackStudio and TextEditor when opening new
files or editing splits. Previously, the EditingEngine defaulted to a
RegularEditingEngine for a new Editor, even if Vim Emulation had been
selected in the existing Editor.
|
|
|
|
|
|
User code does not need to keep this alive, so casting to void is safe.
But maybe a bit weird.
|
|
|
|
There's a lot more work to do on this application to take full advantage
of TRY() etc. This patch just scratches the surface.
|
|
|
|
|
|
|
|
"Inspect in Hack Studio" was a bit vague.
|
|
|
|
When calling set_selected_index() on ComboBox, allow its on_change
callback to be disabled. Fixes FontEditor window state erroneously
switching to modified when initializing between different slopes
and weights.
|
|
|
|
Makes code_point type u32, consistent with the rest of the system,
and properly initializes it.
|
|
|
|
Fixes incorrect scale initialization and inconsistent margins, sets
minimum values for glyph width and height to 1, and labels page 1
more precisely as "Typeface" properties.
|
|
Fixes minor organizational inconsistency and zeroes initializations
for rows and columns as the previous values haven't been meaningful
since the map was converted to a scrollable widget. No functional
changes.
|
|
|
|
And make them more self-documenting. Previously these constraints
were duplicated across multiple files.
|
|
Previously these were undescriptive globals making them a bit cryptic.
|
|
Fixes incorrect glyph status immediately after loading a new font.
|
|
The left column now also enforces a minimum width to prevent especially
small fonts from hiding the glyph toolbars and width widgets.
|
|
Fixes glyphs not expanding up to their maximum width if necessary
when pasting larger glyphs into smaller ones.
|
|
And update status bar on cut. Fixes placing these effectless actions
on the undo stack.
|
|
|
|
|
|
This will let us more easily organize and assign shortcuts to new
modes and transformations as they are built, and it generally looks
more polished as a uniform interface. Also adds a counterclockwise
option to the rotate action, moves Copy as Character to the edit
menu as it doesn't directly impact GlyphEditor, and makes the paint
and move modes exclusive checkables to make the editor's state more
visually obvious.
|
|
Previusly a cloned or newly loaded font was moved twice from main to
the constructor and then from constructor to an init routine where it
was finally used. The unmasked font is now moved only once, directly
to initialization, and redundant error checking is discarded.
|