Correction emacsrc pour les fichiers .mak
[hvlinux.git] / stage5 / misc / emacs / emacsrc
index 9db7a0e..edc927a 100644 (file)
@@ -22,6 +22,9 @@
 ;; Replaces tabs in files with spaces
 (setq-default indent-tabs-mode nil)
 
+;; Display trailing whitespace
+(setq-default show-trailing-whitespace t)
+
 ;; Makes the compilation buffer always scrolls to follow
 ;; output as it comes in.
 (setq compilation-scroll-output t)
@@ -60,7 +63,7 @@
   (compile "make clean"))
 
 (defun compile-make ()
-  (interactive) 
+  (interactive)
   (compile "make"))
 
 (defun checkpatch()
   (setq indent-tabs-mode t)
 )
 
+(defun dap-c-mode ()
+  "C mode with adjusted defaults for use with DAP source code."
+  (interactive)
+  (c-mode)
+  (c-set-style "K&R")
+  (setq c-basic-offset 4))
+
 ;; Default for .h and .d 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))
+
 ;; Verilog mode
 (autoload 'verilog-mode "verilog-mode" "Verilog mode" t)
 (add-to-list 'auto-mode-alist '("\\.v\\'" . verilog-mode))
 (autoload 'muttrc-mode "muttrc-mode" "Major mode to edit muttrc files" t)
 (add-to-list 'auto-mode-alist '("muttrc\\'" . muttrc-mode))
 
+;; Default for Altium Delphi scripts (.pas) files -> linux mode.
+(add-to-list 'auto-mode-alist '("\\.pas$" . delphi-mode))
+
+;; Add the .mak suffix to the auto-mode-alist:
+(setq auto-mode-alist (cons '("\\.mak$" . makefile-mode) auto-mode-alist))
+
 ;; 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.
     (add-hook 'after-save-hook 'byte-compile-user-init-file t t)))
 (add-hook 'emacs-lisp-mode-hook 'my-emacs-lisp-mode-hook)
 
+;; To highlight function calls in CC mode.
+(defface font-lock-function-call-face
+  '((t (:foreground "mediumpurple")))
+  "Font Lock mode face used to highlight function calls."
+  :group 'font-lock-highlighting-faces)
+(defvar font-lock-function-call-face 'font-lock-function-call-face)
+(add-hook 'c-mode-hook
+          (lambda ()
+            (font-lock-add-keywords
+             nil
+             '(("\\<\\(\\sw+\\) ?(" 1 font-lock-function-call-face)) t)))
+
+;; Pour colorer TRUE et FALSE
+(defconst bm-additional-constant-keywords
+  (cons
+   (regexp-opt
+       (list
+        "TRUE" "FALSE"
+        ) 'words)
+   font-lock-constant-face
+   ))
+(font-lock-add-keywords
+ 'c-mode
+ (list
+  bm-additional-constant-keywords
+  ))
+
 (custom-set-variables
   ;; custom-set-variables was added by Custom.
   ;; If you edit it by hand, you could mess it up, so be careful.