From a94cd9b5139d85d1bb10f1d9dd6da15c9530b71f Mon Sep 17 00:00:00 2001 From: Alexandre Tuleu Date: Wed, 13 Sep 2023 12:54:21 +0200 Subject: [PATCH] WIP --- .emacs | 164 +++++++++++++++++++++++++++------------------------------ 1 file changed, 77 insertions(+), 87 deletions(-) diff --git a/.emacs b/.emacs index fbeb439..90933c2 100644 --- a/.emacs +++ b/.emacs @@ -1,6 +1,6 @@ -;(toggle-debug-on-error) +;;(toggle-debug-on-error) (setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3") -;lsp performances +;;lsp performances (setq gc-cons-threshold (* 100 1024 1024));; 100MB (setq read-process-output-max (* 3 1024 1024));; 3MB @@ -13,9 +13,9 @@ '(c-basic-offset 4) '(c-default-style '((c++-mode . "tuleu-c++") - (java-mode . "java") - (awk-mode . "awk") - (other . "gnu"))) + (java-mode . "java") + (awk-mode . "awk") + (other . "gnu"))) '(company-idle-delay 20.0) '(compilation-scroll-output 'first-error) '(custom-safe-themes @@ -35,29 +35,28 @@ '(org-agenda-files '("~/org/1.TODO.org")) '(package-enable-at-startup nil) '(package-selected-packages - '(doom-themes company-go zenburn-theme langtool smart-tabs-mode typescript-mode protobuf-mode opencl-mode glsl-mode go-mode markdown-mode srefactor irony cmake-mode company magit use-package)) + '(aggressive-indent doom-themes company-go zenburn-theme langtool smart-tabs-mode typescript-mode protobuf-mode opencl-mode glsl-mode go-mode markdown-mode srefactor irony cmake-mode company magit use-package)) '(safe-local-variable-values '((vc-follow-symlinks . t) - (TeX-master . t) - (TeX-parse-self . t))) + (TeX-master . t) + (TeX-parse-self . t))) '(tab-width 4) '(warning-suppress-log-types '((comp))) '(whitespace-style '(face trailing tabs lines-tail newline space-before-tab::tab space-before-tab::space space-before-tab tab-mark))) (if (display-graphic-p) - (progn - (if (fboundp 'tool-bar-mode) - (tool-bar-mode -1)) - ) - (progn - (if (fboundp 'toggle-scroll-bar) - (toggle-scroll-bar -1)) - (menu-bar-mode -1) - (if (fboundp 'tool-bar-mode) - (tool-bar-mode -1)) - ) + (progn + (if (fboundp 'tool-bar-mode) + (tool-bar-mode -1)) + ) + (if (fboundp 'toggle-scroll-bar) + (toggle-scroll-bar -1)) + (menu-bar-mode -1) + (if (fboundp 'tool-bar-mode) + (tool-bar-mode -1)) ) +) (add-to-list 'default-frame-alist '(fullscreen . maximized)) (add-hook 'before-save-hook 'delete-trailing-whitespace) @@ -69,11 +68,12 @@ ("gnu" . "https://elpa.gnu.org/packages/"))) (package-initialize) (eval-when-compile - (unless (package-installed-p 'use-package) - (unless package-archive-contents - (package-refresh-contents)) - (package-install 'use-package)) - (require 'use-package)) +(unless (package-installed-p 'use-package) + (unless package-archive-contents + (package-refresh-contents)) + (package-install 'use-package) + ) +(require 'use-package)) (require 'use-package) (require 'use-package-ensure) @@ -88,7 +88,7 @@ :config (delight '((eldoc-mode nil "eldoc") (subword-mode nil "subword"))) -) + ) (use-package multiple-cursors :bind (("C-c m >" . 'mc/mark-next-like-this) @@ -98,6 +98,39 @@ ) ) +(use-package doom-themes + :config + (setq doom-themes-enable-bold t ; if nil, bold is universally disabled + doom-themes-enable-italic t) ; if nil, italics is universally disabled + (load-theme 'doom-spacegrey t) + ;; Enable flashing mode-line on errors + (doom-themes-visual-bell-config ) + ;; or for treemacs users + ;(setq doom-themes-treemacs-theme "doom-atom") ; use "doom-colors" for less minimal icon theme + ;(doom-themes-treemacs-config) + ;; Corrects (and improves) org-mode's native fontification. + (doom-themes-org-config) + (defun atu/toggle-display-line-mode () + "toggle between relative and absolute display-line-mode" + (interactive) + (if (eq display-line-numbers 'relative) + (setq display-line-numbers 'absolute) + (setq display-line-numbers 'relative) + ) + ) + :init + (global-whitespace-mode 1) + :bind ( + ("C-c d l" . 'atu/toggle-display-line-mode) + ) + ) + +(custom-set-faces + ;; custom-set-faces was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + ) ;; (use-package ansi-color ;; :config @@ -112,9 +145,9 @@ (setq-default tab-width 4) ; or any other preferred value (setq cua-auto-tabify-rectangles nil) (defadvice indent-relative (around smart-tabs activate) - (let ((indent-tabs-mode nil)) ad-do-it)) + (let ((indent-tabs-mode nil)) ad-do-it)) (defadvice indent-according-to-mode (around smart-tabs activate) - (let ((indent-tabs-mode indent-tabs-mode)) + (let ((indent-tabs-mode indent-tabs-mode)) (if (memq indent-line-function '(indent-relative indent-relative-maybe)) @@ -133,11 +166,6 @@ (c-indent-region . c-basic-offset) ) ) - (smart-tabs-add-language-support html html-mode-hook - ( - (sgml-indent-line . sgml-basic-offset) - ) - ) (smart-tabs-add-language-support glsl glsl-mode-hook ( (c-indent-line . c-basic-offset) @@ -150,16 +178,20 @@ (c-indent-region . c-basic-offset) ) ) - (smart-tabs-insinuate 'c 'c++ 'cmake 'nxml 'protobuf 'html 'glsl) + (smart-tabs-insinuate 'c 'c++ 'cmake 'nxml 'protobuf 'glsl) ) +(use-package aggressive-indent + :hook + (emacs-lisp-mode . aggressive-indent-mode) + ) (use-package magit :commands (magit-status) :bind ("C-x g" . magit-status) :hook (magit-mode . - (lambda () (setq-local whitespace-style nil))) + (lambda () (setq-local whitespace-style nil))) :custom (magit-credential-cache-daemon-socket nil) ) @@ -185,8 +217,8 @@ (yas-global-mode) :after (company) :bind ( :map yas-minor-mode-map - ("TAB" . nil) - ) + ("TAB" . nil) + ) ) (use-package yasnippet-snippets @@ -195,8 +227,8 @@ (use-package projectile :bind ( :map projectile-mode-map - ( "C-c p" . 'projectile-command-map) - ) + ( "C-c p" . 'projectile-command-map) + ) :delight :config (projectile-mode +1) @@ -276,7 +308,6 @@ (treemacs-project-follow-mode t) ) - (use-package treemacs-projectile) (use-package nerd-icons ) @@ -285,9 +316,9 @@ :config (treemacs-load-theme "nerd-icons")) -;; (use-package lsp-treemacs -;; :after lsp-mode -;; ) +(use-package lsp-treemacs + :after lsp-mode + ) (use-package lsp-ltex :init @@ -303,15 +334,11 @@ (python-mode . (lambda () (require 'lsp-pyright) (lsp-deferred))) ; or lsp-deferred -) + ) (use-package yaml-mode) -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; PYTHON -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - (use-package python :custom (python-shell-interpreter "ipython") @@ -413,8 +440,8 @@ ) :hook (python-mode . atu/pyls-set-jedi-environment) - ;(python-mode . atu/activate-flycheck) - ;(python-mode . atu/append-workspace-extra-paths) + ;(python-mode . atu/activate-flycheck) + ;(python-mode . atu/append-workspace-extra-paths) (lsp-managed-mode . atu/flycheck-set-python-paths) ) @@ -559,10 +586,6 @@ (use-package glsl-mode) (use-package opencl-mode) -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Protobuf -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - (use-package protobuf-mode :mode "\\.proto\\'" :config @@ -603,7 +626,7 @@ '(("css" . "\\.\\(post\\)?css\\'"))) :hook (web-mode . lsp-deferred) -) + ) (use-package dockerfile-mode @@ -612,39 +635,6 @@ ) -(use-package doom-themes - :config - (setq doom-themes-enable-bold t ; if nil, bold is universally disabled - doom-themes-enable-italic t) ; if nil, italics is universally disabled - (load-theme 'doom-spacegrey t) - ;; Enable flashing mode-line on errors - (doom-themes-visual-bell-config ) - ;; or for treemacs users - ;(setq doom-themes-treemacs-theme "doom-atom") ; use "doom-colors" for less minimal icon theme - ;(doom-themes-treemacs-config) - ;; Corrects (and improves) org-mode's native fontification. - (doom-themes-org-config) - (defun atu/toggle-display-line-mode () - "toggle between relative and absolute display-line-mode" - (interactive) - (if (eq display-line-numbers 'relative) - (setq display-line-numbers 'absolute) - (setq display-line-numbers 'relative) - ) - ) - :init - (global-whitespace-mode 1) - :bind ( - ("C-c d l" . 'atu/toggle-display-line-mode) - ) - ) - -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - ) ;; Local Variables: ;; vc-follow-symlinks: t