 
 (extend-path (concat (getenv "HOME") "/go/bin"))
 
-(with-eval-after-load 'lsp-mode
-  (require 'lsp-go))
-(add-hook 'go-mode-hook #'lsp-go-enable)
+(add-hook 'go-mode-hook #'lsp)
 (add-hook 'before-save-hook #'gofmt-before-save)
+
+;;;;;;;;;;
+;; Java ;;
+;;;;;;;;;;
+
+(require 'lsp-java)
+(add-hook 'java-mode-hook #'lsp)
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; C/C++ setup using cquery ;;

          (unless (package-installed-p pkg) (package-install pkg)))
        '(
          ;; Non-default language support
          cmake-mode rust-mode toml-mode lua-mode love-minor-mode
                     futhark-mode
                     ;; General emacs frameworks
                     company dash flycheck
                     ;; Language server protocol support
                     lsp-mode company-lsp
                     ;; Python
                     elpy
                     ;; Go
                     lsp-go go-mode go-eldoc
                     ;; LISP
                     paredit pkg-info slime
                     ;; Lua
                     flymake-lua company-lua
                     ;; Rugst
                     cargo lsp-rust
                     ;; C/C++
                     lsp-clangd cquery
		     ;; Various quality of life plugins
		     highlight-symbol highlight-parentheses
		     eziam-theme dracula-theme use-package)))

 '(delete-selection-mode nil)
 '(package-selected-packages
   (quote
    (lsp-java use-package dracula-theme dracula-them projectile olivetti go-eldoc go-mode toml-mode slime paredit love-minor-mode highlight-symbol highlight-parentheses futhark-mode flymake-lua flycheck eziam-theme elpy cquery company-lua cmake-mode cargo))))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
