summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-20LibGUI: Add Select all action to TextEditorangel
Previously, TextEditor processed the Select all command directly on the keydown event handler. For this reason, WindowManager would not process it as an action for the focused control and an action with the same keyboard shortcut from the parent could override the TextEditor's one even when it is focused. For instance, when pressing Ctrl+A on the FileManager's path bar, all files were selected instead, which is not the expected behavior. Now the Select all command is an actual action on TextEditor, so that WindowManager can process it correctly before any other actions. I also added an icon for it!
2020-04-20LibGUI: Fix unpleasant selection behavior when dragging far to the leftAndreas Kling
If you select some text and drag the cursor outside the widget on the left hand side, we would previously suddenly snap the selection cursor to the end of the line instead of keeping it at the start of the line as you would expect. This patch fixes that. :^)
2020-04-20LibGUI: Keep scrolling while drag-selecting outside a TextEditorAndreas Kling
If you start selecting text and move the cursor outside the TextEditor widget area without letting go of the mouse button, we will now keep scrolling a little bit every 100ms.
2020-04-20LibJS: Remove default parameter from assertThrowsError() for nowAndreas Kling
We don't support these yet, and it broke all the tests. :^)
2020-04-20LibLine: Autocomplete already-complete suggestionsAnotherTest
Suggesting whatever the user has input is not quite sane :^)
2020-04-20LibLine: Handle ctrl-{left,right}_arrow by jumping between wordsAnotherTest
Words are delimited by spaces. Perhaps this should be a configurable behaviour?
2020-04-20LibVT: Handle ctrl+arrow keysAnotherTest
Prior to this commit, we would treat them the same.
2020-04-20Build: Use the GCC port if building on "SerenityOS" :^)Andreas Kling
2020-04-20LibJS: Add JSDoc to test-common.jsLinus Groh
2020-04-20LibLine: Properly handle ^C and do not return after being interruptedAnotherTest
this commit fixes a...surprisingly long-standing ^C bug, where it would return the buffer instead of voiding it and starting over :^)
2020-04-20LibLine: Implement searching via up/down arrow keysAnotherTest
2020-04-20LibLine: Implement ^R searchingAnotherTest
This commit adds searching in the editor history with ^R. It does so by instantiating...another Line::Editor inside the current Line::Editor :^)
2020-04-20LibJS: Add Array.prototype.reverseKesse Jones
2020-04-20Debugger: Add source-level operationsItamar
- Print current source location, if available - Add a breakpoint at a source location - "sl" command - step to the next line in source
2020-04-20LibDebug: Parse line number information from DWARF formatItamar
DWARF line number information, if generated, is stored in the .debug_line section of an object file. The information is encoded as instructions for a VM that is defined in the DWARF specification. By executing these instructions, we can extract the encoded line number information.
2020-04-20LibELF: Make ELF::Loader RefCountedItamar
2020-04-20AK: Allow having ref counted pointers to const objectItamar
We allow the ref-counting parts of an object to be mutated even when the object itself is a const. An important detail is that we allow invoking 'will_be_destroyed' and 'one_ref_left', which are not required to be const qualified, on const objects.
2020-04-20Solitaire: Sharpen 16x16 iconAndreas Kling
2020-04-20Solitaire: Use a pre-scaled buggie image for the back of cardsAndreas Kling
Instead of scaling on the fly, which is not super aesthetic yet.
2020-04-20FileManager+LibGUI: Allow drop on entire DirectoryViewangel
Previously, drag and drop would only work when dragging between node items on a DirectoryView. This commit makes it possible to drag files to the empty area of the DirectoryView and copy files more easily between windows.
2020-04-20DirectoryView: Don't push same path twice to historyangel
When opening a path, check if it's the current one before pushing it twice to the path history.
2020-04-20LibJS: Add Array.prototype.indexOfKesse Jones
2020-04-20LibJS: Add tests for String.prototype.repeat()Linus Groh
2020-04-20LibJS: Throw RangeError in String.prototype.repeat() if count is invalidLinus Groh
2020-04-20LibJS: Add assertThrowsError() test functionLinus Groh
2020-04-19WindowServer: Fix AppletManager buildAndreas Kling
2020-04-19LibCore: Add StandardPaths thing to retrieve various standard locationsAndreas Kling
Fixes #1853.
2020-04-19WindowServer: Don't crash when encountering unsorted menu appletsAndreas Kling
Fixes #1862.
2020-04-19Userland: Remove some little temporary test programsAndreas Kling
These were never meant to stick around.
2020-04-19Shell: Correct suggestion of directoriesAnotherTest
2020-04-19LibLine: Clear trailing trivia when cycling if the suggestion has anyAnotherTest
2020-04-19PaintBrush: Fix crash with flood fill. (#1881)Nicolas Van Bossuyt
Fixed a crash occurring when initiating a flood fill out of the bitmap rectangle.
2020-04-19Base: Add Demo applications to system menuLinus Groh
2020-04-19Kernel: rmdir("/") should fail instead of assertingAndreas Kling
We can't assume there's always a parent custody -- when we open "/" there isn't gonna be one! Fixes #1858.
2020-04-19test_io: Unbreak symlink test after sys$readlink() '\0' changesAndreas Kling
2020-04-19LibGfx: Let the PNG decoder fail if the header is missing or too shortAndreas Kling
2020-04-19LibJS: Do not assume that a call frame exists in {get,set}_variableAnotherTest
2020-04-19LibJS: Allow passing "js" flags to run-testsAndreas Kling
This allows us to run "run-tests -g" for testing with GC after every heap allocation. This may flush out bugs that would otherwise not occur if GC'ing only occasionally.
2020-04-19LibJS: Add MarkedValueList and use it for argument passingAndreas Kling
A MarkedValueList is basically a Vector<JS::Value> that registers with the Heap and makes sure that the stored values don't get GC'd. Before this change, we were unsafely keeping Vector<JS::Value> in some places, which is out-of-reach for the live reference finding logic since Vector puts its elements on the heap by default. We now pass all the JavaScript tests even when running with "js -g", which does a GC on every heap allocation.
2020-04-19LibLine: Allow suggestions to have trailing trivia stringsAnotherTest
These strings would be applied when inserted into the buffer, but are not shown as part of the suggestion. This commit also patches up Userland/js and Shell to use this functionality
2020-04-19LibLine: Complete only common prefixes, and tweak suggestion logicAnotherTest
On the first tab, only complete the token without suggesting extra stuff, and on further tabs, show suggestions. Except in one case where the completion is all in the buffer, then we show the suggestions, but do no completion.
2020-04-19FileManager: Replicate permissions on directory copy (#1437)angel
When copying files, the original file permissions are applied to the copy. However, this was not done with directories. This should do it.
2020-04-19Shell: Don't return early if command is in PATH and a directoryLinus Groh
2020-04-19FileManager: Fix recursive copy on dragangel
When a drag operation is accepted, we don't check whether the source nodes contain the destination directory. This could trigger an unwanted recursive copy.
2020-04-19Shell: Explicitly check if command is a directoryLinus Groh
This is a bit nicer than getting "Exec format error" after trying to execvp() a directory.
2020-04-19FileManager: Ignore empty selections on tree viewangel
If the selection is empty, the model index will be invalid and the file system model will return the root directory path by default. This causes the file manager to jump to the root directory when the currently selected item on the tree view is deselected.
2020-04-19Base: Update js(1) manpageLinus Groh
- Include all options - Update example REPL session to match current output - Mention REPL's help() - Add test mode section
2020-04-19LibJS: Fix expectations in the function-TypeError.js testAndreas Kling
They now match the new, more verbose error messages.
2020-04-19LibJS: CallExpression shouldn't throw TypeError or non-constructor callAndreas Kling
This unbreaks the entire test suite. :^)
2020-04-19Browser: Make removal of bookmark persistent (#1865)Vojtech Moravec
Json model wasn't stored after bookmark removal. Store the model if remove() was successful.