summaryrefslogtreecommitdiff
path: root/Userland/DevTools
AgeCommit message (Collapse)Author
2021-12-09HackStudio+TextEditor: Persist EditingEngineType across editorsscwfri
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.
2021-12-08Inspector: Remove unused includesBen Wiederhake
Found while working on something else.
2021-12-06LibIPC: Add IPC::take_over_accepted_client_from_system_server<Client>()Andreas Kling
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. :^)
2021-12-05Userland: Cast unused BackgroundAction::construct() results to voidSam Atkins
User code does not need to keep this alive, so casting to void is safe. But maybe a bit weird.
2021-12-04HackStudio: Fix cursor not jumping to column 1 in the embedded terminalDaniel Bertalan
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.
2021-12-03LibCpp: Add "ignore invalid statements" option to PreprocessorItamar
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.
2021-12-03HackStudio: Decrease the maximal crash frequency of the server to 10 secItamar
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.
2021-12-03HackStudio: Only send the content of open files to language serverItamar
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.
2021-12-03HackStudio: Add HackStudio::for_each_open_fileItamar
2021-11-30CrashReporter+HackStudio: Let's call it "Debug in Hack Studio"Andreas Kling
"Inspect in Hack Studio" was a bit vague.
2021-11-30HackStudio: Scope the "delete file from project" action to tree viewAndreas Kling
Otherwise it triggers when trying to delete characters in the editor.
2021-11-28LibIPC+IPCCompiler+AK: Make IPC value decoders return ErrorOr<void>Andreas Kling
This allows us to use TRY() in decoding helpers, leading to a nice reduction in line count.
2021-11-28Everywhere: Use default execpromises argument for Core::System::pledgeBrian Gianforcaro
2021-11-26UserspaceEmulator: Fix after add_positional_argument API change :^)Brian Gianforcaro
Get UE compiling again after the Vector<String> API was changed to Vector<StringView>.
2021-11-26HackStudio: Port to LibMain :^)Federico Guerinoni
2021-11-24Kernel+UE+LibC: Remove unused dbgputch syscallBen Wiederhake
Everything uses the dbgputstr syscall anyway, so there is no need to keep supporting it.
2021-11-24LibDesktop: Make allowlist APIs return ErrorOr<void>Andreas Kling
This makes it very smooth to use TRY() when setting up these lists, as you can see in the rest of this commit. :^)
2021-11-24Inspector: Port to LibMain :^)Andreas Kling
2021-11-24Playground: Port to LibMain :^)Andreas Kling
2021-11-24Profiler: Port to LibMain :^)Andreas Kling
2021-11-23LibCore+AK: Move MappedFile from AK to LibCoreAndreas Kling
MappedFile is strictly a userspace thing, so it doesn't belong in AK (which is supposed to be user/kernel agnostic.)
2021-11-23LibCore: Make LocalSocket takeover mechanism return ErrorOr<T>Andreas Kling
2021-11-23LibCore+LibSystem: Move syscall wrappers from LibSystem to LibCoreAndreas Kling
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.
2021-11-23LanguageServers/Shell: Port to LibMain :^)Andreas Kling
2021-11-23LanguageServers/Cpp: Port to LibMain :^)Andreas Kling
2021-11-22HackStudio: Disable the Rename action on insufficient permissionsKarol Kosek
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.
2021-11-22HackStudio: Remove noop when deciding whether to disable delete actionKarol Kosek
The iterator in has_permissions will just be equal to sections.end() when there are no selected files.
2021-11-20HackStudio: Add option to inspect CoredumpItamar
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.
2021-11-20HackStudio: Improve backtrace accuracyItamar
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.
2021-11-20HackStudio: Use ProcessInspector instead of DebugSession where possibleItamar
2021-11-17AK: Convert AK::Format formatting helpers to returning ErrorOr<void>Andreas Kling
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.
2021-11-17AK: Make JSON parser return ErrorOr<JsonValue> (instead of Optional)Andreas Kling
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.
2021-11-16Profiler: Stop disassembly on invalid instructionsHendiadyoin1
2021-11-16Profiler: Don't try to disassemble empty buffersHendiadyoin1
2021-11-11Everywhere: Pass AK::StringView by valueAndreas Kling
2021-11-10Everywhere: Move shared library checks into a common functionTim Schumacher
While we're at it, unify the various different conditions that are scattered accross the codebase.
2021-11-10Emulator: Restrict library name check when querying symbolsTim Schumacher
Libraries in /usr/lib currently only end in .so, so no contains() is needed for now.
2021-11-10Emulator: Use existing queried library name in load checkTim Schumacher
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.
2021-11-10Profiler: Use existing path split when mmapping librariesTim Schumacher
We already extracted the `path` part of the segment name, so use that for checking if the filename looks like a shared library.
2021-11-08UserspaceEmulator: Add support for SC_uname and SC_sysconf syscallsBrendan Coles
2021-11-08Profiler: Replace Result<T, E> use with ErrorOr<T>Andreas Kling
2021-11-08LibCore: Use ErrorOr<T> for Core::File::copy_file()Andreas Kling
2021-11-08LibCore: Use ErrorOr<T> for Core::File::remove()Andreas Kling
This function returns a subclass of Error, which is now possible.
2021-11-08LibGfx: Use ErrorOr<T> for Bitmap::try_create()Andreas Kling
Another one that was used in a fajillion places.
2021-11-08LibGfx: Use ErrorOr<T> for Bitmap::try_load_from_file()Andreas Kling
This was used in a lot of places, so this patch makes liberal use of ErrorOr<T>::release_value_but_fixme_should_propagate_errors().
2021-11-07UserspaceEmulator: Improve the MMX formatting on environment dumpHendiadyoin1
2021-11-07UserspaceEmulator: Raise an error on FPU stack underflowHendiadyoin1
Accessing an unset part of the FPU stack should not be a simple warning, but should trigger the FPU exception mechanism.
2021-11-07UserspaceEmulator: Remove some unnecessary castingHendiadyoin1
2021-11-07UserspaceEmulator: Stop overriding flags in FCOMIHendiadyoin1
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!
2021-11-07UserspaceEmulator: Fix typos in SoftFPU.[cpp|h]Hendiadyoin1