 
 (use-package flymake-popon
   :after flymake
+  :disabled
   :init
   (setq flymake-popon-method 'popon)
   (add-hook 'flymake-mode-hook #'flymake-popon-mode)


(use-package flymake-diagnostic-at-point
  :after flymake
  :disabled
  :init
  (setq flymake-diagnostic-at-point-display-diagnostic-function #'flymake-diagnostic-at-point-display-popup)
  (add-hook 'flymake-mode-hook #'flymake-diagnostic-at-point-mode))

(use-package flymake-posframe
  :after flymake
  :disabled
  :init
  (add-hook 'flymake-mode-hook #'flymake-posframe-mode)
  )

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; semantic ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; (setq semantic-default-submodes

  )

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; eglot ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define-prefix-command 'harmsway-eglot-keymap)
(global-set-key "\C-c'" 'harmsway-eglot-keymap)
(defun harmsway-customize-eglot (&rest _)
  "Customize `eglot'."
  (interactive)
  (when eglot--managed-mode
    (setq-local company-smart-backend 'company-capf)
    (setq-local company-backends
                (list (delq 'company-capf (car company-backends))))
    (remove-hook 'completion-at-point-functions #'eglot-completion-at-point t)
    ))
(advice-add #'eglot--managed-mode :after #'harmsway-customize-eglot)

(use-package eglot
             :bind ((:map harmsway-eglot-keymap
                          ("'" . eglot)
                          ("a" . eglot-code-actions)
                          ("r" . eglot-rename)
                          ))
  :commands eglot
  :init
  (setq eglot-stay-out-of '(company-backends))
  )

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; lsp-mode ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
