summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibGUI/GMLAutocompleteProvider.cpp
AgeCommit message (Collapse)Author
2021-11-03LibGUI: ScrollableContainerWidget GML autocompleteFrHun
2021-11-02LibGUI: Keep autocomplete open after applying 'layout: 'thislooksfun
2021-11-02LibGUI: Remove unnecessary bracesthislooksfun
2021-11-02LibGUI: Abstract out even more duplicated logicthislooksfun
2021-11-02LibGUI: Abstract out and name repeated logicthislooksfun
2021-11-02LibGUI: Suggest classes when typing identifiersthislooksfun
We now suggest classes even if the line does not start with an @. After all, we now have fuzzy matching, so why *shouldn't* "color" match @GUI::ColorInput as well as background_color?
2021-11-02LibGUI: Abstract out widget and layout class matchingthislooksfun
2021-11-02LibGUI: Don't suggest widgets inside layoutsthislooksfun
Having a widget inside a layout is meaningless, so why suggest them in the first place?
2021-11-02LibGUI: Abstract out some duplicated logic for suggesting propertiesthislooksfun
A lot of the code in this area is duplicated, which is not great. In fact this also fixes a bug where suggested partially matched props would include read-only properties, since that check had only been added to one of the two loops.
2021-11-02LibGUI: Use fuzzy matching for GML suggestionsthislooksfun
2021-11-02LibGUI: Add myself to the copyright headerthislooksfun
2021-11-02LibGUI: Suggest 'layout' even before the user starts typingthislooksfun
2021-11-02LibGUI: Remove unused checkthislooksfun
This check was removed as it will now never trigger. The completion has the suffix ': ' on it, and the key does not. Therefore if the user has not yet typed the ':', it will not be equal, and after they do the check on line 167 will fail so the entry won't be in the list to begin with.
2021-11-02LibGUI: Automatically append ': ' after autocompleted GML propertiesthislooksfun
2021-11-02LibGUI: Show autocomplete for Layout propertiesthislooksfun
2021-11-02LibGUI: Match layout classes even after you start typingthislooksfun
The previous commit fixed the issue with layout classes not being suggested at all, but there was still another issue. Once you started typing the class name a different suggester would take over and only show widgets. This commit makes it so it still only suggests layouts in that situation. This, combined with the last commit, makes autocompleting layouts way more discoverable and user-friendly. :^)
2021-11-02LibGUI: Correctly suggest layout classesthislooksfun
Previously when the GMLAutocompleteProvider was invoked just after the 'layout:' tag it would suggest nothing. This is because Layouts do not inherit from Widget, so the two checks would always eliminate every suggestion from the list. This patch makes it always suggest any (registered) object that inherits from GUI::Layout. This should make layouts more discoverable and easier to quickly use.
2021-11-02LibGUI: Remove unnecessary curly bracesthislooksfun
Not needed for the commit, but I always try to leave the code nicer than I found it. :)
2021-11-02LibCore+LibGUI: Make ObjectClassRegistration::construct() nullablethislooksfun
This lays the groundwork for allowing the registration of abstract core objects, which will be needed for improved GML autocomplete.
2021-07-29LibGUI+Playground: Move GMLAutocompleteProvider to LibGUIConor Byrne