Commit graph

17007 commits

Author SHA1 Message Date
Sameem Zahoor Taray
2c3f284b06
Run: Prevent printing [null] in case of empty history (#5433)
Pressing up-arrow or down-arrow with empty command history printed
[null] in the text area.

Fixes #5426
2021-02-20 22:28:54 +01:00
AnotherTest
074e2ffdfd LibLine: Avoid refreshing the entire line when inserting at the end
This patchset allows the editor to avoid redrawing the entire line when
the changes cause no unrecoverable style updates, and are at the end of
the line (this applies to most normal typing situations).
Cases that this does not resolve:
- When the cursor is not at the end of the buffer
- When a display refresh changes the styles on the already-drawn parts
  of the line
- When the prompt has not yet been drawn, or has somehow changed

Fixes #5296.
2021-02-20 22:28:23 +01:00
Tom
101c6b01ed WindowServer: Improve small tooltips/windows shadows a bit
This fixes some artifacts with very small tooltip windows.
2021-02-20 22:28:11 +01:00
thankyouverycool
ef61a963e9 LibGUI: Always set tree column content width to widest open node
Fixes hidable horizontal scrollbars remaining visible even after
collapsing their responsible nodes. Tree column width defaults to
column header width if wider than current content.
2021-02-20 22:27:52 +01:00
thankyouverycool
2df219d608 LibGUI: Recheck size excesses when scrollbars become visible
Fixes edge cases in which hidden scrollbars could become visible
and obscure content or fail to hide when no longer needed
2021-02-20 22:27:52 +01:00
thankyouverycool
8789a91a4e LibGUI: Set IconView content width to actual content only
Fixes incorrect excess size reporting when updating scrollbars
and allows horizontal scrolling if IconView is resized smaller
than a single column
2021-02-20 22:27:52 +01:00
Andreas Kling
08476e7fe7 DynamicLoader: Always make .data segment read+write
Let's just ignore the program header and always go with read+write.
Nothing else makes sense anyway.
2021-02-20 19:02:48 +01:00
Andreas Kling
81c6d8e98e AK: Make Nonnull*PtrVector use size_t for indexes
This was weird. It turns out these class were using int indexes and
sizes despite being derived from Vector which uses size_t.

Make the universe right again by using size_t here as well.
2021-02-20 18:34:32 +01:00
Linus Groh
46efd2f741 Ports: Update vttest version in AvailablePorts.md 2021-02-20 18:31:00 +01:00
Andreas Kling
fa581a7470 Kernel: Mark some IDEController functions with UNMAP_AFTER_INIT 2021-02-20 17:28:29 +01:00
Andreas Kling
efd4f66f36 Kernel: Don't take debug logging lock in sprintf()
This function doesn't write to the log, and so doesn't need to acquire
the logging lock. (This is only used by GCC's name demangling thingy.)
2021-02-20 17:21:53 +01:00
Andreas Kling
4d9ce42532 AK: Remove unused kprintf macro
This hasn't been used for quite some time.
2021-02-20 17:21:03 +01:00
Andreas Kling
8d98051551 AK+LibC: Remove dbgprintf() :^)
Everything has been moved to dbgln() or other AK::Format-based APIs.
We can finally get rid of this old thing.
2021-02-20 17:17:30 +01:00
Andreas Kling
542d8591e0 LibVT: Oops, fix dbgln() invocation mistake 2021-02-20 17:16:33 +01:00
Andreas Kling
68406fc0ef LibCpp: Replace dbgprintf() with outln() 2021-02-20 17:12:25 +01:00
Andreas Kling
b1a705d7d8 LibTLS: Replace dbgprintf() with dbgln() 2021-02-20 17:06:39 +01:00
Andreas Kling
499a59ed86 LibVT: Put "unimplemented escape" whining on debug log
I'm not sure why we were injecting these debug messages into the
terminal output, but it makes a big mess for no benefit.
2021-02-20 17:04:46 +01:00
Andreas Kling
81b21504a7 LibVT: Implement switching between 80/132 column modes (DECCOLM)
This gets us past a few more screens in vttest. :^)
2021-02-20 17:04:46 +01:00
Andreas Kling
8c9ae4e537 Terminal+LibVT: Resize Terminal app window when requested by VT
This will allow us to react to things like DECCOLM.
2021-02-20 17:04:46 +01:00
Andreas Kling
bb6d6dce7b LibVT: Give proper names to remaining VTxxx control functions 2021-02-20 17:04:46 +01:00
Andreas Kling
61c5bd08af Ports: Update vttest to latest version 2021-02-20 17:04:46 +01:00
Andreas Kling
a59d96e461 LibVT: Give proper names to SD and SU 2021-02-20 17:04:46 +01:00
Andreas Kling
75084d3b3f LibVT: Move control function doc comments to Terminal.h header
Putting the little documentation comment about what each VTxxx control
function does in the header allows them to be picked up by IDE's.
2021-02-20 17:04:46 +01:00
Andreas Kling
6c7c6de52b LibVT: Give proper names to SCOSC and SCORC 2021-02-20 17:04:46 +01:00
Linus Groh
17959c1408 Base: Update path in js(1) manpage example 2021-02-20 16:05:20 +01:00
Linus Groh
1002236715 Base: Mention -n option in echo(1) manpage 2021-02-20 16:05:20 +01:00
Linus Groh
4896005fb2 Base: Tweak ddate(1) manpage tagline 2021-02-20 16:05:20 +01:00
Linus Groh
b80b6ffca0 Base: Unify synopsis format in manpages 2021-02-20 16:05:20 +01:00
Itamar
5bc82c0185 LanguageServers/Cpp: Add 'FindDeclaration' capability
The C++ LanguageServer can now find the matching declaration for
variable names, function calls, struct/class types and properties.

