diff --git a/Configuration.org b/Configuration.org index 7fdeff96c7d0754424a9b46c848213d22946b9b4..fa95d4a425085189a13da152baf310c6d0e1d159 100644 --- a/Configuration.org +++ b/Configuration.org @@ -147,7 +147,7 @@ Ajout du mode ~gnuplot~, en particulier pour les interactions avec :config (add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))) (add-hook 'org-babel-after-execute-hook - '(lambda () (org-redisplay-inline-images))) + '(lambda () (org-redisplay-inline-images))) (add-to-list 'org-latex-packages-alist '("" "listingsutf8")) (add-to-list 'org-latex-packages-alist '("" "minted"))) @@ -197,7 +197,8 @@ Ajout du mode ~gnuplot~, en particulier pour les interactions avec (define-key org-mode-map (kbd "C-c >") (lambda () (interactive (org-time-stamp-inactive)))) - (use-package htmlize :ensure t) + (use-package htmlize + :ensure t) (setq org-ditaa-jar-path "/usr/share/ditaa/ditaa.jar") #+END_SRC @@ -265,6 +266,7 @@ Interface de complétion (setq ivy-wrap t)) (use-package ivy-rich + :ensure t :hook (ivy-mode . ivy-rich-mode) :custom (ivy-rich-path-style 'abbrev) :config @@ -294,6 +296,7 @@ classiques. Deux différences notables. #+BEGIN_SRC emacs-lisp (use-package swiper :ensure t + :after ivy :bind (("C-s" . swiper-isearch) ("C-r" . swiper-isearch) ("C-c C-r" . ivy-resume) @@ -301,7 +304,6 @@ classiques. Deux différences notables. ("C-x C-f" . counsel-find-file)) :config (progn - (ivy-mode 1) (setq ivy-use-virtual-buffers t) (setq ivy-display-style 'fancy) (setq ivy-use-selectable-prompt t) @@ -381,66 +383,65 @@ On rappelle quelques raccourcis utiles : | ~C-l~ | Débute l'interaction ~hydra~ | | ~C-<mouse3>~ | Menu contextuel | #+BEGIN_SRC emacs-lisp - (unless (package-installed-p 'use-package) - (package-refresh-contents) - (package-install 'use-package)) - (eval-when-compile - (require 'use-package)) - (require 'bind-key) - (setq use-package-always-ensure t) - - ;; config basique de lsp - (use-package lsp-mode - :init - (setq lsp-keymap-prefix "C-c l") - ;; on vire les recommandations de codage : un peu lourd - (setq lsp-ui-sideline-show-code-actions nil) - (setq lsp-modeline-code-actions-enable nil) - ;; on vire l'affichage de la doc sous le curseur : trop invasif - (setq lsp-ui-doc-show-with-cursor nil) - ;; on vire les ajouts de code automatiques à la complétion : insupportable - (setq lsp-completion-enable-additional-text-edit nil) - ;; barre de localisation - (setq lsp-headerline-breadcrumb-enable t) - :hook ((c++-mode . lsp) - (lsp-mode . lsp-enable-which-key-integration)) - :custom-face - (lsp-face-highlight-textual ((t (:inherit highlight :underline t)))) - :commands lsp) - - ;; on utilise lsp-ui et ivy - (use-package lsp-ui :commands lsp-ui-mode) - (use-package lsp-ivy :commands lsp-ivy-workspace-symbol) - - (use-package treemacs - :ensure t) - - (use-package lsp-treemacs :commands lsp-treemacs-errors-list) - - ;; autres paquets de base - (setq package-selected-packages '(yasnippet tramp company-lsp - projectile hydra flycheck company avy which-key ivy-xref)) - - (when (cl-find-if-not #'package-installed-p package-selected-packages) - (package-refresh-contents) - (mapc #'package-install package-selected-packages)) - - (add-hook 'c-mode-hook 'lsp) - (add-hook 'c++-mode-hook 'lsp) + ;; config basique de lsp + (use-package lsp-mode + :ensure t + :init (setq lsp-keymap-prefix "C-c l") + ;; on vire les recommandations de codage : un peu lourd + (setq lsp-ui-sideline-show-code-actions nil) + (setq lsp-modeline-code-actions-enable nil) + ;; on vire l'affichage de la doc sous le curseur : trop invasif + (setq lsp-ui-doc-show-with-cursor nil) + ;; on vire les ajouts de code automatiques à la complétion : insupportable + (setq lsp-completion-enable-additional-text-edit nil) + ;; barre de localisation + (setq lsp-headerline-breadcrumb-enable t) + :hook ((c++-mode . lsp) + (lsp-mode . lsp-enable-which-key-integration)) + :custom-face + (lsp-face-highlight-textual ((t (:inherit highlight :underline t)))) + :commands lsp) + + ;; on utilise lsp-ui et ivy + (use-package lsp-ui + :ensure t + :commands lsp-ui-mode) + (use-package lsp-ivy + :ensure t + :commands lsp-ivy-workspace-symbol) - ; réactivité de lsp - (setq lsp-idle-delay 0.1) - - (with-eval-after-load 'lsp-mode - (add-hook 'lsp-mode-hook #'lsp-enable-which-key-integration) - ;; (lsp-register-client - ;; ;; *** Mettre le chemin complet vers clangd *** - ;; (make-lsp-client :new-connection (lsp-tramp-connection "/home/test-emacs/bin/clangd") - ;; :major-modes '(c++-mode) - ;; :remote? t - ;; :server-id 'clangd-remote)) - ) + (use-package treemacs + :ensure t) + + (use-package lsp-treemacs + :ensure t + :commands lsp-treemacs-errors-list) + + ;; autres paquets de base + (setq package-selected-packages '(yasnippet tramp company-lsp + projectile hydra flycheck company avy which-key ivy-xref)) + + (when (cl-find-if-not #'package-installed-p package-selected-packages) + (package-refresh-contents) + (mapc #'package-install package-selected-packages)) + + (add-hook 'c-mode-hook 'lsp) + (add-hook 'c++-mode-hook 'lsp) + (setq lsp-keymap-prefix "C-c l") + + ; réactivité de lsp + (setq lsp-idle-delay 0.1) + + (with-eval-after-load 'lsp-mode + (add-hook 'lsp-mode-hook #'lsp-enable-which-key-integration) + ;; (lsp-register-client + ;; ;; *** Mettre le chemin complet vers clangd *** + ;; (make-lsp-client :new-connection (lsp-tramp-connection "/home/test-emacs/bin/clangd") + ;; :major-modes '(c++-mode) + ;; :remote? t + ;; :server-id 'clangd-remote)) + ) #+END_SRC *** Formatage automatique : ~clang-format~ @@ -500,13 +501,20 @@ Force le formatage du fichier quand il est sauvegardé ** Thèmes Chargement de quelques thèmes #+BEGIN_SRC emacs-lisp - (use-package cloud-theme :ensure t) - (use-package zenburn-theme :ensure t) - (use-package sourcerer-theme :ensure t) - (use-package monokai-theme :ensure t) - (use-package gruvbox-theme :ensure t) - (use-package bubbleberry-theme :ensure t) - (use-package solarized-theme :ensure t) + (use-package cloud-theme + :ensure t) + (use-package zenburn-theme + :ensure t) + (use-package sourcerer-theme + :ensure t) + (use-package monokai-theme + :ensure t) + (use-package gruvbox-theme + :ensure t) + (use-package bubbleberry-theme + :ensure t) + (use-package solarized-theme + :ensure t) #+END_SRC ** Modeline @@ -781,7 +789,8 @@ Permet d'utiliser réduire/agrandir les affichages de répertoires (bind-key "C-c C-f" #'dired-narrow-fuzzy) (bind-key "C-x C-N" #'dired-narrow-regexp)) - (use-package dired-subtree :ensure t + (use-package dired-subtree + :ensure t :after dired :config (bind-key "<tab>" #'dired-subtree-toggle dired-mode-map) @@ -1015,11 +1024,6 @@ Active le rendu des couleurs ANSI dans le /buffer/ de compilation compilation-filter-start (point)))) (add-hook 'compilation-filter-hook #'endless/colorize-compilation) - - (add-to-list 'compilation-environment - '"LC_ALL=C") - (add-to-list 'compilation-environment - '"TERM=xterm-256color") #+END_SRC Force la création du /buffer/ de compilation en dessous @@ -1067,16 +1071,17 @@ Définit ~C-c C-c~ comme raccourci pour invoquer ~make~. :mode ("CMakeLists.txt" ".cmake") :hook (cmake-mode . (lambda () (add-to-list 'company-backends 'company-cmake))) - :config - (use-package cmake-font-lock - :ensure t - :defer t - :commands (cmake-font-lock-activate) - :hook (cmake-mode . (lambda () - (cmake-font-lock-activate) - (font-lock-add-keywords - nil '(("\\<\\(FIXME\\|TODO\\|BUG\\|DONE\\)" - 1 font-lock-warning-face t))))))) + ) + + (use-package cmake-font-lock + :ensure t + :commands (cmake-font-lock-activate) + :hook (cmake-mode . (lambda () + (cmake-font-lock-activate) + (font-lock-add-keywords + nil '(("\\<\\(FIXME\\|TODO\\|BUG\\|DONE\\)" + 1 font-lock-warning-face t))))) + ) #+END_SRC ** Markdown