mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-07 03:38:31 +00:00
Make Emacs load 2x faster
This commit is contained in:
parent
1a9f82bc9f
commit
37ca1badaf
4 changed files with 109 additions and 53 deletions
|
@ -336,9 +336,10 @@
|
||||||
(set (make-local-variable 'indent-tabs-mode) t)
|
(set (make-local-variable 'indent-tabs-mode) t)
|
||||||
(set (make-local-variable 'tab-width) 8))
|
(set (make-local-variable 'tab-width) 8))
|
||||||
|
|
||||||
(progn
|
(eval-after-load 'asm-mode
|
||||||
|
'(progn
|
||||||
(add-hook 'asm-mode-hook 'cosmo-asm-supplemental-hook)
|
(add-hook 'asm-mode-hook 'cosmo-asm-supplemental-hook)
|
||||||
(setq asm-font-lock-keywords cosmo-asm-font-lock-keywords))
|
(setq asm-font-lock-keywords cosmo-asm-font-lock-keywords)))
|
||||||
|
|
||||||
;; Make -*-unix-assembly-*- mode line work correctly like GitHub.
|
;; Make -*-unix-assembly-*- mode line work correctly like GitHub.
|
||||||
(define-derived-mode unix-assembly-mode asm-mode "UNIX Assembly")
|
(define-derived-mode unix-assembly-mode asm-mode "UNIX Assembly")
|
||||||
|
|
|
@ -104,7 +104,8 @@
|
||||||
cosmo-format-blacklist))
|
cosmo-format-blacklist))
|
||||||
(not (save-excursion
|
(not (save-excursion
|
||||||
(beginning-of-buffer)
|
(beginning-of-buffer)
|
||||||
(looking-at "/\\* clang-format off \\*/"))))
|
(or (looking-at "/\\* clang-format off \\*/")
|
||||||
|
(looking-at "// clang-format off")))))
|
||||||
(let* ((bin (cosmo--find-clang-format-bin))
|
(let* ((bin (cosmo--find-clang-format-bin))
|
||||||
(this (buffer-file-name))
|
(this (buffer-file-name))
|
||||||
(root (locate-dominating-file this ".clang-format")))
|
(root (locate-dominating-file this ".clang-format")))
|
||||||
|
|
|
@ -11,19 +11,19 @@
|
||||||
|
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(require 'asm-mode)
|
;; (require 'asm-mode)
|
||||||
(require 'cc-mode)
|
;; (require 'cc-mode)
|
||||||
(require 'fortran)
|
;; (require 'fortran)
|
||||||
(require 'cosmo-c-types)
|
;; (require 'cosmo-c-types)
|
||||||
(require 'cosmo-c-keywords)
|
;; (require 'cosmo-c-keywords)
|
||||||
(require 'cosmo-c-builtins)
|
;; (require 'cosmo-c-builtins)
|
||||||
(require 'cosmo-c-constants)
|
;; (require 'cosmo-c-constants)
|
||||||
(require 'cosmo-cpp-constants)
|
;; (require 'cosmo-cpp-constants)
|
||||||
(require 'cosmo-platform-constants)
|
;; (require 'cosmo-platform-constants)
|
||||||
(require 'dired)
|
;; (require 'dired)
|
||||||
(require 'javadown)
|
;; (require 'javadown)
|
||||||
(require 'ld-script)
|
;; (require 'ld-script)
|
||||||
(require 'make-mode)
|
;; (require 'make-mode)
|
||||||
|
|
||||||
(setq cosmo-arch
|
(setq cosmo-arch
|
||||||
(let ((arch (string-trim-right
|
(let ((arch (string-trim-right
|
||||||
|
@ -149,8 +149,12 @@
|
||||||
(format "%s/TAGS"
|
(format "%s/TAGS"
|
||||||
(or (locate-dominating-file (buffer-name) "Makefile")
|
(or (locate-dominating-file (buffer-name) "Makefile")
|
||||||
(file-name-directory (buffer-name))))))
|
(file-name-directory (buffer-name))))))
|
||||||
|
|
||||||
|
(eval-after-load 'cc-mode
|
||||||
|
'(progn
|
||||||
(add-hook 'c-mode-common-hook 'stop-asking-questions-etags)
|
(add-hook 'c-mode-common-hook 'stop-asking-questions-etags)
|
||||||
(add-hook 'c++-mode-common-hook 'stop-asking-questions-etags)
|
(add-hook 'c++-mode-common-hook 'stop-asking-questions-etags)))
|
||||||
|
|
||||||
(setq tags-revert-without-query t)
|
(setq tags-revert-without-query t)
|
||||||
(setq kill-buffer-query-functions ;; disable kill buffer w/ process question
|
(setq kill-buffer-query-functions ;; disable kill buffer w/ process question
|
||||||
(delq 'process-kill-buffer-query-function kill-buffer-query-functions))
|
(delq 'process-kill-buffer-query-function kill-buffer-query-functions))
|
||||||
|
@ -299,15 +303,30 @@
|
||||||
(local-set-key (kbd "C-c C-c") 'cosmo-compile))
|
(local-set-key (kbd "C-c C-c") 'cosmo-compile))
|
||||||
|
|
||||||
(progn
|
(progn
|
||||||
(add-hook 'makefile-mode-hook 'cosmo-compile-hook)
|
|
||||||
(add-hook 'asm-mode-hook 'cosmo-compile-hook)
|
|
||||||
(add-hook 'ld-script-mode-hook 'cosmo-compile-hook)
|
|
||||||
(add-hook 'dired-mode-hook 'cosmo-compile-hook)
|
|
||||||
(add-hook 'c-mode-common-hook 'cosmo-compile-hook)
|
|
||||||
(add-hook 'c++-mode-common-hook 'cosmo-compile-hook)
|
|
||||||
(add-hook 'fortran-mode-hook 'cosmo-compile-hook)
|
(add-hook 'fortran-mode-hook 'cosmo-compile-hook)
|
||||||
(add-hook 'protobuf-mode-hook 'cosmo-compile-hook))
|
(add-hook 'protobuf-mode-hook 'cosmo-compile-hook))
|
||||||
|
|
||||||
|
(eval-after-load 'make-mode
|
||||||
|
'(progn
|
||||||
|
(add-hook 'makefile-mode-hook 'cosmo-compile-hook)))
|
||||||
|
|
||||||
|
(eval-after-load 'asm-mode
|
||||||
|
'(progn
|
||||||
|
(add-hook 'asm-mode-hook 'cosmo-compile-hook)))
|
||||||
|
|
||||||
|
(eval-after-load 'dired
|
||||||
|
'(progn
|
||||||
|
(add-hook 'dired-mode-hook 'cosmo-compile-hook)))
|
||||||
|
|
||||||
|
(eval-after-load 'ld-script
|
||||||
|
'(progn
|
||||||
|
(add-hook 'ld-script-mode-hook 'cosmo-compile-hook)))
|
||||||
|
|
||||||
|
(eval-after-load 'cc-mode
|
||||||
|
'(progn
|
||||||
|
(add-hook 'c-mode-common-hook 'cosmo-compile-hook)
|
||||||
|
(add-hook 'c++-mode-common-hook 'cosmo-compile-hook)))
|
||||||
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; Display assembly for C/C++ buffer
|
;; Display assembly for C/C++ buffer
|
||||||
|
@ -606,10 +625,13 @@
|
||||||
(add-hook 'asm-mode-hook 'cosmo-assemble-hook)
|
(add-hook 'asm-mode-hook 'cosmo-assemble-hook)
|
||||||
(add-hook 'ld-script-mode-hook 'cosmo-assemble-hook)
|
(add-hook 'ld-script-mode-hook 'cosmo-assemble-hook)
|
||||||
(add-hook 'dired-mode-hook 'cosmo-assemble-hook)
|
(add-hook 'dired-mode-hook 'cosmo-assemble-hook)
|
||||||
(add-hook 'c-mode-common-hook 'cosmo-assemble-hook)
|
|
||||||
(add-hook 'fortran-mode-hook 'cosmo-assemble-hook)
|
(add-hook 'fortran-mode-hook 'cosmo-assemble-hook)
|
||||||
(add-hook 'protobuf-mode-hook 'cosmo-assemble-hook))
|
(add-hook 'protobuf-mode-hook 'cosmo-assemble-hook))
|
||||||
|
|
||||||
|
(eval-after-load 'cc-mode
|
||||||
|
'(progn
|
||||||
|
(add-hook 'c-mode-common-hook 'cosmo-assemble-hook)))
|
||||||
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; Run buffer.
|
;; Run buffer.
|
||||||
|
@ -688,18 +710,34 @@
|
||||||
('t
|
('t
|
||||||
(error "cosmo-run: unknown major mode")))))))
|
(error "cosmo-run: unknown major mode")))))))
|
||||||
|
|
||||||
(progn
|
(eval-after-load 'cc-mode
|
||||||
(define-key asm-mode-map (kbd "C-c C-r") 'cosmo-run)
|
'(progn
|
||||||
(define-key c-mode-base-map (kbd "C-c C-r") 'cosmo-run)
|
(define-key c-mode-base-map (kbd "C-c C-r") 'cosmo-run)
|
||||||
(define-key fortran-mode-map (kbd "C-c C-r") 'cosmo-run)
|
|
||||||
(define-key sh-mode-map (kbd "C-c C-r") 'cosmo-run)
|
|
||||||
(define-key lua-mode-map (kbd "C-c C-r") 'cosmo-run)
|
|
||||||
(define-key python-mode-map (kbd "C-c C-r") 'cosmo-run)
|
|
||||||
(define-key c-mode-map (kbd "C-c C-s") 'cosmo-run-test)
|
(define-key c-mode-map (kbd "C-c C-s") 'cosmo-run-test)
|
||||||
(define-key c++-mode-map (kbd "C-c C-s") 'cosmo-run-test)
|
(define-key c++-mode-map (kbd "C-c C-s") 'cosmo-run-test)
|
||||||
(define-key c-mode-map (kbd "C-c C-_") 'cosmo-run-win7)
|
(define-key c-mode-map (kbd "C-c C-_") 'cosmo-run-win7)
|
||||||
(define-key c-mode-map (kbd "C-c C-_") 'cosmo-run-win10)
|
(define-key c-mode-map (kbd "C-c C-_") 'cosmo-run-win10)
|
||||||
(define-key c++-mode-map (kbd "C-c C-_") 'cosmo-run-win10))
|
(define-key c++-mode-map (kbd "C-c C-_") 'cosmo-run-win10)))
|
||||||
|
|
||||||
|
(eval-after-load 'fortran-mode
|
||||||
|
'(progn
|
||||||
|
(define-key fortran-mode-map (kbd "C-c C-r") 'cosmo-run)))
|
||||||
|
|
||||||
|
(eval-after-load 'asm-mode
|
||||||
|
'(progn
|
||||||
|
(define-key asm-mode-map (kbd "C-c C-r") 'cosmo-run)))
|
||||||
|
|
||||||
|
(eval-after-load 'sh-script
|
||||||
|
'(progn
|
||||||
|
(define-key sh-mode-map (kbd "C-c C-r") 'cosmo-run)))
|
||||||
|
|
||||||
|
(eval-after-load 'lua-mode
|
||||||
|
'(progn
|
||||||
|
(define-key lua-mode-map (kbd "C-c C-r") 'cosmo-run)))
|
||||||
|
|
||||||
|
(eval-after-load 'python
|
||||||
|
'(progn
|
||||||
|
(define-key python-mode-map (kbd "C-c C-r") 'cosmo-run)))
|
||||||
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -725,9 +763,13 @@
|
||||||
(compile compile-command)
|
(compile compile-command)
|
||||||
(gdb (format "gdb -q -i=mi %s -ex run" exec))))))
|
(gdb (format "gdb -q -i=mi %s -ex run" exec))))))
|
||||||
|
|
||||||
(progn
|
(eval-after-load 'cc-mode
|
||||||
(define-key asm-mode-map (kbd "C-c C-d") 'cosmo-debug)
|
'(progn
|
||||||
(define-key c-mode-base-map (kbd "C-c C-d") 'cosmo-debug))
|
(define-key c-mode-base-map (kbd "C-c C-d") 'cosmo-debug)))
|
||||||
|
|
||||||
|
(eval-after-load 'asm-mode
|
||||||
|
'(progn
|
||||||
|
(define-key asm-mode-map (kbd "C-c C-d") 'cosmo-debug)))
|
||||||
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -819,10 +861,16 @@
|
||||||
(message header))))
|
(message header))))
|
||||||
|
|
||||||
(progn
|
(progn
|
||||||
(define-key prog-mode-map (kbd "C-c C-h") 'cosmo-add-include)
|
(define-key prog-mode-map (kbd "C-c C-h") 'cosmo-add-include))
|
||||||
(define-key asm-mode-map (kbd "C-c C-h") 'cosmo-add-include)
|
|
||||||
|
(eval-after-load 'cc-mode
|
||||||
|
'(progn
|
||||||
(define-key c-mode-base-map (kbd "C-c C-h") 'cosmo-add-include)
|
(define-key c-mode-base-map (kbd "C-c C-h") 'cosmo-add-include)
|
||||||
(define-key c++-mode-map (kbd "C-c C-h") 'cosmo-add-include))
|
(define-key c++-mode-map (kbd "C-c C-h") 'cosmo-add-include)))
|
||||||
|
|
||||||
|
(eval-after-load 'asm-mode
|
||||||
|
'(progn
|
||||||
|
(define-key asm-mode-map (kbd "C-c C-h") 'cosmo-add-include)))
|
||||||
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -843,11 +891,17 @@
|
||||||
|
|
||||||
(defun cosmo-lisp-is-the-best ()
|
(defun cosmo-lisp-is-the-best ()
|
||||||
(define-key c-mode-base-map (kbd "C-c C-o") 'cosmo-show-optinfo))
|
(define-key c-mode-base-map (kbd "C-c C-o") 'cosmo-show-optinfo))
|
||||||
(add-hook 'c-mode-common-hook 'cosmo-lisp-is-the-best)
|
|
||||||
|
(eval-after-load 'cc-mode
|
||||||
|
'(progn
|
||||||
|
(add-hook 'c-mode-common-hook 'cosmo-lisp-is-the-best)))
|
||||||
|
|
||||||
(defun cosmo-lisp-is-the-best++ ()
|
(defun cosmo-lisp-is-the-best++ ()
|
||||||
(define-key c++-mode-base-map (kbd "C-c C-o") 'cosmo-show-optinfo))
|
(define-key c++-mode-base-map (kbd "C-c C-o") 'cosmo-show-optinfo))
|
||||||
(add-hook 'c++-mode-common-hook 'cosmo-lisp-is-the-best++)
|
|
||||||
|
(eval-after-load 'cc-mode
|
||||||
|
'(progn
|
||||||
|
(add-hook 'c++-mode-common-hook 'cosmo-lisp-is-the-best++)))
|
||||||
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -867,8 +921,8 @@
|
||||||
nil `((,cosmo-cpp-constants-regex . font-lock-constant-face)
|
nil `((,cosmo-cpp-constants-regex . font-lock-constant-face)
|
||||||
(,cosmo-platform-constants-regex . font-lock-constant-face))))
|
(,cosmo-platform-constants-regex . font-lock-constant-face))))
|
||||||
|
|
||||||
(add-hook 'c-mode-common-hook 'cosmo-c-keywords-hook)
|
;; (add-hook 'c-mode-common-hook 'cosmo-c-keywords-hook)
|
||||||
(add-hook 'c++-mode-common-hook 'cosmo-c-keywords-hook)
|
;; (add-hook 'c++-mode-common-hook 'cosmo-c-keywords-hook)
|
||||||
(add-hook 'asm-mode-hook 'cosmo-asm-keywords-hook)
|
(add-hook 'asm-mode-hook 'cosmo-asm-keywords-hook)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
(require 'ld-script)
|
;; (require 'ld-script)
|
||||||
(require 'optinfo-mode)
|
;; (require 'optinfo-mode)
|
||||||
(require 'protobuf-mode)
|
;; (require 'protobuf-mode)
|
||||||
(require 'cosmo-format)
|
(require 'cosmo-format)
|
||||||
(require 'cosmo-asm-mode)
|
;; (require 'cosmo-asm-mode)
|
||||||
(require 'cosmo-stuff)
|
(require 'cosmo-stuff)
|
||||||
(provide 'cosmo)
|
(provide 'cosmo)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue