Tags: patch * Problem Oftentimes when completing a value a user wants a small part of a completion but not the entire thing. This happens frequently when iterating on shell commands or on similar lines of code. completion-preview can help with this by quickly suggesting a sensible completion pulled from any completion-at-point function. The problem is that accepting a full completion is often inefficient because one might only want the first part of that completion. This leads to a lot of deletions after the fact. * Solution Allow inserting of partial completions when using completion-preview. For this I've added two new commands completion-preview-insert-word and completion-preview-insert-sexp which will insert the next word or sexp in the completion. For consistency with completion-preview-insert I've refactored the code so that these three commands share a common code path. * Notes - I've added new tests for this and ensured that previous ones continue to pass. - I've signed the copyright assignments and have contributed to emacs previously. * Info In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.42, cairo version 1.18.0) Repository revision: 988203fe980e3c80f736ad0b6aae9f288ebfa0f1 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101013 System Description: NixOS 24.11 (Vicuna) Configured using: 'configure --prefix=/nix/store/3riplzxicrgaff4jm49wa4vvvrd6yd1l-emacs-git-20240615.0 --disable-build-details --with-modules --with-x-toolkit=gtk3 --with-cairo --with-xft --with-compress-install --with-toolkit-scroll-bars --with-native-compilation --without-imagemagick --with-mailutils --without-small-ja-dic --with-tree-sitter --with-xinput2 --with-xwidgets --with-dbus --with-selinux'