* gptel Evil bindings for [[https://github.com/karthink/gptel][gptel]]. =RET= submission follows =evil-collection-repl-submit-state=: in the submit state, =RET= sends; in the other state (insert when submit is normal, normal when submit is insert), =RET= inserts a newline. =S-RET= behavior is controlled by two customs. ** Key bindings *** gptel-mode-map Upstream only binds =C-c RET= to =gptel-send=; =RET= itself is unchanged on the buffer's major mode. Evil-collection layers state-aware =RET= / =S-RET= behavior on top. | Command | Original | Evil | |--------------+-----------+------------------------------------------------------------------| | =gptel-send= | =C-c RET= | =C-c RET= | | =gptel-send= | n/a | =RET=, == in submit state | | =newline= | n/a | =S-RET=, =S-= in submit state; all four in newline state | | =gptel-menu= | n/a | =S-RET=, == in normal / visual (default) | | =gptel-send= | =C-c RET= | =S-RET=, == in normal / visual (when menu custom nil) | *** gptel-context-buffer-mode-map (normal state) | Command | Original | Evil | |-------------------------------+-----------+-----------| | =gptel-context-next= | =n= | =j= | | =gptel-context-previous= | =p= | =k= | | =gptel-context-flag-deletion= | =d= | =d= | | =gptel-context-quit= | =C-c C-k= | =q=, =ZQ= | | =gptel-context-confirm= | =C-c C-c= | =ZZ= | | =gptel-context-visit= | =RET= | =RET= | ** Customization | Variable | Default | Purpose | |------------------------------------------------+---------+-----------------------------------------------------------------------------| | =evil-collection-gptel-want-shift-ret-to-send= | =t= | Bind =S-RET= in normal / visual to =gptel-send=. | | =evil-collection-gptel-want-shift-ret-menu= | =t= | Bind =S-RET= in normal / visual to =gptel-menu=. Wins over the send custom. | ** Integrations =gptel-context=: bindings for the context buffer (above) are wired via =with-eval-after-load 'gptel-context=.