Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;;;; COMPANY MODE
- (use-package company
- ;; :bind
- ;; (:map company-active-map
- ;; ([tab] . smarter-yas-expand-next-field-complete)
- ;; ;; ("TAB" . smarter-yas-expand-next-field-complete)
- ;; )
- :config
- (global-company-mode t)
- (setq
- ;; allow to search same keyword everywhere, same or difference major mode, or buffer
- company-dabbrev-code-other-buffers 'all
- ;; allow to complete in comment
- company-dabbrev-code-everywhere t
- company-dabbrev-code-ignore-case t
- )
- (setq company-backends '(
- company-lsp
- company-elisp
- company-css
- ;; company-restclient
- ;; company-php
- company-semantic
- company-files
- company-keywords
- company-css-cache
- company-capf
- ;;;; gtags might not use for now or later
- ;; company-gtags ;; > etags
- ;; company-yasnippet
- ;;;; Company-web-html must below yasnippet
- ;; company-web-html
- ;; company-ispell
- ;; esh-autosuggest
- ;; company-dabbrev must stay on the bottom or no completion
- ;; company-dabbrev is the backend that will complete any word you have
- company-dabbrev-code
- company-dabbrev
- ))
- (setq company-tooltip-limit 20 ; bigger popup window
- company-idle-delay 0.4 ; decrease delay before autocompletion popup shows
- company-minimum-prefix-length 1
- company-tooltip-flip-when-above t
- company-selection-wrap-around t
- company-require-match nil
- company-show-numbers t
- company-auto-complete-chars nil ; Stop Company when you press . <SPC> ... and only Enter is valid
- company-begin-commands '(self-insert-command) ; start autocompletion only after typing
- )
- ;; https://emacs.stackexchange.com/questions/15246/how-add-company-dabbrev-to-the-company-completion-popup
- ;; (add-to-list 'company-backends '(company-capf :with company-dabbrev))
- )
- ;; Fuzzy Search
- (use-package company-flx
- :hook (company-mode . company-flx-mode)
- :defer t
- :config
- (company-flx-mode +1))
- ;; Rank candidates the next time you have to choose
- (use-package company-statistics
- :hook (company-mode . company-statistics-mode)
- :config
- (progn
- (setq company-statistics-size 128
- company-statistics-file (concat user-emacs-directory ".appdata/.company-statistics-cache.el"))))
- ;; (use-package company-box
- ;; :defer t
- ;; :hook (company-mode . company-box-mode))
- ;; Use tab key to cycle through suggestions.
- ;; ('tng' means 'tab and go')
- ;; NOTE: using this might be hard because you cannot use SPC and when SPC is press, it will insert line instead of complete
- (company-tng-configure-default)
- (let ((keymap company-active-map))
- (define-key keymap [return] 'company-complete-selection)
- (define-key keymap (kbd "RET") 'company-complete-selection)
- )
- ;;;;;;;; LSP MODE
- (use-package yasnippet :config (yas-global-mode))
- (use-package lsp-mode :hook ((lsp-mode . lsp-enable-which-key-integration))
- :config (setq lsp-completion-enable-additional-text-edit nil))
- (use-package lsp-ui)
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;; LOMBOK ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; (setq lombok-dir (concat user-init-file ".d/.appdata/lombok.jar"))
- ;; (defun download-lombok-file()
- ;; (setq url "https://projectlombok.org/downloads/lombok.jar")
- ;; (if (not (file-exists-p lombok-dir))
- ;; (url-copy-file url lombok-dir)))
- ;; (download-lombok-file)
- (use-package lsp-java
- :config
- (add-hook 'java-mode-hook 'lsp)
- (setq
- lsp-java-server-install-dir "~/.emacs.d/.appdata/.lsp-java-jtd"
- lsp-java-format-comments-enabled nil
- lsp-java-references-code-lens-enabled t
- lsp-java-implementations-code-lens-enabled t
- lsp-java-save-actions-organize-imports t
- lsp-java-max-concurrent-builds 2
- ;; add args to emacs when launch the java file
- ;; lsp-java-vmargs (list
- ;; (concat "-javaagent:" lombok-dir )
- ;; )
- ;;
- ;; ;; "-agentpath:/opt/jrebel/lib/libjrebel64.so" ;; this one is add to launch.json file not here
- ;; Debug Server
- ;; lsp-java-trace-server t
- ;; lsp-java-progress-report t
- )
- )
- (use-package dap-mode)
- (use-package dap-mode
- :after
- lsp-mode
- :config
- (dap-auto-configure-mode)
- :bind
- (
- ("<f4>" . java-run)
- ("<f5>" . dap-step-in)
- ("<f6>" . dap-next)
- ("<f7>" . dap-step-out)
- ("<f8>" . dap-continue)
- ("<f9>" . dap-breakpoint-toggle)
- ("C-c l c" . dap-ui-repl)
- ;; (:map company-mode-map ("M-/" . java-help))
- ;; ([remap company-complete] . java-complete-me)
- )
- )
- (use-package dap-java :ensure nil)
- (require 'lsp-java-boot)
- ;; to enable the lenses
- (add-hook 'lsp-mode-hook #'lsp-lens-mode)
- (add-hook 'java-mode-hook #'lsp-java-boot-lens-mode)
Advertisement
Add Comment
Please, Sign In to add comment