Lagrange [work/v1.17]

InputWidget: Pasting a snippet

=> de7103d56c2ebfcf136ddccd3b1f13cd64887995

diff --git a/src/ui/inputwidget.c b/src/ui/inputwidget.c
index bcb81b84..b4ab23b2 100644
--- a/src/ui/inputwidget.c
+++ b/src/ui/inputwidget.c
@@ -29,15 +29,16 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
    too convoluted, with both variants intermingled. */
 
 #include "inputwidget.h"
+#include "app.h"
 #include "command.h"
-#include "paint.h"
-#include "util.h"
 #include "keys.h"
-#include "prefs.h"
 #include "lang.h"
-#include "touch.h"
+#include "paint.h"
 #include "periodic.h"
-#include "app.h"
+#include "prefs.h"
+#include "snippets.h"
+#include "touch.h"
+#include "util.h"
 
 #include 
 #include 
@@ -2365,6 +2366,15 @@ static iBool processEvent_InputWidget_(iInputWidget *d, const SDL_Event *ev) {
 //        return iTrue;
 //    }
     else if (isCommand_UserEvent(ev, "input.paste") && isEditing_InputWidget_(d)) {
+        const char *cmd = command_UserEvent(ev);
+        if (hasLabel_Command(cmd, "snippet")) {
+            pushUndo_InputWidget_(d);
+            deleteMarked_InputWidget_(d);
+            insertRange_InputWidget_(
+                d, range_String(get_Snippets(collect_String(suffix_Command(cmd, "snippet")))));
+            contentsWereChanged_InputWidget_(d);
+            return iTrue;
+        }
         paste_InputWidget_(d);
         if (argLabel_Command(command_UserEvent(ev), "enter")) {
             d->inFlags |= enterPressed_InputWidgetFlag;
Proxy Information
Original URL
gemini://git.skyjake.fi/lagrange/work%2Fv1.17/cdiff/de7103d56c2ebfcf136ddccd3b1f13cd64887995
Status Code
Success (20)
Meta
text/gemini; charset=utf-8
Capsule Response Time
25.426309 milliseconds
Gemini-to-HTML Time
0.40128 milliseconds

This content has been proxied by September (3851b).