Hide childframe when company pops up
An attempt to fix the issue mentioned in #11
This commit is contained in:
		
							parent
							
								
									c97fe860fa
								
							
						
					
					
						commit
						5dbd37009e
					
				
							
								
								
									
										29
									
								
								eldoc-box.el
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								eldoc-box.el
									
									
									
									
									
								
							| @ -377,6 +377,35 @@ If (point) != last point, cleanup frame.") | |||||||
|     (setq eldoc-box-eglot-help-at-point-last-point (point)) |     (setq eldoc-box-eglot-help-at-point-last-point (point)) | ||||||
|     (run-with-timer 0.1 nil #'eldoc-box--eglot-help-at-point-cleanup))) |     (run-with-timer 0.1 nil #'eldoc-box--eglot-help-at-point-cleanup))) | ||||||
| 
 | 
 | ||||||
|  | ;;;; Comany compatibility | ||||||
|  | ;; | ||||||
|  | ;; Hide childframe when company pops up | ||||||
|  | 
 | ||||||
|  | (defvar eldoc-box--chilframe-visible-before-company-popup nil | ||||||
|  |   "Set to t if company kills childframe for its popup.") | ||||||
|  | 
 | ||||||
|  | (defun eldoc-box--company-on-hook (&rest _) | ||||||
|  |   "Hide at-point doc when company popup show up." | ||||||
|  |   (eldoc-box-hover-mode -1) | ||||||
|  |   (when eldoc-box-hover-at-point-mode | ||||||
|  |     (eldoc-box-quit-frame))) | ||||||
|  | 
 | ||||||
|  | (defun eldoc-box--company-cancel-hook (&rest _) | ||||||
|  |   "Show doc when company canceled completion." | ||||||
|  |   (eldoc-box-hover-mode) | ||||||
|  |   (when (and eldoc-box-hover-at-point-mode | ||||||
|  |              eldoc-box--chilframe-visible-before-company-popup) | ||||||
|  |     (eldoc-box-show-frame))) | ||||||
|  | 
 | ||||||
|  | (defun eldoc-box--company-finish-hook (&rest _) | ||||||
|  |   "Show doc when company finished completion." | ||||||
|  |   (eldoc-box--company-cancel-hook)) | ||||||
|  | 
 | ||||||
|  | (with-eval-after-load 'company | ||||||
|  |   (add-hook 'company-completion-started-hook #'eldoc-box--company-on-hook t) | ||||||
|  |   (add-hook 'company-completion-cancelled-hook #'eldoc-box--company-cancel-hook t) | ||||||
|  |   (add-hook 'company-completion-finished-hook #'eldoc-box--company-finish-hook t)) | ||||||
|  | 
 | ||||||
| (provide 'eldoc-box) | (provide 'eldoc-box) | ||||||
| 
 | 
 | ||||||
| ;;; eldoc-box.el ends here | ;;; eldoc-box.el ends here | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Yuan Fu
						Yuan Fu