From 0118b288d4b95082a3e051b00a886d21ceb6d1f2 Mon Sep 17 00:00:00 2001 From: Philippe Dosch <Philippe.Dosch@loria.fr> Date: Mon, 24 Apr 2023 11:29:34 +0200 Subject: [PATCH] =?UTF-8?q?Refactoring=20apr=C3=A8s=20ubuntu=2023.04?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .emacs | 326 +++++++++------------------------------------------------ 1 file changed, 50 insertions(+), 276 deletions(-) diff --git a/.emacs b/.emacs index b31664b..7714e76 100644 --- a/.emacs +++ b/.emacs @@ -12,25 +12,6 @@ ;; Chargement principal (require 'package) -(custom-set-variables '(gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")) - -;; Ajout de Melpa -(add-to-list 'package-archives - '( - ("gnu" . "https://elpa.gnu.org/packages/") - ("melpa" . "https://melpa.org/packages/") - ("nongnu" . "https://elpa.nongnu.org/nongnu/") - (";TODO: romey" . "http://tromey.com/elpa/") - ) - ) - -;; Dépôt alternatif (utile ?) -;; (add-to-list 'package-archives -;; '("gnu" . "http://elpa.gnu.org/packages/")) - -;; Initialisation : utile si le reste du fichier -;; se sert de déclarations contenues dans les packages -;; (une fois que toutes les sources sont déclarées) (package-initialize) ;; Si l'initialisation des packages a lieu au début de ce @@ -55,9 +36,7 @@ (append '( "/home/phil/.lisp/" - "/home/phil/.lisp/emacs-solargraph/" "/home/phil/.lisp/Emacs-langtool/" - "/home/phil/.lisp/emacs-everywhere//" ) load-path)) @@ -173,16 +152,6 @@ (package-refresh-contents) (package-install 'use-package)) -;; use-package : possibilité d'essayer des packages sans -;; les installer (pratique...) -(use-package try - :ensure t) - -;; quelpa : pour aller récupérer les packages dispos -;; ailleurs que sur les archives officielles -(use-package quelpa - :ensure t) - ;; On ajoute une clé (un raccourci clavier) pour l'environnement perso ;; \ex{} en LaTeX (use-package latex @@ -191,13 +160,6 @@ (add-to-list 'LaTeX-font-list '(?\C-x "\\ex{" "}"))) -;; Pour coupler use-package et quelpa -(quelpa - '(quelpa-use-package - :fetcher github - :repo "quelpa/quelpa-use-package")) -(require 'quelpa-use-package) - ;; use-package : which-key, mode mineur qui affiche ;; au bout d'1s d'inactivité dans le mini-buffer la ;; liste des keys qui complètent le début de la clé @@ -210,24 +172,6 @@ ;; Une complétion un peu plus évoluée que celle par défaut... (global-set-key "\M-/" 'hippie-expand) -;; auto-yasnippet : création interactive de snippets -(use-package auto-yasnippet - :ensure t - :bind (("C-<f11> (" . aya-create) - ("C-<f11> )" . aya-expand) - ("C-<f11> s" . aya-persist-snippet))) - -;; ...et sa configuration -(setq hippie-expand-try-functions-list - '(try-expand-all-abbrevs - try-expand-dabbrev - try-expand-list - try-expand-line - try-expand-dabbrev-all-buffers - try-expand-dabbrev-from-kill - try-complete-file-name-partially - try-complete-file-name)) - ;; La compilation accessible facilement (C-RET) (global-set-key [(control return)] 'compile) @@ -380,12 +324,6 @@ ;; mon dépôt git) (use-package gin-mode) -;; Pour faire ressortir l'indentation -(use-package highlight-indent-guides - :ensure t - :config - (setq highlight-indent-guides-method 'character)) - ;; Les numéros de ligne qui apparaissent sur chaque ligne (use-package nlinum :ensure t @@ -413,52 +351,6 @@ :bind (("C-£" . iedit-mode) )) -;; Ruby electric, pour la complétion automatique de certaines -;; structures syntaxiques (sur les blocs en particulier) - -(use-package ruby-electric - :ensure t - :init - (eval-after-load "ruby-mode" - '(add-hook 'ruby-mode-hook 'ruby-electric-mode))) - -;; ;; Inf-ruby : plus de fonctionnalités pour Ruby -;; ;; Tips: lancer une session Ruby au départ avec C-c C-s -;; (use-package inf-ruby -;; :ensure t -;; :config -;; (autoload 'inf-ruby-minor-mode "inf-ruby" "Run an inferior Ruby process" t) -;; (add-hook 'ruby-mode-hook 'inf-ruby-minor-mode)) - -;; Robe : toujours pour Ruby -(use-package robe - :ensure t - :config - (add-hook 'ruby-mode-hook 'robe-mode)) - -;; ;; Du refactoring pour Ruby -;; ;; Extract to Method (C-c C-r e) -;; ;; Extract Local Variable (C-c C-r v) -;; ;; Extract Constant (C-c C-r c) -;; ;; Add Parameter (C-c C-r p) -;; ;; Extract to Let (C-c C-r l) -;; ;; Convert Post Conditional (C-c C-r o) -;; (use-package ruby-refactor -;; :ensure t -;; :config -;; (add-hook 'ruby-mode-hook 'ruby-refactor-mode-launch)) - -;; Du refactoring pour JS -(use-package js2-refactor - :ensure t - :config - (add-hook 'js2-mode-hook #'js2-refactor-mode) - (js2r-add-keybindings-with-prefix "C-c C-p")) - -;; Request : utilisé par solagraph (LSP/Ruby) -(use-package request - :ensure t) - ;; Tout ce qui est relatif à company (completion at any point) (use-package company :ensure t @@ -467,83 +359,27 @@ (setq company-minimum-prefix-length 1) (add-hook 'prog-mode-hook 'company-mode)) -;; (use-package company-irony -;; :ensure t -;; :config -;; (add-to-list 'company-backends 'company-irony)) - -;; (use-package irony -;; :ensure t -;; :config -;; (add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options)) - -;; (defun my-irony-mode-on () -;; "Avoid enabling irony-mode in modes that inherits `c-mode', e.g: php-mode." -;; (when (member major-mode irony-supported-major-modes) -;; (irony-mode 1))) - -;; (add-hook 'c++-mode-hook 'my-irony-mode-on) -;; (add-hook 'c-mode-hook 'my-irony-mode-on) - -;; (use-package irony-eldoc -;; :ensure t -;; :config -;; (add-hook 'irony-mode-hook #'irony-eldoc)) - -(use-package company-jedi - :ensure t - :config - (add-hook 'python-mode-hook 'jedi:setup)) - -(defun my/python-mode-hook () - "Add personal hook for python." - (add-to-list 'company-backends 'company-jedi)) - -(add-hook 'python-mode-hook 'my/python-mode-hook) - -(use-package company-auctex - :ensure t - :config - (company-auctex-init)) - -;; ;; Pour reboucler Robe avec company -;; (eval-after-load 'company -;; '(push 'company-robe company-backends)) - -;; Pour lsp (Language Server Protocol) -;; permettant de transformer emacs en IDE sur certains aspects - -;; (use-package lsp-mode -;; :ensure t -;; :hook ((c-mode java-mode) . lsp) -;; :commands lsp) - ;; optionally (use-package lsp-ui :ensure t :commands lsp-ui-mode) -(use-package company-lsp - :ensure t - :commands company-lsp) - -(use-package helm-lsp - :ensure t - :commands helm-lsp-workspace-symbol) - -(use-package lsp-treemacs - :ensure t - :commands lsp-treemacs-errors-list) - -;; (use-package rg -;; :ensure t -;; :bind(("C-c s" . rg-menu))) - ;; Pour languagetool ;; (sudo snap install languagetool) -(setq langtool-language-tool-jar "/snap/languagetool/34/usr/bin/languagetool-commandline.jar") +;; (setq langtool-language-tool-jar "/snap/languagetool/34/usr/bin/languagetool-commandline.jar") +;; (require 'langtool) + +;; Pour Langtools +(setq langtool-java-bin "/home/phil/tmp/java/jre1.8.0_361/bin/java") +(setq langtool-language-tool-jar "/home/phil/tmp/LanguageTool-6.0/languagetool-commandline.jar") +;; (setq langtool-language-tool-server-jar "/home/phil/tmp/LanguageTool-6.0/languagetool-server.jar") +;; (setq langtool-http-server-host "localhost" +;; langtool-http-server-port 8082) (require 'langtool) + + (global-set-key (kbd "C-&") 'langtool-check-buffer) +(global-set-key (kbd "C-é") 'langtool-correct-buffer) ;; Pour grammalecte @@ -599,10 +435,6 @@ :config (add-hook 'js-mode-hook 'js2-minor-mode)) -;; Pour PHP -(use-package php-extras - :ensure t) - ;; Des chercher/remplacer plus sympas (use-package anzu :ensure t @@ -611,22 +443,14 @@ (global-set-key [remap query-replace] 'anzu-query-replace) (global-set-key [remap query-replace-regexp] 'anzu-query-replace-regexp)) -;; Pour retrouver facilement des symboles identiques -;; M-n et M-p pour se déplacer sur les symboles similaires, -;; M-' pour effectuer un chercher/remplacer global et rapide -(use-package smartscan - :ensure t - :config - (global-smartscan-mode)) - ;; Hydra ;; Pour étendre les possibilités de 'keys' (raccourcis) sous ;; emacs. Une 'clé' de départ permet ensuite d'atteindre tout ;; un tas d'autres clés avec une expression simplifiée -(use-package hydra - :ensure hydra - :init) +;; (use-package hydra +;; :ensure hydra +;; :init) ;; Magit ;; Pour avoir une séquence plus sympa de sortie des server-edit @@ -655,66 +479,41 @@ (diff-hl-flydiff-mode 1) (add-hook 'magit-post-refresh-hook 'diff-hl-magit-post-refresh)) -;; Pour feature-mode (édition de fichier cucumber) -(use-package feature-mode - :ensure t - :config - (add-to-list 'auto-mode-alist '("\.feature$" . feature-mode))) - ;; org-reveal -(use-package ox-reveal - :ensure t - :config - (setq org-reveal-root "file:///home/phil/divers/presentation/reveal.js")) - -;; Pour function-arg (complétion et vérifciation en C/C++) -(use-package function-args - :ensure t - :config - (fa-config-default)) - -;; Test pour l'édition sous Chrome -(use-package edit-server - :ensure t - :config - (edit-server-start)) - -;; emmet, les complétions pour le Web (HTML/CSS) -;; (C-j pour l'expand) -(use-package emmet-mode - :ensure t - :config - (add-hook 'web-mode-hook 'emmet-mode)) +;; (use-package ox-reveal +;; :ensure t +;; :config +;; (setq org-reveal-root "file:///home/phil/divers/presentation/reveal.js")) ;; Openwith : utilsation de programmes externe lors de ;; l'ouverture pour certains types de fichiers -(use-package openwith - :ensure t - :config - (when (require 'openwith nil 'noerror) - (setq openwith-associations - (list - (list (openwith-make-extension-regexp - '("mpg" "mpeg" "mp3" "mp4" - "avi" "wmv" "wav" "mov" "flv" - "ogm" "ogg" "mkv")) - "vlc" - '(file)) - (list (openwith-make-extension-regexp - '("xbm" "pbm" "pgm" "ppm" "pnm" - "png" "gif" "bmp" "tif" "jpeg" "jpg")) - "gwenview" - '(file)) - (list (openwith-make-extension-regexp - '("doc" "xls" "ppt" "odt" "ods" "odg" "odp" "docx" "xlsx")) - "libreoffice" - '(file)) - (list (openwith-make-extension-regexp - '("pdf" "ps" "ps.gz" "dvi")) - "okular" - '(file)) - )) - (openwith-mode 1))) +;; (use-package openwith +;; :ensure t +;; :config +;; (when (require 'openwith nil 'noerror) +;; (setq openwith-associations +;; (list +;; (list (openwith-make-extension-regexp +;; '("mpg" "mpeg" "mp3" "mp4" +;; "avi" "wmv" "wav" "mov" "flv" +;; "ogm" "ogg" "mkv")) +;; "vlc" +;; '(file)) +;; (list (openwith-make-extension-regexp +;; '("xbm" "pbm" "pgm" "ppm" "pnm" +;; "png" "gif" "bmp" "tif" "jpeg" "jpg")) +;; "gwenview" +;; '(file)) +;; (list (openwith-make-extension-regexp +;; '("doc" "xls" "ppt" "odt" "ods" "odg" "odp" "docx" "xlsx")) +;; "libreoffice" +;; '(file)) +;; (list (openwith-make-extension-regexp +;; '("pdf" "ps" "ps.gz" "dvi")) +;; "okular" +;; '(file)) +;; )) +;; (openwith-mode 1))) ;; =============================== ;; Configurations variables/styles @@ -727,17 +526,16 @@ ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(custom-safe-themes - (quote - ("c3d4af771cbe0501d5a865656802788a9a0ff9cf10a7df704ec8b8ef69017c68" "3c83b3676d796422704082049fc38b6966bcad960f896669dfc21a7a37a748fa" "c74e83f8aa4c78a121b52146eadb792c9facc5b1f02c917e3dbb454fca931223" "a27c00821ccfd5a78b01e4f35dc056706dd9ede09a8b90c6955ae6a390eb1c1e" "b9e9ba5aeedcc5ba8be99f1cc9301f6679912910ff92fdf7980929c2fc83ab4d" default))) + '("c3d4af771cbe0501d5a865656802788a9a0ff9cf10a7df704ec8b8ef69017c68" "3c83b3676d796422704082049fc38b6966bcad960f896669dfc21a7a37a748fa" "c74e83f8aa4c78a121b52146eadb792c9facc5b1f02c917e3dbb454fca931223" "a27c00821ccfd5a78b01e4f35dc056706dd9ede09a8b90c6955ae6a390eb1c1e" "b9e9ba5aeedcc5ba8be99f1cc9301f6679912910ff92fdf7980929c2fc83ab4d" default)) '(display-time-mode t) '(ecb-options-version "2.50") '(imenu-use-popup-menu t) '(package-selected-packages - (quote - (org rust-mode js2-refactor org-bullets lsp-treemacs helm-lsp company-lsp lsp-ui lsp-mode gnu-elpa-keyring-update markdown-mode flycheck-clang-analyzer flycheck-grammalecte which-key web-mode undo-tree try smex smartscan smart-mode-line-powerline-theme ruby-refactor ruby-electric robe rainbow-delimiters quelpa-use-package projectile plantuml-mode php-extras pdf-tools ox-reveal nlinum neotree multiple-cursors monokai-theme magit js2-mode irony-eldoc imenu-anywhere iedit ido-vertical-mode highlight-indent-guides helm-swoop helm-orgcard helm-flycheck helm-directory helm-css-scss helm-c-yasnippet helm-anything git-timemachine function-args flx-ido feature-mode expand-region edit-server ecb dumb-jump dired+ dic-lookup-w3m counsel company-web company-tern company-php company-jedi company-irony company-inf-ruby company-c-headers company-auctex clang-format avy auto-yasnippet anzu ac-helm diff-hl request))) + '(use-package org rust-mode js2-refactor org-bullets lsp-treemacs helm-lsp company-lsp lsp-ui lsp-mode gnu-elpa-keyring-update markdown-mode flycheck-clang-analyzer flycheck-grammalecte which-key web-mode undo-tree try smex smartscan smart-mode-line-powerline-theme ruby-refactor ruby-electric robe rainbow-delimiters quelpa-use-package projectile plantuml-mode php-extras pdf-tools ox-reveal nlinum neotree multiple-cursors monokai-theme magit js2-mode irony-eldoc imenu-anywhere iedit ido-vertical-mode highlight-indent-guides helm-swoop helm-orgcard helm-flycheck helm-directory helm-css-scss helm-c-yasnippet helm-anything git-timemachine function-args flx-ido feature-mode expand-region edit-server ecb dumb-jump dired+ dic-lookup-w3m counsel company-web company-tern company-php company-jedi company-irony company-inf-ruby company-c-headers company-auctex clang-format avy auto-yasnippet anzu ac-helm diff-hl request)) '(show-paren-mode t) '(tool-bar-mode nil) - '(tramp-default-method "scpc")) + '(tramp-default-method "scpc") + '(warning-suppress-types '((comp) (comp)))) ;; Configuration du style d'affichage (custom-set-faces @@ -1162,17 +960,6 @@ ;; Accès direct au répertoire courant avec C-x C-j (require 'dired-x) -;; Dired+ : pour étendre les fonctionnalités proposées -;; en mode dired -;; (require 'dired+) -(use-package dired+ - :ensure t - :quelpa (dired+ :fetcher github :repo "emacsmirror/dired-plus")) - -;; ;; Support de Ruby avec lsp -;; (require 'solargraph) -;; (define-key ruby-mode-map (kbd "M-i") 'solargraph:complete) - ;; Pour les snippets : yas-global-mode (add-to-list 'load-path "~/.emacs.d/plugins/yasnippet") @@ -1194,19 +981,6 @@ (setq dabbrev-friend-buffer-function 'sanityinc/dabbrev-friend-buffer) -;; Key-chord (désactivé car entraîne de lourds problèmes de -;; de performances lors de simples éditions sous emacs) - -;; (require 'key-chord) -;; (key-chord-mode 1) - -;; (key-chord-define-global "qs" 'delete-window) -;; (key-chord-define-global "wx" 'delete-other-windows) -;; (key-chord-define-global "*d" 'flyspell-mode) -;; (key-chord-define-global "*t" 'text-mode) -;; (key-chord-define-global "*a" (lambda () (interactive) (ispell-change-dictionary "american"))) -;; (key-chord-define-global "*f" (lambda () (interactive) (ispell-change-dictionary "francais"))) - ;; Des insertions d'espace sans bouger le curseur (defun insert-postfix-whitespace () "Just insert SPC symbol next to point." -- GitLab