Age | Commit message (Collapse) | Author |
|
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.
|
|
Found while working on something else.
|
|
This is an encapsulation of the common work done by all of our
single-client IPC servers on startup:
1. Create a Core::LocalSocket, taking over an accepted fd.
2. Create an application-specific ClientConnection object,
wrapping the socket.
It's not a huge change in terms of lines saved, but I do feel that it
improves expressiveness. :^)
|
|
User code does not need to keep this alive, so casting to void is safe.
But maybe a bit weird.
|
|
Normally, it's the TTY layer's job to translate '\n' into the separate
'\r' and '\n' control characters needed by the terminal to move the
cursor to the first column of the next line.
(see 5d80debc1f891cacb155aa7eaaad51a9a3325ec9).
In HackStudio, we directly inject data into the TerminalWidget to
display command status. This means that this automatic translation
doesn't happen, so we need to explicitly give it the '\r' too.
|
|
When we run the Preprocessor from the CppComprehensionEngine of
the language server, we don't want the preprocessor to crash if it
encounters an invalid preprocessor statement (for example, an #endif
statement without an accompanying previous #if statement).
To achieve this, this commit adds an "ignore_invalid_statements" flag
to the preprocessor which is set by the CppComprehensionEngine.
Fixes #11064.
|
|
The maximal crash frequency of the language server was previously 3
seconds, but in practice it was too high.
When working with larger projects the language server can get into a
"crash and respawn" loop that takes more than 3 seconds.
10 seconds seems like a reasonable threshold beyond which we no longer
attempt to respawn the server.
|
|
When respawning the language server, we only need to send the content
of opened files to the server.
The on-disk content of files that are not currently open is up to
date, so the server can read them on its own.
|
|
|
|
"Inspect in Hack Studio" was a bit vague.
|
|
Otherwise it triggers when trying to delete characters in the editor.
|
|
This allows us to use TRY() in decoding helpers, leading to a nice
reduction in line count.
|
|
|
|
Get UE compiling again after the Vector<String> API was changed to
Vector<StringView>.
|
|
|
|
Everything uses the dbgputstr syscall anyway, so there is no need to
keep supporting it.
|
|
This makes it very smooth to use TRY() when setting up these lists,
as you can see in the rest of this commit. :^)
|
|
|
|
|
|
|
|
MappedFile is strictly a userspace thing, so it doesn't belong in AK
(which is supposed to be user/kernel agnostic.)
|
|
|
|
With this change, System::foo() becomes Core::System::foo().
Since LibCore builds on other systems than SerenityOS, we now have to
make sure that wrappers work with just a standard C library underneath.
|
|
|
|
|
|
This patch will disable the Rename action in the project Tree View
if a user does not have write access to the selected file directory.
|
|
The iterator in has_permissions will just be equal to sections.end()
when there are no selected files.
|
|
This adds a --coredump <file> option to Hack Studio.
When used, Hack Studio will open the coredump and allow the user to
inspect it in the Debug tab.
|
|
We now decrement the return address of the previous frame by one to get
the address of the call instruction and use this address in the
backtrace.
This results in more accurate source position information than what we
previously had when using the return address.
|
|
|
|
This isn't a complete conversion to ErrorOr<void>, but a good chunk.
The end goal here is to propagate buffer allocation failures to the
caller, and allow the use of TRY() with formatting functions.
|
|
Also add slightly richer parse errors now that we can include a string
literal with returned errors.
This will allow us to use TRY() when working with JSON data.
|
|
|
|
|
|
|
|
While we're at it, unify the various different conditions that are
scattered accross the codebase.
|
|
Libraries in /usr/lib currently only end in .so, so no contains() is
needed for now.
|
|
We already asked the region about what its library name is, and we also
use that value when maybe constructing a path, so let's make the check
use that as well.
|
|
We already extracted the `path` part of the segment name, so use that
for checking if the filename looks like a shared library.
|
|
|
|
|
|
|
|
This function returns a subclass of Error, which is now possible.
|
|
Another one that was used in a fajillion places.
|
|
This was used in a lot of places, so this patch makes liberal use of
ErrorOr<T>::release_value_but_fixme_should_propagate_errors().
|
|
|
|
Accessing an unset part of the FPU stack should not be a simple warning,
but should trigger the FPU exception mechanism.
|
|
|
|
We no longer override the flags we just set. We now also unset of, af,
and sf after the comparison.
This fixes the asin function for LibM!
|
|
|