Skip to content
Snippets Groups Projects
Commit 0118b288 authored by Philippe Dosch's avatar Philippe Dosch
Browse files

Refactoring après ubuntu 23.04

parent 97cd6e1a
Branches
No related tags found
No related merge requests found
......@@ -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."
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment