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