diff options
| author | JackJ30 <jackqjamison@proton.me> | 2024-09-10 21:32:18 -0400 |
|---|---|---|
| committer | JackJ30 <jackqjamison@proton.me> | 2024-09-10 21:32:18 -0400 |
| commit | 0ddd38e5fa62949d1161d06c7c70ee9ff135ebdb (patch) | |
| tree | 0ddd091bbed1a1c177101799bc4bea39b45224fa /.config/emacs/Emacs.org | |
| parent | 96d42cb1e0c3e8d572336c950e9aeaaf0a0e948e (diff) | |
emacs lsp and hyprland
Diffstat (limited to '.config/emacs/Emacs.org')
| -rw-r--r-- | .config/emacs/Emacs.org | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/.config/emacs/Emacs.org b/.config/emacs/Emacs.org index b372a51..04d1965 100644 --- a/.config/emacs/Emacs.org +++ b/.config/emacs/Emacs.org @@ -306,6 +306,7 @@ :config (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l) aw-scope 'frame)) + (elpaca-wait) #+end_src @@ -355,3 +356,128 @@ best git frontend ever (global-set-key (kbd "M-n") #'move-text-down) #+end_src + +* Development + +#+begin_src emacs-lisp + (use-package lsp-mode + :init + (setq lsp-keymap-prefix "C-c l" + lsp-headerline-breadcrumb-enable nil + lsp-headerline-breadcrumb-icons-enable nil + lsp-keep-workspace-alive nil + lsp-enable-snippet nil + lsp-lens-enable nil) + :hook (;; replace XXX-mode with concrete major-mode(e. g. python-mode) + (c-mode . lsp) + (c++-mode . lsp) + (python-mode . lsp-deferred) + ;; if you want which-key integration + (lsp-mode . lsp-enable-which-key-integration)) + :commands lsp) + + + (use-package consult-lsp + :after lsp) + + (defun my-c-mode-common-hook () + ;; my customizations for all of c-mode, c++-mode, objc-mode, java-mode + (c-set-offset 'substatement-open 0) + ;; other customizations can go here + + (setq c++-tab-always-indent t) + (setq c-basic-offset 4) ;; Default is 2 + (setq c-indent-level 4) ;; Default is 2 + + (setq tab-stop-list '(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60)) + (setq tab-width 4) + (setq indent-tabs-mode t) ; use spaces only if nil + ) + + (add-hook 'c-mode-common-hook 'my-c-mode-common-hook) + + (use-package lsp-ui + :after lsp + :diminish lsp-lens-mode + :config + (setq lsp-ui-sideline-update-mode 'point) + (setq lsp-ui-sideline-show-diagnostics t) + (setq lsp-ui-sideline-ignore-duplicate t)) + + (use-package hydra) + + (use-package lsp-treemacs + :ensure t + :commands lsp-treemacs-errors-list) + + ;; company + (use-package company + :ensure t + :diminish + :config + (setq company-show-numbers t + company-minimum-prefix-length 1 + company-idle-delay 0 + company-backends + '((company-files ; files & directory + company-keywords ; keywords + company-capf ; what is this? + company-yasnippet) + (company-abbrev company-dabbrev))) + (global-company-mode +1)) + + (use-package clang-format) + (use-package clang-format+) + + + (use-package company-box + :ensure t + :diminish + :after company + :hook (company-mode . company-box-mode)) + + ;; flycheck + (use-package flycheck + :diminish flycheck-mode + :config + (setq flycheck-error-message-buffer " *Flycheck error messages*") + (setq-default flycheck-emacs-lisp-load-path 'inherit) + (global-flycheck-mode 1)) + + (use-package flycheck-pos-tip + :ensure t + :after flycheck + :config + (flycheck-pos-tip-mode)) + + (use-package ccls + :ensure t + :config + :hook ((c-mode c++-mode objc-mode cuda-mode) . + (lambda () (require 'ccls) (lsp))) + (setq ccls-executable "/usr/local/bin/ccls") + (setq ccls-initialization-options + '(:index (:comments 2) :completion (:detailedLabel t)))) + + (use-package srefactor + :ensure t + :config + (semantic-mode 1) + (define-key c-mode-map (kbd "M-RET") 'srefactor-refactor-at-point) + (define-key c++-mode-map (kbd "M-RET") 'srefactor-refactor-at-point)) + + +#+end_src + +** multiple cursors + +#+begin_src emacs-lisp + (use-package multiple-cursors + :bind (:map global-map + ("C->" . 'mc/mark-next-like-this) + ("C-<" . 'mc/mark-previous-like-this) + ("C-c C->" . 'mc/mark-all-like-this) + :map mc/keymap + ("<return>" . nil))) +#+end_src + |
