File tree 1 file changed +14
-1
lines changed
1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change 31
31
(require 'lsp-protocol )
32
32
(require 'dash )
33
33
(require 'cl-lib )
34
+ (require 'fringe )
34
35
35
36
(defun lsp-inline-completion--params (implicit &optional identifier position )
36
37
" Returns a InlineCompletionParams instance"
@@ -69,7 +70,7 @@ InlineCompletionItem objects"
69
70
(let ((map (make-sparse-keymap )))
70
71
; ; accept
71
72
(define-key map (kbd " C-<return>" ) #'lsp-inline-completion-accept )
72
- (define-key map [mouse-1] #'lsp-inline-completion-accept )
73
+ (define-key map [mouse-1] #'kzk/ lsp-inline-completion-accept-on-click )
73
74
; ; navigate
74
75
(define-key map (kbd " C-n" ) #'lsp-inline-completion-next )
75
76
(define-key map (kbd " C-p" ) #'lsp-inline-completion-prev )
@@ -303,6 +304,18 @@ text range that was updated by the completion"
303
304
; ; hooks
304
305
(run-hook-with-args-until-failure 'lsp-inline-completion-accepted-hook text text-insert-start text-insert-end)))
305
306
307
+ (defun kzk/lsp-inline-completion-accept-on-click (event )
308
+ (interactive " e" )
309
+
310
+ (lsp-inline-completion-accept)
311
+ (-let (((col . row) (posn-actual-col-row (event-end event))))
312
+ (move-to-window-line row)
313
+ (beginning-of-line )
314
+ (forward-char (- col
315
+ (if (bound-and-true-p display-line-numbers-mode)
316
+ (+ 2 (line-number-display-width ))
317
+ 0 )))))
318
+
306
319
(defun lsp-inline-completion-cancel ()
307
320
" Close the suggestion overlay"
308
321
(interactive )
You can’t perform that action at this time.
0 commit comments