diff -r a2f88a6df8ab -r ae79beae573a .emacs-my --- a/.emacs-my Tue May 07 00:48:54 2019 +0300 +++ b/.emacs-my Thu May 16 00:26:05 2019 +0300 @@ -255,52 +255,24 @@ (lambda (symb) (intern (concat (symbol-name symb) "-map"))) ) -(defvar my-devel-mode-list - '( - sh-mode script-mode tcl-mode - c-mode c++-mode java-mode js-mode - python-mode perl-mode cperl-mode - lisp-mode - sql-mode - emacs-lisp-mode - makefile-mode makefile-gmake-mode - nsis-mode - bat-generic-mode +(defvar my-prog-mode-list + '(nsis-mode html-mode nxml-mode wesnoth-mode LilyPond-mode texinfo-mode - gadict-mode - ) + gadict-mode) "List of development modes.") -(defvar my-devel-mode-hook-list - (my-mode2hook my-devel-mode-list) +(defvar my-prog-hook-list + (my-mode2hook my-prog-mode-list) "List of development mode hooks.") -(defvar my-scroll-margin-mode-list - '( - vc-dir-mode - recentf-dialog-mode - org-agenda-grid-mode ; XXX for this item not worked! - log-view-mode - dired-mode - compilation-mode - conf-mode - ) - "List of modes for enabling scroll margin.") - -(defvar my-scroll-margin-mode-hook-list - (my-mode2hook my-scroll-margin-mode-list) - "List of mode hooks for enabling scroll margin.") - (defvar my-text-mode-list - '( - text-mode + '(text-mode outline-mode rst-mode diff-mode - dict-c5-mode - ) + dict-c5-mode) "List of text modes.") (defvar my-text-mode-hook-list @@ -672,7 +644,7 @@ ;; (setq-default show-trailing-whitespace t) (setq whitespace-style '(face trailing tabs)) -(setq whitespace-global-modes (append my-devel-mode-list my-text-mode-list)) +(setq whitespace-global-modes t) (ignore-errors (require 'whitespace) (global-whitespace-mode 1)) @@ -801,10 +773,24 @@ scroll-preserve-screen-position t ) +(defvar my-scroll-margin-mode-list + '(vc-dir-mode + recentf-dialog-mode + org-agenda-grid-mode ; XXX for this item not worked! + log-view-mode + dired-mode + compilation-mode + conf-mode) + "List of modes for enabling scroll margin.") + ;; Set margin only for desired modes! Do not frustrate calendar any more. (make-variable-buffer-local 'scroll-margin) -(mapc (lambda (hook) (add-hook hook (lambda nil (setq scroll-margin my-scroll-margin)))) - (delete-dups (append my-text-mode-hook-list my-devel-mode-hook-list my-scroll-margin-mode-hook-list)) ) +(defun my-set-scroll-margin () (setq scroll-margin my-scroll-margin)) +(mapc (lambda (hook) (add-hook hook #'my-set-scroll-margin)) + (delete-dups (append my-text-mode-hook-list + my-prog-hook-list + (my-mode2hook my-scroll-margin-mode-list) + '(prog-mode-hook))) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (message "chars, unicode") @@ -1927,13 +1913,15 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (message "TODO, XXX, FIXME highlight") -(dolist (mode (append my-devel-mode-list my-text-mode-list)) +(defvar my-todo-words '("TODO" "FIX" "FIXME" "HACK" "XXX" "EDITED")) + +(defun my-todo (&optional mode) + (interactive) (font-lock-add-keywords mode - `(( ,(concat "\\<\\(" (regexp-opt '("TODO" "FIX" "FIXME" "HACK" "XXX" "EDITED")) ":?\\)\\>") 1 'font-lock-warning-face t) - ;; 64 times, for highlight C-u C-u C-u - ;; ("\\([^[:space:]]\\)\\1\\{63\\}" 0 'my-contrasty-face t) - ))) + (list (list (concat "\\<" (regexp-opt my-todo-words) "\\>") 0 'font-lock-warning-face t)))) + +(add-hook 'prog-mode-hook 'my-todo) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (message "mail, message") @@ -2510,11 +2498,9 @@ (setq-default comment-column 44) (setq-default comment-fill-column my-fill-column) -(mapc (lambda (hook) (add-hook hook (lambda () (setq fill-column my-fill-column)) )) - (append my-devel-mode-hook-list my-text-mode-hook-list)) - -(mapc (lambda (mode) (add-hook (my-mode2hook mode) #'hs-minor-mode)) - '(c-mode c++-mode java-mode js-mode lisp-mode emacs-lisp-mode)) +(setq-default fill-column my-fill-column) + +(add-hook 'prog-mode-hook #'hs-minor-mode) (defun my-company-prog-mode-setup () (setq-local company-dabbrev-code-other-buffers 'code) @@ -2885,8 +2871,7 @@ (when imenu-generic-expression (imenu-add-menubar-index) (run-hooks 'menu-bar-update-hook) )) -(mapc (lambda (hook) (add-hook hook 'my-imenu-to-menubar)) - my-devel-mode-hook-list) +(add-hook 'prog-mode-hook 'my-imenu-to-menubar) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (message "windows inf files for driver installin")