;; 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))
(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)
(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")
;; Default for .h and .c files -> linux mode.
(add-to-list 'auto-mode-alist '("\.[ch]$" . linux-c-mode))
-;; Default for DAP .h and .c 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)
;; 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-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.