lsp
This commit is contained in:
@@ -14,11 +14,11 @@ Then you will have to put this only line in your `init.el` file:
|
|||||||
Obviously, you need to change the path to your config file.
|
Obviously, you need to change the path to your config file.
|
||||||
Now the configuration should be great and you can make any changs you want on the org file.
|
Now the configuration should be great and you can make any changs you want on the org file.
|
||||||
|
|
||||||
** Key bindings
|
## Key bindings
|
||||||
| Keybind | Action |
|
| Keybind | Action |
|
||||||
|:--------|:----------------------------------------|
|
|:--------|:----------------------------------------|
|
||||||
| `ù` | Insert the dereference arrow in C `->`. |
|
| `ù` | Insert the dereference arrow in C `->`. |
|
||||||
| `C-c r` | Reload the config file (**init.el**) |
|
| `C-c r` | Reload the config file (*init.el*) |
|
||||||
| `C-c c` | Open the org config file. |
|
| `C-c c` | Open the org config file. |
|
||||||
| `C-x é` | Split window vertically. |
|
| `C-x é` | Split window vertically. |
|
||||||
| `C-x "` | Split window horizontaly. |
|
| `C-x "` | Split window horizontaly. |
|
||||||
|
|||||||
+60
-5
@@ -44,19 +44,74 @@
|
|||||||
(company-mode 1)
|
(company-mode 1)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
** Smart parenthesis
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package smartparens
|
||||||
|
:ensure smartparens ;; install the package
|
||||||
|
:hook (prog-mode text-mode markdown-mode) ;; add `smartparens-mode` to these hooks
|
||||||
|
:config
|
||||||
|
;; load default config
|
||||||
|
(require 'smartparens-config))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** LSP
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(setq package-selected-packages '(lsp-mode yasnippet lsp-treemacs helm-lsp
|
||||||
|
projectile hydra flycheck company avy which-key helm-xref dap-mode))
|
||||||
|
|
||||||
|
(when (cl-find-if-not #'package-installed-p package-selected-packages)
|
||||||
|
(package-refresh-contents)
|
||||||
|
(mapc #'package-install package-selected-packages))
|
||||||
|
|
||||||
|
;; sample `helm' configuration use https://github.com/emacs-helm/helm/ for details
|
||||||
|
(helm-mode)
|
||||||
|
(require 'helm-xref)
|
||||||
|
(define-key global-map [remap find-file] #'helm-find-files)
|
||||||
|
(define-key global-map [remap execute-extended-command] #'helm-M-x)
|
||||||
|
(define-key global-map [remap switch-to-buffer] #'helm-mini)
|
||||||
|
|
||||||
|
(which-key-mode)
|
||||||
|
(add-hook 'c-mode-hook 'lsp)
|
||||||
|
(add-hook 'c++-mode-hook 'lsp)
|
||||||
|
|
||||||
|
(setq gc-cons-threshold (* 100 1024 1024)
|
||||||
|
read-process-output-max (* 1024 1024)
|
||||||
|
treemacs-space-between-root-nodes nil
|
||||||
|
company-idle-delay 0.0
|
||||||
|
company-minimum-prefix-length 1
|
||||||
|
lsp-idle-delay 0.1) ;; clangd is fast
|
||||||
|
|
||||||
|
(with-eval-after-load 'lsp-mode
|
||||||
|
(add-hook 'lsp-mode-hook #'lsp-enable-which-key-integration)
|
||||||
|
(require 'dap-cpptools)
|
||||||
|
(yas-global-mode))
|
||||||
|
|
||||||
|
#+end_src
|
||||||
* Key-binds
|
* Key-binds
|
||||||
** Dereference arrow
|
** C
|
||||||
|
*** Dereference arrow
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(defun print-arrow ()
|
(defun print-arrow ()
|
||||||
(interactive)
|
(interactive)
|
||||||
|
(if (eq major-mode 'c-mode)
|
||||||
(with-current-buffer (buffer-name);
|
(with-current-buffer (buffer-name);
|
||||||
(insert "->")))
|
(insert "->"))
|
||||||
|
(with-current-buffer (buffer-name);
|
||||||
(keymap-global-set "ù" 'print-arrow)
|
(insert "ù"))
|
||||||
|
))
|
||||||
|
(keymap-global-set "ù" 'print-arrow)
|
||||||
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
*** Jump to def
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(defun go-to-definition ()
|
||||||
|
if (eq major-mode 'c-mode)
|
||||||
|
('ff-find-other-file))
|
||||||
|
(keymap-local-set "C-<return>" 'go-to-definition)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** Reload config
|
** Reload config
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
|||||||
Reference in New Issue
Block a user