]> git.dkaiser.de - config/emacs.git/commitdiff
Add lsp-mode and company-mode
authorDominik Kaiser <dkaisr@proton.me>
Tue, 11 Feb 2025 16:03:54 +0000 (17:03 +0100)
committerDominik Kaiser <dkaisr@proton.me>
Tue, 11 Feb 2025 16:03:54 +0000 (17:03 +0100)
README.org
init.el

index 688cd47fc91c25b4901b38d5fb216c2bc336f68f..74bc460e4688fce4167bf4f9987025a5ee7f7f06 100644 (file)
@@ -129,6 +129,12 @@ These settings ensure that block highlights aren't visible when collapsed.
   (use-package counsel-projectile
     :config (counsel-projectile-mode))
 #+end_src
+** Direnv
+#+begin_src elisp
+  (use-package direnv
+    :config
+    (direnv-mode))
+#+end_src
 * Version Control
 ** Magit
 #+begin_src lisp
@@ -137,6 +143,30 @@ These settings ensure that block highlights aren't visible when collapsed.
     :custom
     (magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1))
 #+end_src
+* Programming Language Support
+** LSP
+#+begin_src elisp
+  (use-package lsp-mode
+    :init
+    (setq lsp-keymap-prefix "C-c l")
+    :config
+    (lsp-enable-which-key-integration t)
+    :commands lsp)
+#+end_src
+** Company Mode
+#+begin_src elisp
+  (use-package company
+    :after lsp-mode
+    :hook (lsp-mode . company-mode)
+    :bind
+    (:map company-active-map
+          ("<tab>" . company-complete-selection))
+    (:map lsp-mode-map
+          ("<tab>" . company-indent-or-complete-common))
+    :custom
+    (company-minimum-prefix-lenght 1)
+    (company-idle-delay 0.0))
+#+end_src
 * 42
 ** Header
 #+begin_src elisp
diff --git a/init.el b/init.el
index e224bb0ead6c83403c230c5472b80c104d74bada..fad302a265804123ef85dc4346eedc8536ca4cf7 100644 (file)
--- a/init.el
+++ b/init.el
 (use-package counsel-projectile
   :config (counsel-projectile-mode))
 
+(use-package direnv
+  :config
+  (direnv-mode))
+
 (use-package magit
   :commands (magit-status magit-get-current-branch)
   :custom
   (magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1))
 
+(use-package lsp-mode
+  :init
+  (setq lsp-keymap-prefix "C-c l")
+  :config
+  (lsp-enable-which-key-integration t)
+  :commands lsp)
+
+(use-package company
+  :after lsp-mode
+  :hook (lsp-mode . company-mode)
+  :bind
+  (:map company-active-map
+        ("<tab>" . company-complete-selection))
+  (:map lsp-mode-map
+        ("<tab>" . company-indent-or-complete-common))
+  :custom
+  (company-minimum-prefix-lenght 1)
+  (company-idle-delay 0.0))
+
 (load "~/.config/emacs/42header.el")