mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-03-03 07:29:23 +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 'tab-width) 8))
|
||||
|
||||
(progn
|
||||
(add-hook 'asm-mode-hook 'cosmo-asm-supplemental-hook)
|
||||
(setq asm-font-lock-keywords cosmo-asm-font-lock-keywords))
|
||||
(eval-after-load 'asm-mode
|
||||
'(progn
|
||||
(add-hook 'asm-mode-hook 'cosmo-asm-supplemental-hook)
|
||||
(setq asm-font-lock-keywords cosmo-asm-font-lock-keywords)))
|
||||
|
||||
;; Make -*-unix-assembly-*- mode line work correctly like GitHub.
|
||||
(define-derived-mode unix-assembly-mode asm-mode "UNIX Assembly")
|
||||
|
|
|
@ -104,7 +104,8 @@
|
|||
cosmo-format-blacklist))
|
||||
(not (save-excursion
|
||||
(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))
|
||||
(this (buffer-file-name))
|
||||
(root (locate-dominating-file this ".clang-format")))
|
||||
|
|
|
@ -11,19 +11,19 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(require 'asm-mode)
|
||||
(require 'cc-mode)
|
||||
(require 'fortran)
|
||||
(require 'cosmo-c-types)
|
||||
(require 'cosmo-c-keywords)
|
||||
(require 'cosmo-c-builtins)
|
||||
(require 'cosmo-c-constants)
|
||||
(require 'cosmo-cpp-constants)
|
||||
(require 'cosmo-platform-constants)
|
||||
(require 'dired)
|
||||
(require 'javadown)
|
||||
(require 'ld-script)
|
||||
(require 'make-mode)
|
||||
;; (require 'asm-mode)
|
||||
;; (require 'cc-mode)
|
||||
;; (require 'fortran)
|
||||
;; (require 'cosmo-c-types)
|
||||
;; (require 'cosmo-c-keywords)
|
||||
;; (require 'cosmo-c-builtins)
|
||||
;; (require 'cosmo-c-constants)
|
||||
;; (require 'cosmo-cpp-constants)
|
||||
;; (require 'cosmo-platform-constants)
|
||||
;; (require 'dired)
|
||||
;; (require 'javadown)
|
||||
;; (require 'ld-script)
|
||||
;; (require 'make-mode)
|
||||
|
||||
(setq cosmo-arch
|
||||
(let ((arch (string-trim-right
|
||||
|
@ -149,8 +149,12 @@
|
|||
(format "%s/TAGS"
|
||||
(or (locate-dominating-file (buffer-name) "Makefile")
|
||||
(file-name-directory (buffer-name))))))
|
||||
(add-hook 'c-mode-common-hook 'stop-asking-questions-etags)
|
||||
(add-hook 'c++-mode-common-hook 'stop-asking-questions-etags)
|
||||
|
||||
(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)))
|
||||
|
||||
(setq tags-revert-without-query t)
|
||||
(setq kill-buffer-query-functions ;; disable kill buffer w/ process question
|
||||
(delq 'process-kill-buffer-query-function kill-buffer-query-functions))
|
||||
|
@ -299,15 +303,30 @@
|
|||
(local-set-key (kbd "C-c C-c") 'cosmo-compile))
|
||||
|
||||
(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 '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
|
||||
|
@ -606,10 +625,13 @@
|
|||
(add-hook 'asm-mode-hook 'cosmo-assemble-hook)
|
||||
(add-hook 'ld-script-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 'protobuf-mode-hook 'cosmo-assemble-hook))
|
||||
|
||||
(eval-after-load 'cc-mode
|
||||
'(progn
|
||||
(add-hook 'c-mode-common-hook 'cosmo-assemble-hook)))
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Run buffer.
|
||||
|
@ -688,18 +710,34 @@
|
|||
('t
|
||||
(error "cosmo-run: unknown major mode")))))))
|
||||
|
||||
(progn
|
||||
(define-key asm-mode-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-_") '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))
|
||||
(eval-after-load 'cc-mode
|
||||
'(progn
|
||||
(define-key c-mode-base-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-_") '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)))
|
||||
|
||||
(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)
|
||||
(gdb (format "gdb -q -i=mi %s -ex run" exec))))))
|
||||
|
||||
(progn
|
||||
(define-key asm-mode-map (kbd "C-c C-d") 'cosmo-debug)
|
||||
(define-key c-mode-base-map (kbd "C-c C-d") 'cosmo-debug))
|
||||
(eval-after-load 'cc-mode
|
||||
'(progn
|
||||
(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))))
|
||||
|
||||
(progn
|
||||
(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)
|
||||
(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 prog-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-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 ()
|
||||
(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++ ()
|
||||
(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)
|
||||
(,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)
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
(require 'ld-script)
|
||||
(require 'optinfo-mode)
|
||||
(require 'protobuf-mode)
|
||||
;; (require 'ld-script)
|
||||
;; (require 'optinfo-mode)
|
||||
;; (require 'protobuf-mode)
|
||||
(require 'cosmo-format)
|
||||
(require 'cosmo-asm-mode)
|
||||
;; (require 'cosmo-asm-mode)
|
||||
(require 'cosmo-stuff)
|
||||
(provide 'cosmo)
|
||||
|
|
Loading…
Add table
Reference in a new issue