diff options
Diffstat (limited to 'emacs-blue')
| -rw-r--r-- | emacs-blue | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/emacs-blue b/emacs-blue new file mode 100644 index 0000000..617b997 --- /dev/null +++ b/emacs-blue @@ -0,0 +1,239 @@ +;;; .emacs --- Config + +;;; Commentary: + +;;; Code: + +(require 'package) +(add-to-list 'package-archives + '("melpa" . "https://melpa.org/packages/")) +(package-initialize) +(setq + package-selected-packages '(meson-mode groovy-mode gradle-mode flycheck)) +;; use (package-install-selected-packages) to install the ones above + + ;; show matching parentheses (and other characters) +(show-paren-mode t) + +;; hide toolbar +(tool-bar-mode -1) +;; hide tooltips +(tooltip-mode -1) + +(setq + ;; skip startup message + inhibit-startup-message t + ;; show line and column number in mode-line + line-number-mode t + column-number-mode t + ;; increase undo + undo-limit 200000 + undo-strong-limit 300000 + ;; enable visible bell + visible-bell t + ;; enable font lockmode + global-font-lock-mode t + font-lock-mode t + font-lock-maximum-decoration t) + +;; Force more unique buffer names +(require 'uniquify) +(setq uniquify-buffer-name-style 'post-forward-angle-brackets) + +;; Clean the buffer list at midnight +(require 'midnight) +;; Set clean-buffer-list delay to 1 day +(setq clean-buffer-list-delay-general 1) +(if (not (boundp 'clean-buffer-list-kill-regexps)) + (setq clean-buffer-list-kill-regexps '())) +;; Add preprocessed buffers to the list +(add-to-list 'clean-buffer-list-kill-regexps + '("\\`\\*.*-preprocessed\\*\\'")) + +(setq + ;; create backups + make-backup-files t + ;; don't ask to delete backup versions + delete-old-versions t + ;; use version control + version-control t) + +;; put all backup files in their own directory +(let ((backup-dir "~/.emacs.d/backups/")) + (make-directory backup-dir :parents) + (setq backup-directory-alist + `((".*" . ,backup-dir)))) + +;; show buffer in frame title +(setq frame-title-format "%b %* emacs") + +;; frame parameters +;; frame size +(add-to-list 'default-frame-alist '(width . 80)) +(add-to-list 'default-frame-alist '(height . 36)) +;; tell WM that we really want those sizes +(add-to-list 'default-frame-alist '(user-size . t)) +;; frame font and color +(add-to-list 'default-frame-alist + '(font . "-*-inconsolata-*-*-*-*-*-120-*-*-*-*-*")) +(add-to-list 'default-frame-alist '(cursor-color . "green")) +(add-to-list 'default-frame-alist '(foreground-color . "grey")) +(add-to-list 'default-frame-alist '(background-color . "black")) +(add-to-list 'default-frame-alist '(background-mode . "dark")) + +;; default styles +(setq-default + ;; no tabs in indentation + indent-tabs-mode nil + ;; tab-width 4 + tab-width 4 + ;; c-basic-offset + c-basic-offset 4 + ;; show trailing whitespace + show-trailing-whitespace t) + +;; enable c warnings +(global-cwarn-mode t) + +;; auto inserts +(eval-after-load 'autoinsert + '(define-auto-insert + '("\\.\\(hh\\|hxx\\|hpp\\)\\'" . "C++ header") + '((upcase + (mapconcat 'identity (split-string + (file-name-nondirectory buffer-file-name) + "[^a-zA-Z0-9]+") "_")) + "#ifndef " str \n + "#define " str \n + \n + _ \n + \n + "#endif // " str \n))) +(eval-after-load 'autoinsert + '(define-auto-insert + '("\\.\\(CC?\\|cc\\|cxx\\|cpp\\|c++\\)\\'" . "C++ source") + '(nil + "#include \"common.hh\"" \n + \n + (let ((base (file-name-sans-extension buffer-file-name))) + (cond + ((file-exists-p + (concat base ".hh")) + (concat "#include \"" + (file-name-nondirectory (concat base ".hh")) + "\"\n\n")))) + > _ \n))) +(eval-after-load 'autoinsert + '(define-auto-insert + '("\\.\\([Hh]\\)\\'" . "C header") + '((upcase + (mapconcat 'identity (split-string + (file-name-nondirectory buffer-file-name) + "[^a-zA-Z0-9]+") "_")) + "#ifndef " str \n + "#define " str \n + \n + _ \n + \n + "#endif /* " str " */" \n))) +(eval-after-load 'autoinsert + '(define-auto-insert + '("\\.\\([Cc]\\)\\'" . "C source") + '(nil + "#include \"common.h\"" \n + \n + (let ((base (file-name-sans-extension buffer-file-name))) + (cond + ((file-exists-p + (concat base ".h")) + (concat "#include \"" + (file-name-nondirectory (concat base ".h")) + "\"\n\n")))) + > _ \n))) +(eval-after-load 'autoinsert + '(define-auto-insert + '("[Mm]akefile\\'" . "Makefile") + '(nil + ".PHONY: all clean" \n + \n + "all: " _ \n + \n + "clean:" \n + \n))) +(eval-after-load 'autoinsert + '(define-auto-insert + '("\\.\\(py\\)\\'" . "Python source") + '(nil + "#!/usr/bin/env python" \n + \n + _ \n))) +(eval-after-load 'autoinsert + '(define-auto-insert + '("\\.\\(java\\)\\'" . "Java source") + '((capitalize + (file-name-base buffer-file-name)) + "package " (mapconcat 'identity (member "com" (split-string (file-name-directory buffer-file-name) "/" t)) ".") ";" \n + \n + "class " str " {" \n + _ \n + str "() {" ?\n + " " "}" ?\n ;; > should work here but it doesn't + "}" \n))) +(auto-insert-mode t) +;; don't ask before using auto-insert +(setq-default auto-insert-query nil) + +;; gpg +(require 'epa-file) +(epa-file-enable) + +;; keys +(global-set-key (kbd "C-c o") 'ff-find-other-file) + +;; flycheck +(require 'flycheck) +(global-flycheck-mode) + +(c-add-style + "common c" + '("gnu" + (c-basic-offset . 4) + (c-offsets-alist + . + ((substatement-open . 0) + (arglist-intro . ++) + (innamespace . 0))))) + +(add-hook 'c-mode-common-hook + (lambda() + (c-set-style "common c"))) + +(c-add-style + "default c++" + '("common c" + (c-basic-offset . 2))) + +(add-hook 'c++-mode-hook + (lambda() + (setq flycheck-clang-language-standard "c++11" + flycheck-clang-definitions '("HAVE_CONFIG_H") + flycheck-clang-include-path + '("../src" "../build")) + (c-set-style "default c++"))) + +;; Opera Java hook +(add-hook 'java-mode-hook + (lambda() + (when (and buffer-file-name + (string-match "/opera/head" buffer-file-name)) + (require 'flycheck-android-experimental) + (setq flycheck-android-java-checkstyle-jar + "../../chromium/src/third_party/checkstyle/checkstyle-6.5-all.jar" + flycheck-android-java-checkstyle-path + "tools/checkstyle" + flycheck-android-java-checkstyle-config + "checkstyle-config-android.xml" + flycheck-android-java-checkstyle-properties + "checkstyle.properties")))) + +;;; |
