X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=stage5%2Fmisc%2Femacs%2Femacsrc;h=913dcabf11876801f6b8783b9ffc9a30ed5bf891;hb=084138d08f9c85bbb7ba547e5e335cb478c4b11c;hp=79ab86528ca0b56d7703e569711e9e5b4355dd54;hpb=0573d7309daf628b46d1d19e252f62886e734e18;p=hvlinux.git diff --git a/stage5/misc/emacs/emacsrc b/stage5/misc/emacs/emacsrc index 79ab865..913dcab 100644 --- a/stage5/misc/emacs/emacsrc +++ b/stage5/misc/emacs/emacsrc @@ -7,10 +7,13 @@ ;; Do not display a splash screen on startup (setq inhibit-splash-screen t) +;; Do not open a scratch buffer +(kill-buffer "*scratch*") + ;; Emacs Load Path (setq load-path (cons "/usr/local/share/emacs/site-lisp" load-path)) -;; Affichage du numéro de colonne +;; Affichage du numéro de colonne (setq column-number-mode t) ;; Always end a file with a newline @@ -73,13 +76,34 @@ (interactive) (compile (concat "checkpatch.pl --no-tree --emacs --strict --file " (buffer-file-name)))) -;; buffer-cycle.el +(setq my-skippable-buffers '("*Messages*" "*scratch*" "*Help*" "*Completions*")) + +(defun my-change-buffer (change-buffer) + "Call CHANGE-BUFFER until current buffer is not in `my-skippable-buffers'." + (let ((initial (current-buffer))) + (funcall change-buffer) + (let ((first-change (current-buffer))) + (catch 'loop + (while (member (buffer-name) my-skippable-buffers) + (funcall change-buffer) + (when (eq (current-buffer) first-change) + (switch-to-buffer initial) + (throw 'loop t))))))) + +(defun my-next-buffer () + "`next-buffer' that skips `my-skippable-buffers'." + (interactive) + (my-change-buffer 'next-buffer)) + +(defun my-previous-buffer () + "`previous-buffer' that skips `my-skippable-buffers'." + (interactive) + (my-change-buffer 'previous-buffer)) + ;; F1: Switch to previous buffers -(autoload 'cycle-buffer-prev "buffer-cycle" t) -(global-set-key [f1] 'cycle-buffer-prev) +(global-set-key [f1] 'my-previous-buffer) ;; F2: Switch to next buffers -(autoload 'cycle-buffer-next "buffer-cycle" t) -(global-set-key [f2] 'cycle-buffer-next) +(global-set-key [f2] 'my-next-buffer) ;; F4: make clean (global-set-key [f4] 'compile-make-clean) @@ -103,6 +127,9 @@ ;; Modes ;;================================================== +;; Remove all source control hooks: +(setq vc-handled-backends ()) + (defun linux-c-mode () "C mode with adjusted defaults for use with the Linux kernel." (interactive) @@ -118,18 +145,18 @@ (setq indent-tabs-mode t) ) -(defun dap-c-mode () - "C mode with adjusted defaults for use with DAP source code." +(defun company-c-mode () + "C mode with adjusted defaults for use with my company source code." (interactive) (c-mode) (c-set-style "K&R") (setq c-basic-offset 4)) -;; Default for .h and .d files -> linux mode. +;; Default for .h and .c files -> linux mode. (add-to-list 'auto-mode-alist '("\.[ch]$" . linux-c-mode)) -;; Default for DAP .h and .d files -> linux mode. -(add-to-list 'auto-mode-alist '(".*/dap.*" . dap-c-mode)) +;; Default for company .h and .c files -> linux mode. +(add-to-list 'auto-mode-alist '(".*/company.*" . company-c-mode)) ;; Verilog mode (autoload 'verilog-mode "verilog-mode" "Verilog mode" t) @@ -159,12 +186,25 @@ ;; Default for Altium Delphi scripts (.pas) files -> linux mode. (add-to-list 'auto-mode-alist '("\\.pas$" . delphi-mode)) +;; Default for bitbake configuration files +(add-to-list 'auto-mode-alist '("\\.bb$" . conf-mode)) + ;; Add the .mak suffix to the auto-mode-alist: (setq auto-mode-alist (cons '("\\.mak$" . makefile-mode) auto-mode-alist)) ;; Add the Makefile prefix to the auto-mode-alist: (add-to-list 'auto-mode-alist '("Makefile" . makefile-mode)) +;; Autoconf mode +(add-to-list 'auto-mode-alist + '("/configure\\.\\(ac\\|in\\)\\'" . autoconf-mode)) +(add-to-list 'auto-mode-alist + '("/ac\\(include\\|local\\)\\.m4\\'" . autoconf-mode)) + +;; Default for XSL and XML files. +(add-to-list 'auto-mode-alist '("\\.xsl$" . sgml-mode)) +(add-to-list 'auto-mode-alist '("\\.xml$" . sgml-mode)) + ;; When an Emacs init file gets large or has a lot of function definitions, you ;; should consider compiling it: it will load faster when Emacs starts, and its ;; functions will execute faster.