summaryrefslogtreecommitdiff
path: root/.config/emacs/Emacs.org
diff options
context:
space:
mode:
authorJackJ30 <jackqjamison@proton.me>2024-09-10 21:32:18 -0400
committerJackJ30 <jackqjamison@proton.me>2024-09-10 21:32:18 -0400
commit0ddd38e5fa62949d1161d06c7c70ee9ff135ebdb (patch)
tree0ddd091bbed1a1c177101799bc4bea39b45224fa /.config/emacs/Emacs.org
parent96d42cb1e0c3e8d572336c950e9aeaaf0a0e948e (diff)
emacs lsp and hyprland
Diffstat (limited to '.config/emacs/Emacs.org')
-rw-r--r--.config/emacs/Emacs.org126
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
+