When clicking on one of the above with Ctrl pressed, HackStudio will
ask the language server to find a matching declaration, and navigate
to the result in the Editor. :^)
2021-02-20 15:53:37 +01:00
Itamar
d3ff82ba80 LibCpp: Store filename in ASTNodes
As part of the position information, we now also store the filename the
ASTNode belongs to.
2021-02-20 15:53:37 +01:00
Itamar
c4139be461 HackStudio: Always use relative paths when opening project files 2021-02-20 15:53:37 +01:00
Itamar
7ecb21afa7 AK: Add LexicalPath::relative_path 2021-02-20 15:53:37 +01:00
Itamar
50f887c9d5 HackStudio: Display identifiers as clickable
This extends the "navigate to include" feature to also display
identifiers as clickable when they're hovered over while left control
is pressed.
2021-02-20 15:53:37 +01:00
Andreas Kling
adb6db9774 FileManager: Set tooltips on the path breadcrumb bar
Each segment of the breadcrumb bar now shows the path it represents.
2021-02-20 14:23:41 +01:00
Andreas Kling
85271a4dd8 LibGUI: Allow setting a tooltip on BreadcrumbBar segments 2021-02-20 14:23:21 +01:00
Andreas Kling
4853576db7 LibGUI: Ignore keydown events with Alt modifier in AbstractView
AbstractView doesn't actually do anything with them anyway, but they
would get swallowed by the cursor logic and not bubble up the widget
parent chain.
2021-02-20 13:27:21 +01:00
Andreas Kling
d9212bb2f4 LibGUI: Parent FilePicker toolbar buttons to the window
This makes the shortcuts actually work since unparented actions are
considered application-global, and we disable application-global
shortcuts while a modal dialog (like FilePicker) is up. This is pretty
counter-intuitive so I think there's room for API improvement here
but let's at least make Alt+Up work in FilePicker for now. :^)
2021-02-20 13:27:21 +01:00
Andreas Kling
716dc5bec9 LibGUI: Use delegating constructors in GUI::Action 2021-02-20 13:25:04 +01:00
Andreas Kling
1bc17d2870 LibGUI: Tidy up Action constructors and factory functions a bit 2021-02-20 13:25:04 +01:00
Linus Groh
a1a625b565 LibWeb: Move ExceptionOr bindings utils into own header 2021-02-20 13:10:55 +01:00
Linus Groh
5e07c27e25 LibWeb: Implement Window.prompt() 2021-02-20 12:19:46 +01:00
Linus Groh
f10967e364 LibGUI: Set InputBox initial value to text_value string 2021-02-20 12:19:46 +01:00
Linus Groh
3583b62ad3 LibGUI: Swap order of InputBox value and parent window args
This is now consistent with the other dialog classes.
2021-02-20 12:19:46 +01:00
Andreas Kling
3b9f110161 LibWeb+LibImageDecoderClient: Reuse ImageDecoder service process
The overhead from spawning a new ImageDecoder for every decoding job is
way too large and causing other problems as well (#5421)

Let's keep the same decoder open and reuse it as long as it's working.
2021-02-20 11:37:55 +01:00
Andreas Kling
8fb9d1fd1d LibImageDecoderClient: Gracefully recover from decoder crashes :^)
If the ImageDecoder service crashes while decoding an image for us,
we now recover gracefully and simply return null.

This shields the browser from bugs in our image decoders.
2021-02-20 11:37:55 +01:00
Andreas Kling
a446cea759 LibIPC: Add Connection::send_sync_but_allow_failure()
Instead of asserting that the peer responds successfully, this API
allows for the peer to die/crash/whatever happens on the other side
while handling a synchronous request.

This will be useful when using process separation to parse untrusted
data from the web.
2021-02-20 11:37:55 +01:00
Andreas Kling
8fd86fe6c9 Base: Do a little copy-editing in Mitigations(7) 2021-02-20 11:37:55 +01:00
Luke
0304f7bbbe test-web: Create execution scope for new interpreter instead of the old one
It was accidentally creating a scope for the old interpreter
instead of the new one.

Fixes #5415
2021-02-20 10:48:34 +01:00
Andreas Kling
7e959d7430 Base: Fix a broken commit link in Mitigations(7) 2021-02-20 09:32:40 +01:00
Bui Quang Minh
ff67340d81 Userland: Support moving files between different mounted filesystems
In case we cannot use rename() because of cross-device error, copy file to the
destination then unlink the old source file.
2021-02-20 09:30:11 +01:00