From 92e588ba16c6a04312587de48d6cfc010ca0816c Mon Sep 17 00:00:00 2001 From: "Mingde (Matthew) Zeng" Date: Wed, 12 Aug 2020 21:42:14 -0400 Subject: [PATCH] Remove Last-Updated and Bump version to 3.0 Signed-off-by: Mingde (Matthew) Zeng --- README.md | 507 ++++++++++++------------- early-init.el | 4 +- elisp/init-ace-window.el | 4 +- elisp/init-avy.el | 4 +- elisp/init-buffer.el | 4 +- elisp/init-buildsystem.el | 4 +- elisp/init-cc.el | 4 +- elisp/init-comment.el | 4 +- elisp/init-company.el | 4 +- elisp/init-const.el | 4 +- elisp/init-crux.el | 4 +- elisp/init-dashboard.el | 4 +- elisp/init-dired.el | 4 +- elisp/init-discover-my-major.el | 4 +- elisp/init-dumb-jump.el | 4 +- elisp/init-eaf.el | 4 +- elisp/init-edit.el | 4 +- elisp/init-ein.el | 4 +- elisp/init-epaint.el | 4 +- elisp/init-erc.el | 4 +- elisp/init-ess.el | 4 +- elisp/init-eww.el | 4 +- elisp/init-flycheck.el | 4 +- elisp/init-fonts.el | 4 +- elisp/init-format.el | 4 +- elisp/init-func.el | 4 +- elisp/init-games.el | 4 +- elisp/init-global-config.el | 4 +- elisp/init-haskell.el | 4 +- elisp/init-header.el | 4 +- elisp/init-indent.el | 4 +- elisp/init-input-method.el | 4 +- elisp/init-java.el | 4 +- elisp/init-latex.el | 4 +- elisp/init-leetcode.el | 4 +- elisp/init-lsp.el | 4 +- elisp/init-magit.el | 4 +- elisp/init-mu4e.el | 5 +- elisp/init-org.el | 4 +- elisp/init-package.el | 4 +- elisp/init-parens.el | 4 +- elisp/init-pdf.el | 4 +- elisp/init-popup-kill-ring.el | 4 +- elisp/init-projectile.el | 4 +- elisp/init-python.el | 4 +- elisp/init-quickrun.el | 4 +- elisp/init-scroll.el | 4 +- elisp/init-search.el | 4 +- elisp/init-shell.el | 4 +- elisp/init-theme.el | 4 +- elisp/init-tramp.el | 4 +- elisp/init-treemacs.el | 4 +- elisp/init-ui-config.el | 4 +- elisp/init-undo-tree.el | 4 +- elisp/init-webdev.el | 4 +- elisp/init-which-key.el | 4 +- elisp/init-winner.el | 4 +- elisp/init-yasnippet.el | 4 +- elisp/init-zone.el | 4 +- init.el | 4 +- init.org | 256 ++++++------- site-elisp/emacs-application-framework | 2 +- 62 files changed, 428 insertions(+), 574 deletions(-) diff --git a/README.md b/README.md index a00d327a..94ebc74d 100644 --- a/README.md +++ b/README.md @@ -1,112 +1,112 @@ - + # M-EMACS # Table of Contents :TOC_2_ORG: -- [M-EMACS](#org8f53c81) -- [About EMACS](#org0b2151e) -- [About M-EMACS](#org6151a52) - - [Screenshot](#org024455d) - - [About README](#orgcb393b1) - - [Installation](#org6206a1e) - - [Modification](#org4eacc69) - - [Contribution](#orgae54888) - - [Special Thanks](#orgc05efdc) -- [Startup](#orgfb5558b) - - [Lexical Binding](#orgab55ed9) - - [Early Init](#org560ec11) - - [Garbage Collection](#orge3b134d) - - [Load Path](#org12bad66) - - [Define Constants](#org219e7b9) -- [Package Management](#org3b78b48) - - [Melpa Packages](#org8abcb24) - - [Non-Melpa Packages](#org844bfcf) - - [Configure Package Manager](#orgb7294f0) - - [Use Package](#orge2d7f7f) - - [Auto Package Update](#org829a455) - - [Diminish](#orga50ebfa) -- [Global Functionalities](#orgeb56733) - - [User Information](#orgd157480) - - [Bindings](#orge383d3b) - - [Avy](#orgda56346) - - [Crux](#org3c4f46a) - - [Ivy, Amx, Counsel, Swiper](#orgc66e91f) - - [Color Ripgrep](#org48f944b) - - [Find File In Project](#orgf98c071) - - [Snails](#orgbf47284) - - [Files Directories](#org91ebd4d) - - [Winner](#org4d3c17f) - - [Which Key](#org219c6b7) - - [Popup Kill Ring](#org9b6f70e) - - [Undo Tree](#org2832898) - - [Discover My Major](#orgc122244) - - [Ace Window](#orgaee92bd) - - [Terminal](#org4c7e435) - - [Sudo Edit](#org7986db2) - - [Ibuffer](#org6739d1f) - - [Configs](#orgaa2d49c) - - [Functions](#org80339f8) -- [User Interface Enhancements](#org24e6404) - - [Doom Themes](#org050ae37) - - [Doom Modeline](#org72dde44) - - [Dashboard](#orgec16cfd) - - [Fonts and Icons](#org931bbcb) - - [Smooth Scrolling](#org92cd370) - - [Prettify Symbols](#org6cf4acf) - - [UI Configs](#orgd3431d6) -- [General Programming](#orgcef1940) - - [Magit](#org994252f) - - [Projectile](#org32c4a45) - - [Treemacs](#orgd599258) - - [YASnippet](#org1f3d61c) - - [Flycheck](#org7d2895a) - - [Dumb Jump](#orga6f18e9) - - [Parenthesis](#org3d75efc) - - [Indentation](#orga25033c) - - [Quickrun](#org65680e1) - - [Format All](#orgae6700a) - - [Evil Nerd Commenter](#org57e02ca) - - [Editing](#orge99285e) - - [Headers](#orgac33a6b) - - [Jupyter Notebook](#org8ad59fe) - - [LSP](#org1bfbf52) - - [DAP](#org81e8653) - - [Company](#orga4508b2) -- [Programming](#orgcf1e562) - - [Java](#orgb5d4f3b) - - [C/C++/Objective C](#orge61814c) - - [Golang](#orgd134f6c) - - [Python](#org6f3d8eb) - - [Haskell](#org5eb1f60) - - [ESS](#orgac07fb6) - - [TeX](#org5bd18f5) - - [Buildsystem](#org3d3c788) -- [Web Development](#org4ac0cc2) - - [Web Mode](#org0cdcc91) - - [JavaScript/TypeScript](#org23fe811) - - [Emmet](#org50a49c2) - - [Instant Rename Tag](#orgd24358e) - - [JSON](#org428b3d1) -- [Miscellaneous](#org0f52ba9) - - [Org](#org491b24b) - - [EAF](#orgbd8a067) - - [ERC](#org19d3d6b) - - [EWW](#org958c99f) - - [MU4E](#org2e560b0) - - [Tramp](#org60f8a7b) - - [PDF Tools](#orgbd937ed) - - [LeetCode](#org3f9c696) - - [Input Method](#org7eb9b5b) - - [EPaint](#orgae78542) - - [Tetris](#org240b42a) - - [Speed Type](#orgd82de66) - - [2048 Game](#org2b7c617) - - [Zone](#org5deab9a) - - - +- [M-EMACS](#org75ab83a) +- [About EMACS](#org18a81bc) +- [About M-EMACS](#orga888b0c) + - [Screenshot](#org5878644) + - [About README](#org4758fcd) + - [Installation](#org1ffccb2) + - [Modification](#orgdc2b775) + - [Contribution](#orge60d504) + - [Special Thanks](#orgb00a894) +- [Startup](#org94793b1) + - [Lexical Binding](#orgc2b945f) + - [Early Init](#orgf1ff176) + - [Garbage Collection](#orge552844) + - [Load Path](#orgddb3ae8) + - [Define Constants](#org9851f74) +- [Package Management](#org1c0c02c) + - [Melpa Packages](#org5c8e806) + - [Non-Melpa Packages](#org4a388c0) + - [Configure Package Manager](#org306ccd0) + - [Use Package](#org2e2ec55) + - [Auto Package Update](#orga920723) + - [Diminish](#org29b6179) +- [Global Functionalities](#org66de643) + - [User Information](#org9b9c5b7) + - [Bindings](#org4c99c97) + - [Avy](#orgf60f207) + - [Crux](#org0178f8b) + - [Ivy, Amx, Counsel, Swiper](#orgf4d40e1) + - [Color Ripgrep](#orgd151bde) + - [Find File In Project](#orgc2f20a4) + - [Snails](#org16af3bc) + - [Files Directories](#org750ab24) + - [Winner](#org82ee000) + - [Which Key](#org0c54ffc) + - [Popup Kill Ring](#org7baed6e) + - [Undo Tree](#orgaf6edaf) + - [Discover My Major](#orgf5477dc) + - [Ace Window](#orgbac6872) + - [Terminal](#orgf4cda34) + - [Sudo Edit](#org68e4eaf) + - [Ibuffer](#org58df7c5) + - [Configs](#org4dec9c5) + - [Functions](#org6cd8177) +- [User Interface Enhancements](#orgce90f31) + - [Doom Themes](#org79fd0d9) + - [Doom Modeline](#org3f6d1bf) + - [Dashboard](#orgd5e841c) + - [Fonts and Icons](#org0835e59) + - [Smooth Scrolling](#org6139274) + - [Prettify Symbols](#orge0180ca) + - [UI Configs](#org525adf2) +- [General Programming](#orge7e5ed9) + - [Magit](#org45f3dcf) + - [Projectile](#orgf53542d) + - [Treemacs](#orgfe3ca5c) + - [YASnippet](#org20fe47b) + - [Flycheck](#org1231524) + - [Dumb Jump](#org22829df) + - [Parenthesis](#org9be1144) + - [Indentation](#org1611956) + - [Quickrun](#orgb2b004d) + - [Format All](#org2ea052d) + - [Evil Nerd Commenter](#org52e0d5d) + - [Editing](#orgda679e2) + - [Headers](#orgf27584b) + - [Jupyter Notebook](#org04115b3) + - [LSP](#org553c588) + - [DAP](#orgc76030e) + - [Company](#org58f9073) +- [Programming](#orgd556748) + - [Java](#org45fa5f9) + - [C/C++/Objective C](#orgfc57bf6) + - [Golang](#orgc813349) + - [Python](#org8445bd5) + - [Haskell](#org6ff800b) + - [ESS](#orgf4a62e7) + - [TeX](#orgeb0b888) + - [Buildsystem](#orgcb50c88) +- [Web Development](#org909eeeb) + - [Web Mode](#org295006e) + - [JavaScript/TypeScript](#org072df0d) + - [Emmet](#org01e4dfa) + - [Instant Rename Tag](#org4c363f5) + - [JSON](#orgf6a6ab6) +- [Miscellaneous](#org641bab2) + - [Org](#org40f8a90) + - [EAF](#org2915d05) + - [ERC](#orgf7a4ccd) + - [EWW](#org19b578d) + - [MU4E](#org2288a6c) + - [Tramp](#org40fe5e6) + - [PDF Tools](#orgf2dfde4) + - [LeetCode](#orgad6408f) + - [Input Method](#orgede3e18) + - [EPaint](#orgaf1e51d) + - [Tetris](#orgebcf48d) + - [Speed Type](#orgef70174) + - [2048 Game](#orgf478af7) + - [Zone](#orgaf63fa1) + + + # About EMACS @@ -137,7 +137,7 @@ Emacs doesn't have a monopoly on good ideas, and there are other great tools out *This beautifully written **About EMACS** section credits to [Remacs](https://github.com/remacs/remacs).* - + # About M-EMACS @@ -148,21 +148,21 @@ As a young EMACSer, I have experienced the struggle to find a detailed configura This configuration is designed and tested for **GNU Emacs 26.1 and above only**. However, it is suggested to use **emacs27**, the latest version currently available. - + ## Screenshot ![img](images/Sample.png) - + ## About README This README is originated from `init.org` that is generated using `M-x org-gfm-export-to-markdown`. Every block of code is generated through this function - it exports sections of code from the `elisp/` directory. You will not see their presence in `init.org`. - + ## Installation @@ -210,7 +210,7 @@ I will be updating M-EMACS from time to time, it is best to `git pull` once a wh Please also execute `git submodule update --recursive --remote` to sync with all the submodules. - + ## Modification @@ -228,14 +228,14 @@ However, what is *free* stays *free*. After all, this is [GPL](LICENSE). 6. Call `M-x org-gfm-export-to-markdown` to update `README.md` automatically. - + ## Contribution If you spotted a bug or you have any suggestions, please fill in an issue. If you have something to fix, feel free to create a pull request. - + ## Special Thanks @@ -246,12 +246,12 @@ Everyone starts somewhere, and I started here. - [Poncie Reyes's .emacs.d](https://github.com/poncie/.emacs.d) - + # Startup - + ## Lexical Binding @@ -264,7 +264,7 @@ Use lexical-binding. [Why?](https://nullprogram.com/blog/2016/12/22/) ``` - + ## Early Init @@ -341,7 +341,7 @@ It will be faster to disable them here before they've been initialized. ``` - + ## Garbage Collection @@ -388,7 +388,7 @@ Garbage Collect when Emacs is out of focus and avoid garbage collection when usi ``` - + ## Load Path @@ -412,15 +412,11 @@ Since all the configuration files are stored in `elisp/` folder, they need to be ``` - + ## Define Constants ```emacs-lisp -(defconst *sys/gui* - (display-graphic-p) - "Are we running on a GUI Emacs?") - (defconst *sys/win32* (eq system-type 'windows-nt) "Are we running on a WinTel system?") @@ -433,63 +429,26 @@ Since all the configuration files are stored in `elisp/` folder, they need to be (eq system-type 'darwin) "Are we running on a Mac system?") -(defconst *sys/root* - (string-equal "root" (getenv "USER")) - "Are you a ROOT user?") - -(defconst *rg* - (executable-find "rg") - "Do we have ripgrep?") - -(defconst *find* - (executable-find "find") - "Do we have GNU find?") - -(defconst *python* +(defconst python-p (or (executable-find "python3") (and (executable-find "python") (> (length (shell-command-to-string "python --version | grep 'Python 3'")) 0))) "Do we have python3?") -(defconst *pip* +(defconst pip-p (or (executable-find "pip3") (and (executable-find "pip") (> (length (shell-command-to-string "pip --version | grep 'python 3'")) 0))) "Do we have pip3?") -(defconst *tr* - (executable-find "tr") - "Do we have tr?") - -(defconst *mvn* - (executable-find "mvn") - "Do we have Maven?") - -(defconst *clangd* +(defconst clangd-p (or (executable-find "clangd") ;; usually (executable-find "/usr/local/opt/llvm/bin/clangd")) ;; macOS "Do we have clangd?") - -(defconst *gcc* - (executable-find "gcc") - "Do we have gcc?") - -(defconst *git* - (executable-find "git") - "Do we have git?") - -(defconst *fcitx5* - (executable-find "fcitx5") - "Do we have GNU fcitx5?") - -(defconst *eaf-env* - (and *sys/linux* *sys/gui* *python* *pip* - (not (equal (shell-command-to-string "pip freeze | grep '^PyQt\\|PyQtWebEngine'") ""))) - "Check basic requirements for EAF to run.") ``` - + # Package Management @@ -501,7 +460,7 @@ Some packages are disabled with the `:disabled` tag, because I don't use them ve ``` - + ## Melpa Packages @@ -521,7 +480,7 @@ Configure package archives, where to install online packages and add them to `lo ``` - + ## Non-Melpa Packages @@ -546,7 +505,7 @@ git submodule update ``` - + ## Configure Package Manager @@ -562,7 +521,7 @@ git submodule update ``` - + ## Use Package @@ -588,7 +547,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Auto Package Update @@ -607,7 +566,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Diminish @@ -618,12 +577,12 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + # Global Functionalities - + ## User Information @@ -635,7 +594,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Bindings @@ -657,7 +616,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Avy @@ -677,7 +636,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Crux @@ -698,7 +657,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Ivy, Amx, Counsel, Swiper @@ -737,7 +696,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Color Ripgrep @@ -748,12 +707,12 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ```emacs-lisp (use-package color-rg :load-path (lambda () (expand-file-name "site-elisp/color-rg" user-emacs-directory)) - :if *rg* + :if (executable-find "rg") :bind ("C-M-s" . color-rg-search-input)) ``` - + ## Find File In Project @@ -763,13 +722,16 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ```emacs-lisp (use-package find-file-in-project - :if *find* + :if (executable-find "find") + :init + (when (executable-find "fd") + (setq ffip-use-rust-fd t)) :bind (("C-z o" . ffap) ("C-z p" . ffip))) ``` - + ## Snails @@ -778,7 +740,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ```emacs-lisp (use-package snails :load-path (lambda () (expand-file-name "site-elisp/snails/" user-emacs-directory)) - :if *sys/gui* + :if (display-graphic-p) :custom-face (snails-content-buffer-face ((t (:background "#111" :height 110)))) (snails-input-buffer-face ((t (:background "#222" :foreground "gold" :height 110)))) @@ -799,7 +761,7 @@ My Emacs configuration is almost entirely dependant on [use-package](https://git ``` - + ## Files Directories @@ -866,7 +828,7 @@ Dired, the directory editor. ``` - + ## Winner @@ -892,7 +854,7 @@ Winner, a mode to restore previous window layouts. ``` - + ## Which Key @@ -909,7 +871,7 @@ Winner, a mode to restore previous window layouts. ``` - + ## Popup Kill Ring @@ -921,7 +883,7 @@ Winner, a mode to restore previous window layouts. ``` - + ## Undo Tree @@ -938,7 +900,7 @@ Winner, a mode to restore previous window layouts. ``` - + ## Discover My Major @@ -950,7 +912,7 @@ Winner, a mode to restore previous window layouts. ``` - + ## Ace Window @@ -962,7 +924,7 @@ Winner, a mode to restore previous window layouts. ``` - + ## Terminal @@ -1036,12 +998,12 @@ Winner, a mode to restore previous window layouts. ```emacs-lisp (use-package term-keys - :if (not *sys/gui*) + :if (not (display-graphic-p)) :config (term-keys-mode t)) ``` - + ## Sudo Edit @@ -1053,7 +1015,7 @@ Winner, a mode to restore previous window layouts. ``` - + ## Ibuffer @@ -1085,7 +1047,7 @@ It uses [IBuffer VC](https://github.com/purcell/ibuffer-vc) that group buffers b ``` - + ## Configs @@ -1106,7 +1068,7 @@ Use UTF-8 as much as possible with unix line endings. (set-keyboard-coding-system 'utf-8) (setq locale-coding-system 'utf-8)) ;; Treat clipboard input as UTF-8 string first; compound text next, etc. -(when *sys/gui* +(when (display-graphic-p) (setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))) ``` @@ -1134,7 +1096,12 @@ The original function deletes trailing whitespace of the current line." (delete-trailing-whitespace) (widen)))))) -(add-hook 'before-save-hook #'delete-trailing-whitespace-except-current-line) +(defun smart-delete-trailing-whitespace () + "Invoke `delete-trailing-whitespace-except-current-line' on selected major modes only." + (unless (member major-mode '(diff-mode)) + (delete-trailing-whitespace-except-current-line))) + +(add-hook 'before-save-hook #'smart-delete-trailing-whitespace) ;; Replace selection on insert (delete-selection-mode 1) @@ -1219,7 +1186,7 @@ The original function deletes trailing whitespace of the current line." ``` - + ## Functions @@ -1388,12 +1355,12 @@ FACE defaults to inheriting from default and highlight." ``` - + # User Interface Enhancements - + ## Doom Themes @@ -1412,7 +1379,7 @@ FACE defaults to inheriting from default and highlight." ``` - + ## Doom Modeline @@ -1432,7 +1399,7 @@ FACE defaults to inheriting from default and highlight." ``` - + ## Dashboard @@ -1506,7 +1473,7 @@ Use either `KEC_Dark_BK.png` or `KEC_Light_BK.png` depends on the backgrond them ``` - + ## Fonts and Icons @@ -1541,7 +1508,7 @@ Function to switch between fonts. (set-frame-font font-setting nil t) (add-to-list 'default-frame-alist (cons 'font font-setting))))) -(when *sys/gui* +(when (display-graphic-p) (change-font)) ``` @@ -1551,11 +1518,11 @@ Function to switch between fonts. [All The Icons](https://github.com/domtronn/all-the-icons.el), a utility package to collect various Icon Fonts. Enable only in GUI Emacs. ```emacs-lisp -(use-package all-the-icons :if *sys/gui*) +(use-package all-the-icons :if (display-graphic-p)) ``` - + ## Smooth Scrolling @@ -1578,7 +1545,7 @@ Configurations to smooth scrolling. ``` - + ## Prettify Symbols @@ -1602,7 +1569,7 @@ Configurations to smooth scrolling. ``` - + ## UI Configs @@ -1655,12 +1622,12 @@ Display time and battery information in modeline. ``` - + # General Programming - + ## Magit @@ -1668,8 +1635,11 @@ Display time and battery information in modeline. ```emacs-lisp (use-package magit - :if *git* - :bind ("C-x g" . magit-status) + :if (executable-find "git") + :bind + (("C-x g" . magit-status) + (:map magit-status-mode-map + ("M-RET" . magit-diff-visit-file-other-window))) :config (defun magit-log-follow-current-file () "A wrapper around `magit-log-buffer-file' with `--follow' argument." @@ -1678,7 +1648,7 @@ Display time and battery information in modeline. ``` - + ## Projectile @@ -1696,13 +1666,14 @@ Display time and battery information in modeline. (projectile-completion-system 'ivy) :config (projectile-mode 1) - (when (and *sys/win32* *tr*) + (when (and *sys/win32* + (executable-find "tr")) (setq projectile-indexing-method 'alien)) (add-to-list 'projectile-globally-ignored-directories "node_modules")) ``` - + ## Treemacs @@ -1781,7 +1752,7 @@ Display time and battery information in modeline. ``` - + ## YASnippet @@ -1815,7 +1786,7 @@ Display time and battery information in modeline. ``` - + ## Flycheck @@ -1834,7 +1805,7 @@ Display time and battery information in modeline. (flycheck-indication-mode 'right-fringe) :init (use-package flycheck-grammarly :defer t) - (if *sys/gui* + (if (display-graphic-p) (use-package flycheck-posframe :custom-face (flycheck-posframe-border-face ((t (:inherit default)))) :hook (flycheck-mode . flycheck-posframe-mode) @@ -1855,7 +1826,7 @@ Display time and battery information in modeline. ``` - + ## Dumb Jump @@ -1872,7 +1843,7 @@ Display time and battery information in modeline. ``` - + ## Parenthesis @@ -1953,7 +1924,7 @@ Match and automatically pair parenthesis, and show parenthesis even when it went ``` - + ## Indentation @@ -1961,7 +1932,7 @@ Match and automatically pair parenthesis, and show parenthesis even when it went ```emacs-lisp (use-package highlight-indent-guides - :if *sys/gui* + :if (display-graphic-p) :diminish ;; Enable manually if needed, it a severe bug which potentially core-dumps Emacs ;; https://github.com/DarthFennec/highlight-indent-guides/issues/76 @@ -1996,7 +1967,7 @@ Indentation Configuration ``` - + ## Quickrun @@ -2010,7 +1981,7 @@ Indentation Configuration ``` - + ## Format All @@ -2024,7 +1995,7 @@ Indentation Configuration ``` - + ## Evil Nerd Commenter @@ -2038,7 +2009,7 @@ Indentation Configuration ``` - + ## Editing @@ -2104,7 +2075,7 @@ Conf Mode, a simple major mode for editing conf/ini/properties files. ``` - + ## Headers @@ -2123,7 +2094,7 @@ Conf Mode, a simple major mode for editing conf/ini/properties files. ``` - + ## Jupyter Notebook @@ -2143,7 +2114,7 @@ Conf Mode, a simple major mode for editing conf/ini/properties files. ``` - + ## LSP @@ -2201,7 +2172,7 @@ Note: `lsp-ui-doc` is too annoying, so it will not be triggered upon hovering. Y (lsp-ui-sideline-show-code-actions nil) :config ;; Use lsp-ui-doc-webkit only in GUI - (if *sys/gui* + (if (display-graphic-p) (setq lsp-ui-doc-use-webkit t)) ;; WORKAROUND Hide mode-line of the lsp-ui-imenu buffer ;; https://github.com/emacs-lsp/lsp-ui/issues/243 @@ -2210,7 +2181,7 @@ Note: `lsp-ui-doc` is too annoying, so it will not be triggered upon hovering. Y ``` - + ## DAP @@ -2232,7 +2203,7 @@ Note: `lsp-ui-doc` is too annoying, so it will not be triggered upon hovering. Y ``` - + ## Company @@ -2263,7 +2234,7 @@ The function `smarter-yas-expand-next-field-complete` is to smartly resolve TAB ;; Number the candidates (use M-1, M-2 etc to select completions). (company-show-numbers t) :config - (unless *clangd* (delete 'company-clang company-backends)) + (unless clangd-p (delete 'company-clang company-backends)) (global-company-mode 1) (defun smarter-yas-expand-next-field-complete () "Try to `yas-expand' and `yas-next-field' at current cursor position. @@ -2404,7 +2375,7 @@ This is enabled by default, if ever you find it not good enough for a particular (t . nil))))) (advice-add #'company-box-icons--elisp :override #'my-company-box-icons--elisp) - (when (and *sys/gui* + (when (and (display-graphic-p) (require 'all-the-icons nil t)) (declare-function all-the-icons-faicon 'all-the-icons) (declare-function all-the-icons-material 'all-the-icons) @@ -2441,12 +2412,12 @@ This is enabled by default, if ever you find it not good enough for a particular ``` - + # Programming - + ## Java @@ -2460,7 +2431,7 @@ This is enabled by default, if ever you find it not good enough for a particular ```emacs-lisp (use-package lsp-java :after lsp-mode - :if *mvn* + :if (executable-find "mvn") :init (use-package request :defer t) :custom @@ -2469,7 +2440,7 @@ This is enabled by default, if ever you find it not good enough for a particular ``` - + ## C/C++/Objective C @@ -2525,7 +2496,7 @@ This is enabled by default, if ever you find it not good enough for a particular ``` - + ## Golang @@ -2544,7 +2515,7 @@ go get golang.org/x/tools/gopls@latest ``` - + ## Python @@ -2570,13 +2541,13 @@ go get golang.org/x/tools/gopls@latest ```emacs-lisp (use-package lsp-python-ms :after lsp-mode python - :if *python* + :if python-p :custom (lsp-python-executable-cmd "python3")) ``` - + ## Haskell @@ -2588,7 +2559,7 @@ go get golang.org/x/tools/gopls@latest ``` - + ## ESS @@ -2605,7 +2576,7 @@ go get golang.org/x/tools/gopls@latest ``` - + ## TeX @@ -2665,7 +2636,7 @@ Finally, invoke with `M-x org-latex-instant-preview-start` when needed. ``` - + ## Buildsystem @@ -2694,7 +2665,7 @@ Finally, invoke with `M-x org-latex-instant-preview-start` when needed. ``` - + # Web Development @@ -2706,7 +2677,7 @@ npm i -g typescript-language-server ``` - + ## Web Mode @@ -2723,7 +2694,7 @@ npm i -g typescript-language-server ``` - + ## JavaScript/TypeScript @@ -2750,7 +2721,7 @@ npm i -g typescript-language-server ``` - + ## Emmet @@ -2763,7 +2734,7 @@ npm i -g typescript-language-server ``` - + ## Instant Rename Tag @@ -2776,7 +2747,7 @@ npm i -g typescript-language-server ``` - + ## JSON @@ -2788,12 +2759,12 @@ npm i -g typescript-language-server ``` - + # Miscellaneous - + ## Org @@ -2900,7 +2871,7 @@ npm i -g typescript-language-server ``` - + ## EAF @@ -2917,7 +2888,8 @@ sudo apt-get install python3-pyqt5.qtwebengine python3-pyqt5.qtmultimedia ```emacs-lisp (use-package eaf :load-path (lambda () (expand-file-name "site-elisp/emacs-application-framework" user-emacs-directory)) - :if *eaf-env* + :if (and *sys/linux* (display-graphic-p) python-p pip-p + (not (equal (shell-command-to-string "pip freeze | grep '^PyQt\\|PyQtWebEngine'") ""))) :custom (eaf-find-alternate-file-in-dired t) (browse-url-browser-function 'eaf-open-browser) ;; Make EAF Browser my default browser @@ -2945,11 +2917,12 @@ sudo apt-get install python3-pyqt5.qtwebengine python3-pyqt5.qtmultimedia (eaf-bind-key zoom_in "C-=" eaf-pdf-viewer-keybinding) (eaf-bind-key zoom_out "C--" eaf-pdf-viewer-keybinding) (eaf-bind-key take_photo "p" eaf-camera-keybinding) - (eaf-bind-key eaf-send-key-sequence "M-]" eaf-terminal-keybinding)) + (eaf-bind-key eaf-send-key-sequence "M-]" eaf-terminal-keybinding) + ) ``` - + ## ERC @@ -3024,7 +2997,7 @@ machine irc.freenode.net login password port 6697 ``` - + ## EWW @@ -3039,12 +3012,12 @@ Emacs Web Wowser, the HTML-based Emacs Web Browser. (rename-buffer "eww" t))) :config ;; I am using EAF-Browser instead of EWW - (unless *eaf-env* + (unless eaf-env-p (setq browse-url-browser-function 'eww-browse-url))) ; Hit & to browse url with system browser ``` - + ## MU4E @@ -3196,7 +3169,7 @@ Emacs Web Wowser, the HTML-based Emacs Web Browser. ``` - + ## Tramp @@ -3232,7 +3205,7 @@ Connect to Google Cloud Platform using the following: ``` - + ## PDF Tools @@ -3243,7 +3216,7 @@ Connect to Google Cloud Platform using the following: ```emacs-lisp (use-package pdf-tools-install :ensure pdf-tools - :if (and *sys/gui* (not *sys/win32*) (not *eaf-env*)) + :if (and (display-graphic-p) (not *sys/win32*) (not eaf-env-p)) :mode "\\.pdf\\'" :commands (pdf-loader-install) :custom @@ -3256,7 +3229,7 @@ Connect to Google Cloud Platform using the following: ``` - + ## LeetCode @@ -3275,7 +3248,7 @@ Connect to Google Cloud Platform using the following: ``` - + ## Input Method @@ -3318,7 +3291,7 @@ Connect to Google Cloud Platform using the following: ``` - + ## EPaint @@ -3326,7 +3299,7 @@ Connect to Google Cloud Platform using the following: ```emacs-lisp (use-package epaint - :if *sys/gui* + :if (display-graphic-p) :load-path (lambda () (expand-file-name "site-elisp/epaint" user-emacs-directory)) :commands (epaint) :init @@ -3338,7 +3311,7 @@ Connect to Google Cloud Platform using the following: ``` - + ## Tetris @@ -3361,7 +3334,7 @@ Although [Tetris](https://www.emacswiki.org/emacs/TetrisMode) is part of Emacs, ``` - + ## Speed Type @@ -3373,7 +3346,7 @@ Although [Tetris](https://www.emacswiki.org/emacs/TetrisMode) is part of Emacs, ``` - + ## 2048 Game @@ -3385,7 +3358,7 @@ Although [Tetris](https://www.emacswiki.org/emacs/TetrisMode) is part of Emacs, ``` - + ## Zone diff --git a/early-init.el b/early-init.el index 65cda0a2..d7f80efb 100644 --- a/early-init.el +++ b/early-init.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Sun Jun 9 17:58:05 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Tue Sep 17 01:13:45 2019 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d init early-init ;; Compatibility: emacs-version >= 27 diff --git a/elisp/init-ace-window.el b/elisp/init-ace-window.el index 79096161..c0016f6d 100644 --- a/elisp/init-ace-window.el +++ b/elisp/init-ace-window.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Tue Apr 23 10:00:42 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Aug 8 16:02:47 2019 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d ace-window ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-avy.el b/elisp/init-avy.el index 43d24455..9f480b2e 100644 --- a/elisp/init-avy.el +++ b/elisp/init-avy.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 14 11:12:49 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Nov 7 05:55:40 2019 (-0500) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d avy ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-buffer.el b/elisp/init-buffer.el index fc74ef49..cde263f5 100644 --- a/elisp/init-buffer.el +++ b/elisp/init-buffer.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Feb 6 16:25:12 2020 (-0500) -;; Version: 2.0.0 -;; Last-Updated: -;; By: +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-buildsystem.el b/elisp/init-buildsystem.el index c74cf8ca..fdfc6d95 100644 --- a/elisp/init-buildsystem.el +++ b/elisp/init-buildsystem.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 12 16:59:51 2020 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Mar 12 17:04:16 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d docker dockerfile jenkinsfile ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-cc.el b/elisp/init-cc.el index ab468d32..abb9abe1 100644 --- a/elisp/init-cc.el +++ b/elisp/init-cc.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 10:58:29 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Jan 2 01:56:17 2020 (-0500) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d c c++ go ccls ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-comment.el b/elisp/init-comment.el index 9200a5e8..ed3850e7 100644 --- a/elisp/init-comment.el +++ b/elisp/init-comment.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Apr 5 00:21:58 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Wed Oct 16 16:44:25 2019 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d evil-nerd-commenter ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-company.el b/elisp/init-company.el index b3159f34..437e68fe 100644 --- a/elisp/init-company.el +++ b/elisp/init-company.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 10:02:00 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Jul 30 15:27:46 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d company company-tabnine ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-const.el b/elisp/init-const.el index 8148056e..a38f18e0 100644 --- a/elisp/init-const.el +++ b/elisp/init-const.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Mon Mar 18 14:20:54 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Wed Aug 12 21:33:13 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d constants ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-crux.el b/elisp/init-crux.el index c3b07570..7b9b1e15 100644 --- a/elisp/init-crux.el +++ b/elisp/init-crux.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Tue Dec 24 13:15:38 2019 (-0500) -;; Version: 2.0.0 -;; Last-Updated: Thu Dec 26 22:02:32 2019 (-0500) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d crux ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-dashboard.el b/elisp/init-dashboard.el index babff608..79f94927 100644 --- a/elisp/init-dashboard.el +++ b/elisp/init-dashboard.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 14 17:21:46 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Mon Feb 10 01:29:06 2020 (-0500) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d dashboard ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-dired.el b/elisp/init-dired.el index 65f9d1f8..f1d59dc1 100644 --- a/elisp/init-dired.el +++ b/elisp/init-dired.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 14 11:37:00 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Fri May 29 15:40:13 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d dired auto-save ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-discover-my-major.el b/elisp/init-discover-my-major.el index 4e6a5ca8..5900e1d4 100644 --- a/elisp/init-discover-my-major.el +++ b/elisp/init-discover-my-major.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 14 15:38:29 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Aug 8 16:05:23 2019 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d discover-my-major ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-dumb-jump.el b/elisp/init-dumb-jump.el index 90a8e97b..d4dac0d4 100644 --- a/elisp/init-dumb-jump.el +++ b/elisp/init-dumb-jump.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 10:11:21 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Sat Aug 24 22:07:00 2019 (+0000) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-eaf.el b/elisp/init-eaf.el index 58aabd9a..5604f72f 100644 --- a/elisp/init-eaf.el +++ b/elisp/init-eaf.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Tue Jun 4 00:26:09 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Wed Aug 12 21:33:10 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d pdf-tools ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-edit.el b/elisp/init-edit.el index 96d5ed24..2f44a177 100644 --- a/elisp/init-edit.el +++ b/elisp/init-edit.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 28 13:25:24 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu May 14 14:27:10 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d iedit ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-ein.el b/elisp/init-ein.el index 8d3c72c8..abe946c3 100644 --- a/elisp/init-ein.el +++ b/elisp/init-ein.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 21 14:04:50 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Aug 8 16:05:40 2019 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d ein jupyter ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-epaint.el b/elisp/init-epaint.el index a838127b..7dbeaafa 100644 --- a/elisp/init-epaint.el +++ b/elisp/init-epaint.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Mon Sep 16 15:47:34 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Wed Aug 12 21:28:45 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d epaint ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-erc.el b/elisp/init-erc.el index 11307e5f..87a21068 100644 --- a/elisp/init-erc.el +++ b/elisp/init-erc.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Tue Jul 30 22:15:50 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Jul 2 22:02:47 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d erc irc ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-ess.el b/elisp/init-ess.el index 7569a181..d33b2130 100644 --- a/elisp/init-ess.el +++ b/elisp/init-ess.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Tue Sep 3 21:28:26 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Wed Sep 4 00:27:58 2019 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d ess ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-eww.el b/elisp/init-eww.el index c335e69f..ad286ae9 100644 --- a/elisp/init-eww.el +++ b/elisp/init-eww.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 11:13:42 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Jul 30 15:31:57 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d eww ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-flycheck.el b/elisp/init-flycheck.el index 0a3c6cab..3bc91873 100644 --- a/elisp/init-flycheck.el +++ b/elisp/init-flycheck.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 10:08:22 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Wed Aug 12 21:29:06 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d flycheck ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-fonts.el b/elisp/init-fonts.el index 30318bfb..6d4acac1 100644 --- a/elisp/init-fonts.el +++ b/elisp/init-fonts.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 14 17:32:54 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Wed Aug 12 21:29:18 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d fonts ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-format.el b/elisp/init-format.el index 61fd4067..5a5f04a6 100644 --- a/elisp/init-format.el +++ b/elisp/init-format.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 10:27:40 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Aug 8 16:05:52 2019 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d format-all ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-func.el b/elisp/init-func.el index 36580b79..2d20e0f4 100644 --- a/elisp/init-func.el +++ b/elisp/init-func.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Sun Jun 9 17:53:44 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Mon Jan 13 00:11:47 2020 (-0500) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-games.el b/elisp/init-games.el index 74bb4a56..c91bd3cb 100644 --- a/elisp/init-games.el +++ b/elisp/init-games.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 11:16:53 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Dec 26 02:55:21 2019 (-0500) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d tetris speed-type 2048 ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-global-config.el b/elisp/init-global-config.el index 95b603a9..f3adbb29 100644 --- a/elisp/init-global-config.el +++ b/elisp/init-global-config.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 14 14:01:54 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Wed Aug 12 21:29:30 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-haskell.el b/elisp/init-haskell.el index a5bdac39..77459737 100644 --- a/elisp/init-haskell.el +++ b/elisp/init-haskell.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Tue Apr 23 10:00:42 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Sat Jan 4 22:35:24 2020 (-0500) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d haskell ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-header.el b/elisp/init-header.el index 507999dc..4e5a69a8 100644 --- a/elisp/init-header.el +++ b/elisp/init-header.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 10:32:02 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Tue Dec 24 11:54:28 2019 (-0500) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d header2 ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-indent.el b/elisp/init-indent.el index 163a946b..1da975a4 100644 --- a/elisp/init-indent.el +++ b/elisp/init-indent.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 10:29:56 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Wed Aug 12 21:29:37 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d highlight-indent-guides indentation ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-input-method.el b/elisp/init-input-method.el index fe8643c5..d9a1695c 100644 --- a/elisp/init-input-method.el +++ b/elisp/init-input-method.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Jun 20 00:36:05 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Jul 30 15:29:14 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d init ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-java.el b/elisp/init-java.el index cde41aa2..ca607472 100644 --- a/elisp/init-java.el +++ b/elisp/init-java.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Jul 4 21:26:24 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Wed Aug 12 21:29:51 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d lsp-java java-one-click-run ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-latex.el b/elisp/init-latex.el index e4745d4e..fbb53d85 100644 --- a/elisp/init-latex.el +++ b/elisp/init-latex.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Wed Sep 4 16:35:00 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Sun Jun 14 22:10:23 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d auctex ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-leetcode.el b/elisp/init-leetcode.el index ecba587d..693c7e8a 100644 --- a/elisp/init-leetcode.el +++ b/elisp/init-leetcode.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Apr 11 22:28:41 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Sat Sep 7 00:52:17 2019 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d leetcode ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-lsp.el b/elisp/init-lsp.el index 5965f8e9..d7fcc6e4 100644 --- a/elisp/init-lsp.el +++ b/elisp/init-lsp.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 10:42:09 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Wed Aug 12 21:30:02 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d lsp ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-magit.el b/elisp/init-magit.el index c34a18db..4d927fa7 100644 --- a/elisp/init-magit.el +++ b/elisp/init-magit.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 08:40:27 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Aug 6 13:24:16 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d magit ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-mu4e.el b/elisp/init-mu4e.el index 56db7727..b1517672 100644 --- a/elisp/init-mu4e.el +++ b/elisp/init-mu4e.el @@ -5,10 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Mon Dec 2 15:17:14 2019 (-0500) -;; Version: 2.0.0 -;; Package-Requires: (mu4e) -;; Last-Updated: -;; By: +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d mu mu4e ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-org.el b/elisp/init-org.el index 50c4a0a8..3c0006dd 100644 --- a/elisp/init-org.el +++ b/elisp/init-org.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 11:09:30 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Jun 18 13:32:19 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d org toc-org htmlize ox-gfm ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-package.el b/elisp/init-package.el index 048f92d7..5e1b2801 100644 --- a/elisp/init-package.el +++ b/elisp/init-package.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 14 10:53:00 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Wed Jan 1 10:31:21 2020 (-0500) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d packages use-package ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-parens.el b/elisp/init-parens.el index 2a03de87..26073d46 100644 --- a/elisp/init-parens.el +++ b/elisp/init-parens.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 10:17:13 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Fri Jan 17 11:00:25 2020 (-0500) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d parenthesis smartparens delete-block ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-pdf.el b/elisp/init-pdf.el index f7e62597..9b02106e 100644 --- a/elisp/init-pdf.el +++ b/elisp/init-pdf.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Tue Jun 4 00:26:09 2019 (-0400) -;; Version: 1.0.0 -;; Last-Updated: Thu Jul 30 15:31:57 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d pdf-tools ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-popup-kill-ring.el b/elisp/init-popup-kill-ring.el index 68c679bd..c8229a8b 100644 --- a/elisp/init-popup-kill-ring.el +++ b/elisp/init-popup-kill-ring.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 14 15:15:40 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Aug 8 16:07:32 2019 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d popup-kill-ring ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-projectile.el b/elisp/init-projectile.el index ff6e9c45..0f0d6f0a 100644 --- a/elisp/init-projectile.el +++ b/elisp/init-projectile.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 09:10:23 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Jul 30 15:27:05 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d projectile ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-python.el b/elisp/init-python.el index a5afc275..3e423caa 100644 --- a/elisp/init-python.el +++ b/elisp/init-python.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Mon Jun 10 18:58:02 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Jul 30 15:59:34 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: lsp-python-ms ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-quickrun.el b/elisp/init-quickrun.el index 4d4eb6e7..cf6df5da 100644 --- a/elisp/init-quickrun.el +++ b/elisp/init-quickrun.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Sun Jul 7 16:32:16 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Aug 8 16:07:44 2019 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d init ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-scroll.el b/elisp/init-scroll.el index f05dbeb7..3cde14f3 100644 --- a/elisp/init-scroll.el +++ b/elisp/init-scroll.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 08:30:08 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Aug 8 16:07:50 2019 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d smooth-scroll ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-search.el b/elisp/init-search.el index b5301160..12b1d77a 100644 --- a/elisp/init-search.el +++ b/elisp/init-search.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 14 11:01:43 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Wed Aug 12 21:31:57 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d color-rg rg ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-shell.el b/elisp/init-shell.el index c29a8f55..52c4bfa2 100644 --- a/elisp/init-shell.el +++ b/elisp/init-shell.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Tue Mar 19 09:20:19 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Jul 30 15:24:34 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d shell shell-here ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-theme.el b/elisp/init-theme.el index aeb880d8..ce0a0d75 100644 --- a/elisp/init-theme.el +++ b/elisp/init-theme.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 14 17:11:56 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Mon Jan 6 14:32:34 2020 (-0500) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d doom-themes doom-modeline ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-tramp.el b/elisp/init-tramp.el index 0e330a47..748d7430 100644 --- a/elisp/init-tramp.el +++ b/elisp/init-tramp.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Aug 9 21:48:32 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Wed Oct 16 16:05:51 2019 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d tramp ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-treemacs.el b/elisp/init-treemacs.el index bc93c9da..d6c35105 100644 --- a/elisp/init-treemacs.el +++ b/elisp/init-treemacs.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 09:56:12 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Tue Dec 24 11:56:52 2019 (-0500) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d treemacs ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-ui-config.el b/elisp/init-ui-config.el index 1b45b8ea..6828ea70 100644 --- a/elisp/init-ui-config.el +++ b/elisp/init-ui-config.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 14 16:12:56 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Wed Dec 25 03:05:11 2019 (-0500) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d ui ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-undo-tree.el b/elisp/init-undo-tree.el index 85a096e7..589874e4 100644 --- a/elisp/init-undo-tree.el +++ b/elisp/init-undo-tree.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 14 15:28:48 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Wed Jan 1 18:34:37 2020 (-0500) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d undo-tree ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-webdev.el b/elisp/init-webdev.el index 68fa1f1b..185626e5 100644 --- a/elisp/init-webdev.el +++ b/elisp/init-webdev.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Fri Mar 15 11:03:43 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Tue Dec 24 12:03:28 2019 (-0500) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d web-mode js2-mode typescript-mode emmet instant-rename-tag json-mode ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-which-key.el b/elisp/init-which-key.el index 72169f52..d3ccc334 100644 --- a/elisp/init-which-key.el +++ b/elisp/init-which-key.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 14 15:06:27 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Aug 8 16:08:23 2019 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d which-key ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-winner.el b/elisp/init-winner.el index 09ad7af7..4205c255 100644 --- a/elisp/init-winner.el +++ b/elisp/init-winner.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 14 14:39:31 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Thu Aug 8 16:08:26 2019 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d winner ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-yasnippet.el b/elisp/init-yasnippet.el index 8fe5124c..29f0bdf6 100644 --- a/elisp/init-yasnippet.el +++ b/elisp/init-yasnippet.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Tue Apr 23 23:08:17 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Sat Dec 14 20:56:21 2019 (-0500) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d yasnippet ;; Compatibility: emacs-version >= 26.1 diff --git a/elisp/init-zone.el b/elisp/init-zone.el index 9b77d4fe..78e3f8f1 100644 --- a/elisp/init-zone.el +++ b/elisp/init-zone.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 14 17:38:34 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Fri Sep 13 00:41:28 2019 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d zone ;; Compatibility: emacs-version >= 26.1 diff --git a/init.el b/init.el index 9c0b0089..8154ba41 100644 --- a/init.el +++ b/init.el @@ -5,9 +5,7 @@ ;; Author: Mingde (Matthew) Zeng ;; Copyright (C) 2019 Mingde (Matthew) Zeng ;; Created: Thu Mar 14 10:15:28 2019 (-0400) -;; Version: 2.0.0 -;; Last-Updated: Fri Jun 19 16:05:51 2020 (-0400) -;; By: Mingde (Matthew) Zeng +;; Version: 3.0 ;; URL: https://github.com/MatthewZMD/.emacs.d ;; Keywords: M-EMACS .emacs.d init ;; Compatibility: emacs-version >= 26.1 diff --git a/init.org b/init.org index 029018a6..6205f049 100644 --- a/init.org +++ b/init.org @@ -204,38 +204,38 @@ Emacs27 introduces =early-init.el=, which is run before =init.el=, before package and UI initialization happens. *** Compatibility With 26 Ensure =emacs-version>=26=, manually require =early-init= configurations if =emacs-version<27=. - #+INCLUDE: "~/.emacs.d/init.el" src emacs-lisp :range-begin "CheckVer" :range-end "-CheckVer" :lines "41-53" + #+INCLUDE: "~/.emacs.d/init.el" src emacs-lisp :range-begin "CheckVer" :range-end "-CheckVer" :lines "39-51" *** Defer Garbage Collection Defer garbage collection further back in the startup process, according to [[https://github.com/hlissner/doom-emacs/blob/develop/docs/faq.org#how-does-doom-start-up-so-quickly][hlissner]]. #+BEGIN_QUOTE The GC eats up quite a bit of time, easily doubling startup time. The trick is to turn up the memory threshold as early as possible. #+END_QUOTE - #+INCLUDE: "~/.emacs.d/early-init.el" src emacs-lisp :range-begin "DeferGC" :range-end "-DeferGC" :lines "42-43" + #+INCLUDE: "~/.emacs.d/early-init.el" src emacs-lisp :range-begin "DeferGC" :range-end "-DeferGC" :lines "40-41" *** Disable =package-enable-at-startup= Package initialize occurs automatically, before =user-init-file= is loaded, but after =early-init-file=. We handle package initialization, so we must prevent Emacs from doing it early! - #+INCLUDE: "~/.emacs.d/early-init.el" src emacs-lisp :range-begin "UnsetPES" :range-end "-UnsetPES" :lines "46-47" + #+INCLUDE: "~/.emacs.d/early-init.el" src emacs-lisp :range-begin "UnsetPES" :range-end "-UnsetPES" :lines "44-45" *** Unset =file-name-handler-alist= Every file opened and loaded by Emacs will run through this list to check for a proper handler for the file, but during startup, it won’t need any of them. - #+INCLUDE: "~/.emacs.d/early-init.el" src emacs-lisp :range-begin "UnsetFNHA" :range-end "-UnsetFNHA" :lines "50-52" + #+INCLUDE: "~/.emacs.d/early-init.el" src emacs-lisp :range-begin "UnsetFNHA" :range-end "-UnsetFNHA" :lines "48-50" *** Disable =site-run-file= - #+INCLUDE: "~/.emacs.d/early-init.el" src emacs-lisp :range-begin "UnsetSRF" :range-end "-UnsetSRF" :lines "55-56" + #+INCLUDE: "~/.emacs.d/early-init.el" src emacs-lisp :range-begin "UnsetSRF" :range-end "-UnsetSRF" :lines "53-54" *** Disable Unnecessary Interface It will be faster to disable them here before they've been initialized. - #+INCLUDE: "~/.emacs.d/early-init.el" src emacs-lisp :range-begin "DisableUnnecessaryInterface" :range-end "-DisableUnnecessaryInterface" :lines "59-64" + #+INCLUDE: "~/.emacs.d/early-init.el" src emacs-lisp :range-begin "DisableUnnecessaryInterface" :range-end "-DisableUnnecessaryInterface" :lines "57-62" ** Garbage Collection *** Set =gc-cons-threshold= Smaller for Interactive Use A large =gc-cons-threshold= may cause freezing and stuttering during long-term interactive use. If you experience freezing, decrease this amount, if you increase stuttering, increase this amount. - #+INCLUDE: "~/.emacs.d/init.el" src emacs-lisp :range-begin "BetterGC" :range-end "-BetterGC" :lines "56-66" + #+INCLUDE: "~/.emacs.d/init.el" src emacs-lisp :range-begin "BetterGC" :range-end "-BetterGC" :lines "54-64" Garbage Collect when Emacs is out of focus and avoid garbage collection when using minibuffer. - #+INCLUDE: "~/.emacs.d/init.el" src emacs-lisp :range-begin "AutoGC" :range-end "-AutoGC" :lines "69-86" + #+INCLUDE: "~/.emacs.d/init.el" src emacs-lisp :range-begin "AutoGC" :range-end "-AutoGC" :lines "67-84" ** Load Path Since all the configuration files are stored in =elisp/= folder, they need to be added to =load-path= now. - #+INCLUDE: "~/.emacs.d/init.el" src emacs-lisp :range-begin "LoadPath" :range-end "-LoadPath" :lines "89-103" + #+INCLUDE: "~/.emacs.d/init.el" src emacs-lisp :range-begin "LoadPath" :range-end "-LoadPath" :lines "87-101" ** Define Constants - #+INCLUDE: "~/.emacs.d/elisp/init-const.el" src emacs-lisp :range-begin "Consts" :range-end "-Consts" :lines "46-115" + #+INCLUDE: "~/.emacs.d/elisp/init-const.el" src emacs-lisp :range-begin "Consts" :range-end "-Consts" :lines "44-72" * Package Management Some packages are disabled with the =:disabled= tag, because I don't use them very often. You can disable packages similarly yourself too: #+begin_src emacs-lisp @@ -244,7 +244,7 @@ #+end_src ** Melpa Packages Configure package archives, where to install online packages and add them to =load-path=. - #+INCLUDE: "~/.emacs.d/elisp/init-package.el" src emacs-lisp :range-begin "MelpaPackages" :range-end "-MelpaPackages" :lines "42-52" + #+INCLUDE: "~/.emacs.d/elisp/init-package.el" src emacs-lisp :range-begin "MelpaPackages" :range-end "-MelpaPackages" :lines "40-50" ** Non-Melpa Packages Add packages contained in =site-elisp/= to =load-path= too. *** Add Packages Manually from Git @@ -259,283 +259,283 @@ git submodule update #+END_SRC ** Configure Package Manager - #+INCLUDE: "~/.emacs.d/elisp/init-package.el" src emacs-lisp :range-begin "ConfigurePackageManager" :range-end "-ConfigurePackageManager" :lines "55-63" + #+INCLUDE: "~/.emacs.d/elisp/init-package.el" src emacs-lisp :range-begin "ConfigurePackageManager" :range-end "-ConfigurePackageManager" :lines "53-61" ** Use Package My Emacs configuration is almost entirely dependant on [[https://github.com/jwiegley/use-package][use-package]]. #+BEGIN_QUOTE The =use-package= macro allows you to isolate package configuration in your .emacs file in a way that is both performance-oriented and, well, tidy. I created it because I have over 80 packages that I use in Emacs, and things were getting difficult to manage. Yet with this utility my total load time is around 2 seconds, with no loss of functionality! #+END_QUOTE - #+INCLUDE: "~/.emacs.d/elisp/init-package.el" src emacs-lisp :range-begin "ConfigureUsePackage" :range-end "-ConfigureUsePackage" :lines "66-80" + #+INCLUDE: "~/.emacs.d/elisp/init-package.el" src emacs-lisp :range-begin "ConfigureUsePackage" :range-end "-ConfigureUsePackage" :lines "64-78" ** Auto Package Update [[https://github.com/rranelli/auto-package-update.el][Auto package update]] automatically updates installed packages if at least =auto-package-update-interval= days have passed since the last update. - #+INCLUDE: "~/.emacs.d/elisp/init-package.el" src emacs-lisp :range-begin "AutoPackageUpdate" :range-end "-AutoPackageUpdate" :lines "83-92" + #+INCLUDE: "~/.emacs.d/elisp/init-package.el" src emacs-lisp :range-begin "AutoPackageUpdate" :range-end "-AutoPackageUpdate" :lines "81-90" ** Diminish [[https://github.com/emacsmirror/diminish][Diminish]], a feature that removes certain minor modes from mode-line. - #+INCLUDE: "~/.emacs.d/elisp/init-package.el" src emacs-lisp :range-begin "DimPac" :range-end "-DimPac" :lines "95-96" + #+INCLUDE: "~/.emacs.d/elisp/init-package.el" src emacs-lisp :range-begin "DimPac" :range-end "-DimPac" :lines "93-94" * Global Functionalities ** User Information *Prerequisite*: Please update this file your personal info. - #+INCLUDE: "~/.emacs.d/elisp/init-const.el" src emacs-lisp :range-begin "UserInfo" :range-end "-UserInfo"" :lines "41-43" + #+INCLUDE: "~/.emacs.d/elisp/init-const.el" src emacs-lisp :range-begin "UserInfo" :range-end "-UserInfo"" :lines "39-41" ** Bindings - #+INCLUDE: "~/.emacs.d/elisp/init-global-config.el" src emacs-lisp :range-begin "DefBindings" :range-end "-DefBindings"" :lines "49-63" + #+INCLUDE: "~/.emacs.d/elisp/init-global-config.el" src emacs-lisp :range-begin "DefBindings" :range-end "-DefBindings"" :lines "47-61" ** Avy [[https://github.com/abo-abo/avy][Avy]], a nice way to move around text. - #+INCLUDE: "~/.emacs.d/elisp/init-avy.el" src emacs-lisp :range-begin "AvyPac" :range-end "-AvyPac" :lines "44-54" + #+INCLUDE: "~/.emacs.d/elisp/init-avy.el" src emacs-lisp :range-begin "AvyPac" :range-end "-AvyPac" :lines "42-52" ** Crux [[https://github.com/bbatsov/crux][Crux]], a Collection of Ridiculously Useful eXtensions for Emacs. - #+INCLUDE: "~/.emacs.d/elisp/init-crux.el" src emacs-lisp :range-begin "CruxPac" :range-end "-CruxPac" :lines "41-52" + #+INCLUDE: "~/.emacs.d/elisp/init-crux.el" src emacs-lisp :range-begin "CruxPac" :range-end "-CruxPac" :lines "39-50" ** Ivy, Amx, Counsel, Swiper [[https://github.com/abo-abo/swiper][Ivy]], a generic completion mechanism for Emacs. It utilizes [[https://github.com/DarwinAwardWinner/amx][Amx]], [[https://github.com/abo-abo/swiper][Counsel]] and [[https://github.com/abo-abo/swiper][Swiper]]. - #+INCLUDE: "~/.emacs.d/elisp/init-search.el" src emacs-lisp :range-begin "IvyPac" :range-end "-IvyPac" :lines "45-74" + #+INCLUDE: "~/.emacs.d/elisp/init-search.el" src emacs-lisp :range-begin "IvyPac" :range-end "-IvyPac" :lines "42-71" ** Color Ripgrep [[https://github.com/manateelazycat/color-rg][Color rg]], a search and refactoring tool based on /ripgrep/ that is used to search text. *Prerequisite*: Ensure [[https://github.com/BurntSushi/ripgrep#installation][ripgrep]] and ensure =rg= is in =PATH=. - #+INCLUDE: "~/.emacs.d/elisp/init-search.el" src emacs-lisp :range-begin "ColorRGPac" :range-end "-ColorRGPac" :lines "77-81" + #+INCLUDE: "~/.emacs.d/elisp/init-search.el" src emacs-lisp :range-begin "ColorRGPac" :range-end "-ColorRGPac" :lines "74-78" ** Find File In Project [[https://github.com/technomancy/find-file-in-project][Find File In Project]], quick access to project files in Emacs. *Prerequisite*: Ensure =GNU Find= is in =PATH=. Install [[https://github.com/bmatzelle/gow][Gow]] or Cygwin or MYSYS2 on Windows. - #+INCLUDE: "~/.emacs.d/elisp/init-search.el" src emacs-lisp :range-begin "FFIPPac" :range-end "-FFIPPac" :lines "84-88" + #+INCLUDE: "~/.emacs.d/elisp/init-search.el" src emacs-lisp :range-begin "FFIPPac" :range-end "-FFIPPac" :lines "81-88" ** Snails [[https://github.com/manateelazycat/snails][Snails]], a fuzzy search framework. It utilizes [[https://github.com/purcell/exec-path-from-shell][exec-path-from-shell]] if you are using Mac. #+INCLUDE: "~/.emacs.d/elisp/init-search.el" src emacs-lisp :range-begin "SnailsPac" :range-end "-SnailsPac" :lines "91-111" ** Files Directories *** Dired Dired, the directory editor. - #+INCLUDE: "~/.emacs.d/elisp/init-dired.el" src emacs-lisp :range-begin "DiredPackage" :range-end "-DiredPackage" :lines "41-73" + #+INCLUDE: "~/.emacs.d/elisp/init-dired.el" src emacs-lisp :range-begin "DiredPackage" :range-end "-DiredPackage" :lines "39-71" *** Disk Usage [[https://gitlab.com/ambrevar/emacs-disk-usage][Disk Usage]], a file system analyzer that offers a tabulated view of file listings sorted by size. - #+INCLUDE: "~/.emacs.d/elisp/init-dired.el" src emacs-lisp :range-begin "DiskUsage" :range-end "-DiskUsage" :lines "76-78" + #+INCLUDE: "~/.emacs.d/elisp/init-dired.el" src emacs-lisp :range-begin "DiskUsage" :range-end "-DiskUsage" :lines "74-76" *** Save All Buffers - #+INCLUDE: "~/.emacs.d/elisp/init-dired.el" src emacs-lisp :range-begin "SaveAllBuffers" :range-end "-SaveAllBuffers" :lines "81-87" + #+INCLUDE: "~/.emacs.d/elisp/init-dired.el" src emacs-lisp :range-begin "SaveAllBuffers" :range-end "-SaveAllBuffers" :lines "79-85" ** Winner Winner, a mode to restore previous window layouts. - #+INCLUDE: "~/.emacs.d/elisp/init-winner.el" src emacs-lisp :range-begin "WinnerPac" :range-end "-WinnerPac" :lines "41-57" + #+INCLUDE: "~/.emacs.d/elisp/init-winner.el" src emacs-lisp :range-begin "WinnerPac" :range-end "-WinnerPac" :lines "39-55" ** Which Key [[https://github.com/justbur/emacs-which-key][Which Key]], a feature that displays the key bindings following the incomplete command. - #+INCLUDE: "~/.emacs.d/elisp/init-which-key.el" src emacs-lisp :range-begin "WhichKeyPac" :range-end "-WhichKeyPac" :lines "41-48" + #+INCLUDE: "~/.emacs.d/elisp/init-which-key.el" src emacs-lisp :range-begin "WhichKeyPac" :range-end "-WhichKeyPac" :lines "39-46" ** Popup Kill Ring [[https://github.com/waymondo/popup-kill-ring][Popup Kill Ring]], a feature that provides the ability to browse Emacs kill ring in autocomplete style popup menu. - #+INCLUDE: "~/.emacs.d/elisp/init-popup-kill-ring.el" src emacs-lisp :range-begin "PopKillRing" :range-end "-PopKillRing" :lines "41-43" + #+INCLUDE: "~/.emacs.d/elisp/init-popup-kill-ring.el" src emacs-lisp :range-begin "PopKillRing" :range-end "-PopKillRing" :lines "39-41" ** Undo Tree [[https://www.emacswiki.org/emacs/UndoTree][Undo tree]], a feature that provides a visualization of the undos in a file. - #+INCLUDE: "~/.emacs.d/elisp/init-undo-tree.el" src emacs-lisp :range-begin "UndoTreePac" :range-end "-UndoTreePac" :lines "41-48" + #+INCLUDE: "~/.emacs.d/elisp/init-undo-tree.el" src emacs-lisp :range-begin "UndoTreePac" :range-end "-UndoTreePac" :lines "39-46" ** Discover My Major [[https://github.com/jguenther/discover-my-major][Discover my major]], a feature that discovers key bindings and their meaning for the current Emacs major mode. - #+INCLUDE: "~/.emacs.d/elisp/init-discover-my-major.el" src emacs-lisp :range-begin "DiscMyMajor" :range-end "-DiscMyMajor" :lines "41-43" + #+INCLUDE: "~/.emacs.d/elisp/init-discover-my-major.el" src emacs-lisp :range-begin "DiscMyMajor" :range-end "-DiscMyMajor" :lines "39-41" ** Ace Window [[https://github.com/abo-abo/ace-window][Ace Window]], a package for selecting windows to switch to. - #+INCLUDE: "~/.emacs.d/elisp/init-ace-window.el" src emacs-lisp :range-begin "AceWindowPac" :range-end "-AceWindowPac" :lines "41-43" + #+INCLUDE: "~/.emacs.d/elisp/init-ace-window.el" src emacs-lisp :range-begin "AceWindowPac" :range-end "-AceWindowPac" :lines "39-41" ** Terminal *** Aweshell [[https://github.com/manateelazycat/aweshell][Aweshell]], shell extension base on eshell with better features. - #+INCLUDE: "~/.emacs.d/elisp/init-shell.el" src emacs-lisp :range-begin "AweshellPac" :range-end "-AweshellPac" :lines "44-50" + #+INCLUDE: "~/.emacs.d/elisp/init-shell.el" src emacs-lisp :range-begin "AweshellPac" :range-end "-AweshellPac" :lines "42-48" *** Shell Here [[https://github.com/ieure/shell-here][Shell Here]], a tool that opens a shell buffer in (or relative to) =default-directory=. - #+INCLUDE: "~/.emacs.d/elisp/init-shell.el" src emacs-lisp :range-begin "ShellHerePac" :range-end "-ShellHerePac" :lines "53-58" + #+INCLUDE: "~/.emacs.d/elisp/init-shell.el" src emacs-lisp :range-begin "ShellHerePac" :range-end "-ShellHerePac" :lines "51-56" *** Multi Term [[https://github.com/manateelazycat/multi-term][Multi Term]], a mode based on term.el, for managing multiple terminal buffers in Emacs. - #+INCLUDE: "~/.emacs.d/elisp/init-shell.el" src emacs-lisp :range-begin "MultiTermPac" :range-end "-MultiTermPac" :lines "61-89" + #+INCLUDE: "~/.emacs.d/elisp/init-shell.el" src emacs-lisp :range-begin "MultiTermPac" :range-end "-MultiTermPac" :lines "59-87" *** Term Keys [[https://github.com/CyberShadow/term-keys][Term Keys]], a lossless keyboard input for Emacs in terminal emulators. - #+INCLUDE: "~/.emacs.d/elisp/init-shell.el" src emacs-lisp :range-begin "TermKeysPac" :range-end "-TermKeysPac" :lines "92-95" + #+INCLUDE: "~/.emacs.d/elisp/init-shell.el" src emacs-lisp :range-begin "TermKeysPac" :range-end "-TermKeysPac" :lines "90-93" ** Sudo Edit [[https://github.com/nflath/sudo-edit][Sudo Edit]], an utility for opening files with =sudo=. - #+INCLUDE: "~/.emacs.d/elisp/init-global-config.el" src emacs-lisp :range-begin "SudoEditPac" :range-end "-SudoEditPac" :lines "44-46" + #+INCLUDE: "~/.emacs.d/elisp/init-global-config.el" src emacs-lisp :range-begin "SudoEditPac" :range-end "-SudoEditPac" :lines "42-44" ** Ibuffer [[https://www.emacswiki.org/emacs/IbufferMode][Ibuffer]], an advanced replacement for BufferMenu, which lets you operate on buffers much in the same manner as Dired. It uses [[https://github.com/purcell/ibuffer-vc][IBuffer VC]] that group buffers by git project and show file state. - #+INCLUDE: "~/.emacs.d/elisp/init-buffer.el" src emacs-lisp :range-begin "IBufferPac" :range-end "-IBufferPac" :lines "41-61" + #+INCLUDE: "~/.emacs.d/elisp/init-buffer.el" src emacs-lisp :range-begin "IBufferPac" :range-end "-IBufferPac" :lines "39-59" ** Configs Some essential configs that make my life a lot easier. *** UTF-8 Coding System Use UTF-8 as much as possible with unix line endings. - #+INCLUDE: "~/.emacs.d/elisp/init-global-config.el" src emacs-lisp :range-begin "UTF8Coding" :range-end "-UTF8Coding" :lines "66-77" + #+INCLUDE: "~/.emacs.d/elisp/init-global-config.el" src emacs-lisp :range-begin "UTF8Coding" :range-end "-UTF8Coding" :lines "64-75" *** Optimize Editing Experience - #+INCLUDE: "~/.emacs.d/elisp/init-global-config.el" src emacs-lisp :range-begin "EditExp" :range-end "-EditExp" :lines "80-107" + #+INCLUDE: "~/.emacs.d/elisp/init-global-config.el" src emacs-lisp :range-begin "EditExp" :range-end "-EditExp" :lines "78-110" *** History - #+INCLUDE: "~/.emacs.d/elisp/init-global-config.el" src emacs-lisp :range-begin "History" :range-end "-History" :lines "110-134" + #+INCLUDE: "~/.emacs.d/elisp/init-global-config.el" src emacs-lisp :range-begin "History" :range-end "-History" :lines "113-137" *** Small Configs - #+INCLUDE: "~/.emacs.d/elisp/init-global-config.el" src emacs-lisp :range-begin "SmallConfigs" :range-end "-SmallConfigs" :lines "137-176" + #+INCLUDE: "~/.emacs.d/elisp/init-global-config.el" src emacs-lisp :range-begin "SmallConfigs" :range-end "-SmallConfigs" :lines "140-179" ** Functions Important functions. *** Resize Window Width / Height Functions - #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "ResizeWidthheight" :range-end "-ResizeWidthheight" :lines "44-82" + #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "ResizeWidthheight" :range-end "-ResizeWidthheight" :lines "42-80" *** Edit This Configuration File Shortcut - #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "EditConfig" :range-end "-EditConfig" :lines "85-91" + #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "EditConfig" :range-end "-EditConfig" :lines "83-89" *** Update Org Mode Include Automatically Update Org Mode INCLUDE Statements Automatically from [[http://endlessparentheses.com/updating-org-mode-include-statements-on-the-fly.html][Artur Malabarba]]. - #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "OrgIncludeAuto" :range-end "-OrgIncludeAuto" :lines "94-139" + #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "OrgIncludeAuto" :range-end "-OrgIncludeAuto" :lines "92-137" *** MiniBuffer Functions - #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "BetterMiniBuffer" :range-end "-BetterMiniBuffer" :lines "142-151" + #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "BetterMiniBuffer" :range-end "-BetterMiniBuffer" :lines "140-149" *** Display Line Overlay - #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "DisplayLineOverlay" :range-end "-DisplayLineOverlay" :lines "154-166" + #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "DisplayLineOverlay" :range-end "-DisplayLineOverlay" :lines "152-164" *** Read Lines From File - #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "ReadLines" :range-end "-ReadLines" :lines "169-173" + #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "ReadLines" :range-end "-ReadLines" :lines "167-171" *** Where Am I - #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "WhereAmI" :range-end "-WhereAmI" :lines "176-180" + #+INCLUDE: "~/.emacs.d/elisp/init-func.el" src emacs-lisp :range-begin "WhereAmI" :range-end "-WhereAmI" :lines "174-178" * User Interface Enhancements ** Doom Themes [[https://github.com/hlissner/emacs-doom-themes][Doom Themes]], an UI plugin and pack of themes. - #+INCLUDE: "~/.emacs.d/elisp/init-theme.el" src emacs-lisp :range-begin "DoomThemes" :range-end "-DoomThemes" :lines "45-54" + #+INCLUDE: "~/.emacs.d/elisp/init-theme.el" src emacs-lisp :range-begin "DoomThemes" :range-end "-DoomThemes" :lines "43-52" ** Doom Modeline [[https://github.com/seagle0128/doom-modeline][Doom Modeline]], a modeline from DOOM Emacs, but more powerful and faster. - #+INCLUDE: "~/.emacs.d/elisp/init-theme.el" src emacs-lisp :range-begin "DoomModeline" :range-end "-DoomModeline" :lines "57-67" + #+INCLUDE: "~/.emacs.d/elisp/init-theme.el" src emacs-lisp :range-begin "DoomModeline" :range-end "-DoomModeline" :lines "55-65" ** Dashboard *** Dashboard [[https://github.com/rakanalh/emacs-dashboard][Dashboard]], an extensible Emacs startup screen. Use either =KEC_Dark_BK.png= or =KEC_Light_BK.png= depends on the backgrond theme. - #+INCLUDE: "~/.emacs.d/elisp/init-dashboard.el" src emacs-lisp :range-begin "DashboardPac" :range-end "-DashboardPac" :lines "41-89" + #+INCLUDE: "~/.emacs.d/elisp/init-dashboard.el" src emacs-lisp :range-begin "DashboardPac" :range-end "-DashboardPac" :lines "39-87" *** Page Break Lines [[https://github.com/purcell/page-break-lines][Page-break-lines]], a feature that displays ugly form feed characters as tidy horizontal rules. - #+INCLUDE: "~/.emacs.d/elisp/init-dashboard.el" src emacs-lisp :range-begin "PBLPac" :range-end "-PBLPac" :lines "92-95" + #+INCLUDE: "~/.emacs.d/elisp/init-dashboard.el" src emacs-lisp :range-begin "PBLPac" :range-end "-PBLPac" :lines "90-93" ** Fonts and Icons *Prerequisite*: Install all the available fonts and icons from =fonts/=. *** Fonts - #+INCLUDE: "~/.emacs.d/elisp/init-fonts.el" src emacs-lisp :range-begin "FontsList" :range-end "-FontsList" :lines "44-47" + #+INCLUDE: "~/.emacs.d/elisp/init-fonts.el" src emacs-lisp :range-begin "FontsList" :range-end "-FontsList" :lines "39-42" Function to switch between fonts. - #+INCLUDE: "~/.emacs.d/elisp/init-fonts.el" src emacs-lisp :range-begin "FontFun" :range-end "-FontFun" :lines "50-69" + #+INCLUDE: "~/.emacs.d/elisp/init-fonts.el" src emacs-lisp :range-begin "FontFun" :range-end "-FontFun" :lines "45-64" *** All The Icons [[https://github.com/domtronn/all-the-icons.el][All The Icons]], a utility package to collect various Icon Fonts. Enable only in GUI Emacs. - #+INCLUDE: "~/.emacs.d/elisp/init-fonts.el" src emacs-lisp :range-begin "ATIPac" :range-end "-ATIPac" :lines "72-73" + #+INCLUDE: "~/.emacs.d/elisp/init-fonts.el" src emacs-lisp :range-begin "ATIPac" :range-end "-ATIPac" :lines "67-68" ** Smooth Scrolling Configurations to smooth scrolling. - #+INCLUDE: "~/.emacs.d/elisp/init-scroll.el" src emacs-lisp :range-begin "SmoothScroll" :range-end "-SmoothScroll" :lines "41-54" + #+INCLUDE: "~/.emacs.d/elisp/init-scroll.el" src emacs-lisp :range-begin "SmoothScroll" :range-end "-SmoothScroll" :lines "39-52" ** Prettify Symbols [[https://www.emacswiki.org/emacs/PrettySymbol][Prettify symbols mode]], a built-in mode for displaying sequences of characters as fancy characters or symbols. - #+INCLUDE: "~/.emacs.d/elisp/init-ui-config.el" src emacs-lisp :range-begin "PreSym" :range-end "-PreSym" :lines "44-58" + #+INCLUDE: "~/.emacs.d/elisp/init-ui-config.el" src emacs-lisp :range-begin "PreSym" :range-end "-PreSym" :lines "42-56" ** UI Configs *** Title Bar - #+INCLUDE: "~/.emacs.d/elisp/init-ui-config.el" src emacs-lisp :range-begin "TitleBar" :range-end "-TitleBar" :lines "61-62" + #+INCLUDE: "~/.emacs.d/elisp/init-ui-config.el" src emacs-lisp :range-begin "TitleBar" :range-end "-TitleBar" :lines "59-60" *** Simplify Yes/No Prompts - #+INCLUDE: "~/.emacs.d/elisp/init-ui-config.el" src emacs-lisp :range-begin "YorN" :range-end "-YorN" :lines "65-66" + #+INCLUDE: "~/.emacs.d/elisp/init-ui-config.el" src emacs-lisp :range-begin "YorN" :range-end "-YorN" :lines "63-64" *** Disable Splash Screen - #+INCLUDE: "~/.emacs.d/elisp/init-ui-config.el" src emacs-lisp :range-begin "StartupScreen" :range-end "-StartupScreen" :lines "69-72" + #+INCLUDE: "~/.emacs.d/elisp/init-ui-config.el" src emacs-lisp :range-begin "StartupScreen" :range-end "-StartupScreen" :lines "67-70" *** Line Numbers Display line numbers, and column numbers in modeline. - #+INCLUDE: "~/.emacs.d/elisp/init-ui-config.el" src emacs-lisp :range-begin "DisLineNum" :range-end "-DisLineNum" :lines "75-82" + #+INCLUDE: "~/.emacs.d/elisp/init-ui-config.el" src emacs-lisp :range-begin "DisLineNum" :range-end "-DisLineNum" :lines "73-80" *** Modeline Time and Battery Display time and battery information in modeline. - #+INCLUDE: "~/.emacs.d/elisp/init-ui-config.el" src emacs-lisp :range-begin "DisTimeBat" :range-end "-DisTimeBat" :lines "85-87" + #+INCLUDE: "~/.emacs.d/elisp/init-ui-config.el" src emacs-lisp :range-begin "DisTimeBat" :range-end "-DisTimeBat" :lines "83-85" * General Programming ** Magit [[https://magit.vc/][Magit]], an interface to the version control system Git. - #+INCLUDE: "~/.emacs.d/elisp/init-magit.el" src emacs-lisp :range-begin "MagitPac" :range-end "-MagitPac" :lines "44-52" + #+INCLUDE: "~/.emacs.d/elisp/init-magit.el" src emacs-lisp :range-begin "MagitPac" :range-end "-MagitPac" :lines "39-50" ** Projectile [[https://github.com/bbatsov/projectile][Projectile]], a Project Interaction Library for Emacs. *Prerequisite*: Windows OS: Install [[https://github.com/bmatzelle/gow/releases][Gow]] and ensure it's in =PATH=. [[https://github.com/bmatzelle/gow][Gow]] is a lightweight installer that installs useful open source UNIX applications compiled as native win32 binaries. Specifically, =tr= is needed for Projectile alien indexing. - #+INCLUDE: "~/.emacs.d/elisp/init-projectile.el" src emacs-lisp :range-begin "ProjPac" :range-end "-ProjPac" :lines "44-54" + #+INCLUDE: "~/.emacs.d/elisp/init-projectile.el" src emacs-lisp :range-begin "ProjPac" :range-end "-ProjPac" :lines "42-53" ** Treemacs [[https://github.com/Alexander-Miller/treemacs][Treemacs]], a tree layout file explorer for Emacs. *** Treemacs - #+INCLUDE: "~/.emacs.d/elisp/init-treemacs.el" src emacs-lisp :range-begin "TreemacsPac" :range-end "-TreemacsPac" :lines "41-89" + #+INCLUDE: "~/.emacs.d/elisp/init-treemacs.el" src emacs-lisp :range-begin "TreemacsPac" :range-end "-TreemacsPac" :lines "39-87" *** Treemacs Magit - #+INCLUDE: "~/.emacs.d/elisp/init-treemacs.el" src emacs-lisp :range-begin "TreeMagit" :range-end "-TreeMagit" :lines "92-95" + #+INCLUDE: "~/.emacs.d/elisp/init-treemacs.el" src emacs-lisp :range-begin "TreeMagit" :range-end "-TreeMagit" :lines "90-93" *** Treemacs Projectile - #+INCLUDE: "~/.emacs.d/elisp/init-treemacs.el" src emacs-lisp :range-begin "TreeProj" :range-end "-TreeProj" :lines "98-101" + #+INCLUDE: "~/.emacs.d/elisp/init-treemacs.el" src emacs-lisp :range-begin "TreeProj" :range-end "-TreeProj" :lines "96-99" ** YASnippet *** YASnippet [[https://github.com/joaotavora/yasnippet][YASnippet]], a programming template system for Emacs. It loads [[https://github.com/AndreaCrotti/yasnippet-snippets][YASnippet Snippets]], a collection of yasnippet snippets for many languages. - #+INCLUDE: "~/.emacs.d/elisp/init-yasnippet.el" src emacs-lisp :range-begin "YASnippetPac" :range-end "-YASnippetPac" :lines "41-62" + #+INCLUDE: "~/.emacs.d/elisp/init-yasnippet.el" src emacs-lisp :range-begin "YASnippetPac" :range-end "-YASnippetPac" :lines "39-60" ** Flycheck [[https://www.flycheck.org/en/latest/][Flycheck]], a syntax checking extension. - #+INCLUDE: "~/.emacs.d/elisp/init-flycheck.el" src emacs-lisp :range-begin "FlyCheckPac" :range-end "-FlyCheckPac" :lines "44-74" + #+INCLUDE: "~/.emacs.d/elisp/init-flycheck.el" src emacs-lisp :range-begin "FlyCheckPac" :range-end "-FlyCheckPac" :lines "39-69" ** Dumb Jump [[https://github.com/jacktasia/dumb-jump][Dumb jump]], an Emacs "jump to definition" package. - #+INCLUDE: "~/.emacs.d/elisp/init-dumb-jump.el" src emacs-lisp :range-begin "DumbJump" :range-end "-DumbJump" :lines "41-48" + #+INCLUDE: "~/.emacs.d/elisp/init-dumb-jump.el" src emacs-lisp :range-begin "DumbJump" :range-end "-DumbJump" :lines "39-46" ** Parenthesis *** Smartparens [[https://github.com/Fuco1/smartparens][Smartparens]], a minor mode for dealing with pairs. - #+INCLUDE: "~/.emacs.d/elisp/init-parens.el" src emacs-lisp :range-begin "SmartParensPac" :range-end "-SmartParensPac" :lines "44-65" + #+INCLUDE: "~/.emacs.d/elisp/init-parens.el" src emacs-lisp :range-begin "SmartParensPac" :range-end "-SmartParensPac" :lines "42-63" *** Match Parenthesis Match and automatically pair parenthesis, and show parenthesis even when it went offscreen from [[https://with-emacs.com/posts/editing/show-matching-lines-when-parentheses-go-off-screen/][Clemens Radermacher]]. - #+INCLUDE: "~/.emacs.d/elisp/init-parens.el" src emacs-lisp :range-begin "MatchParens" :range-end "-MatchParens" :lines "68-107" + #+INCLUDE: "~/.emacs.d/elisp/init-parens.el" src emacs-lisp :range-begin "MatchParens" :range-end "-MatchParens" :lines "66-105" ** Indentation [[https://github.com/DarthFennec/highlight-indent-guides][Highlight Indent Guides]], a feature that highlights indentation levels. - #+INCLUDE: "~/.emacs.d/elisp/init-indent.el" src emacs-lisp :range-begin "HighLightIndentPac" :range-end "-HighLightIndentPac" :lines "44-55" + #+INCLUDE: "~/.emacs.d/elisp/init-indent.el" src emacs-lisp :range-begin "HighLightIndentPac" :range-end "-HighLightIndentPac" :lines "39-50" Indentation Configuration - #+INCLUDE: "~/.emacs.d/elisp/init-indent.el" src emacs-lisp :range-begin "IndentConfig" :range-end "-IndentConfig" :lines "58-75" + #+INCLUDE: "~/.emacs.d/elisp/init-indent.el" src emacs-lisp :range-begin "IndentConfig" :range-end "-IndentConfig" :lines "53-70" ** Quickrun [[https://github.com/syohex/emacs-quickrun][Quickrun]], compile and run source code quickly. - #+INCLUDE: "~/.emacs.d/elisp/init-quickrun.el" src emacs-lisp :range-begin "QuickrunPac" :range-end "-QuickrunPac" :lines "41-45" + #+INCLUDE: "~/.emacs.d/elisp/init-quickrun.el" src emacs-lisp :range-begin "QuickrunPac" :range-end "-QuickrunPac" :lines "39-43" ** Format All [[https://github.com/lassik/emacs-format-all-the-code][Format all]], a feature that lets you auto-format source code. *Prerequisite*: Read [[https://github.com/lassik/emacs-format-all-the-code#supported-languages][Supported Languages]] to see which additional tool you need to install for the specific language. - #+INCLUDE: "~/.emacs.d/elisp/init-format.el" src emacs-lisp :range-begin "FormatAllPac" :range-end "-FormatAllPac" :lines "41-43" + #+INCLUDE: "~/.emacs.d/elisp/init-format.el" src emacs-lisp :range-begin "FormatAllPac" :range-end "-FormatAllPac" :lines "39-41" ** Evil Nerd Commenter [[https://github.com/redguardtoo/evil-nerd-commenter][Evil Nerd Commenter]], a tool that helps you comment code efficiently. - #+INCLUDE: "~/.emacs.d/elisp/init-comment.el" src emacs-lisp :range-begin "EvilNerdCommenPac" :range-end "-EvilNerdCommenPac" :lines "41-45" + #+INCLUDE: "~/.emacs.d/elisp/init-comment.el" src emacs-lisp :range-begin "EvilNerdCommenPac" :range-end "-EvilNerdCommenPac" :lines "39-43" ** Editing *** Iedit [[https://github.com/victorhge/iedit][Iedit]], a minor mode that allows editing multiple regions simultaneousy in a buffer or a region. - #+INCLUDE: "~/.emacs.d/elisp/init-edit.el" src emacs-lisp :range-begin "IEditPac" :range-end "-IEditPac" :lines "43-46" + #+INCLUDE: "~/.emacs.d/elisp/init-edit.el" src emacs-lisp :range-begin "IEditPac" :range-end "-IEditPac" :lines "41-44" *** Awesome Pair [[https://github.com/manateelazycat/awesome-pair][Awesome Pair]], a feature that provides grammatical parenthesis completion. - #+INCLUDE: "~/.emacs.d/elisp/init-edit.el" src emacs-lisp :range-begin "AwesomePairPac" :range-end "-AwesomePairPac" :lines "49-59" + #+INCLUDE: "~/.emacs.d/elisp/init-edit.el" src emacs-lisp :range-begin "AwesomePairPac" :range-end "-AwesomePairPac" :lines "47-57" *** Conf Mode Conf Mode, a simple major mode for editing conf/ini/properties files. - #+INCLUDE: "~/.emacs.d/elisp/init-edit.el" src emacs-lisp :range-begin "ConfModePac" :range-end "-ConfModePac" :lines "62-71" + #+INCLUDE: "~/.emacs.d/elisp/init-edit.el" src emacs-lisp :range-begin "ConfModePac" :range-end "-ConfModePac" :lines "60-69" *** Delete Block [[https://github.com/manateelazycat/delete-block][Delete Block]], a feature that deletes block efficiently. - #+INCLUDE: "~/.emacs.d/elisp/init-edit.el" src emacs-lisp :range-begin "DeleteBlockPac" :range-end "-DeleteBlockPac" :lines "74-81" + #+INCLUDE: "~/.emacs.d/elisp/init-edit.el" src emacs-lisp :range-begin "DeleteBlockPac" :range-end "-DeleteBlockPac" :lines "72-79" ** Headers [[https://www.emacswiki.org/emacs/header2.el][Header2]], a support for creation and update of file headers. - #+INCLUDE: "~/.emacs.d/elisp/init-header.el" src emacs-lisp :range-begin "Header2Pac" :range-end "-Header2Pac" :lines "41-50" + #+INCLUDE: "~/.emacs.d/elisp/init-header.el" src emacs-lisp :range-begin "Header2Pac" :range-end "-Header2Pac" :lines "39-48" ** Jupyter Notebook [[https://github.com/millejoh/emacs-ipython-notebook][Emacs IPython Notebook]], a [[https://jupyter.org/][Jupyter]] (formerly IPython) client in Emacs. *** Usage 1. Execute =M-x ein:run= to launch a local Jupyter session. 2. Login with =M-x ein:login= to a local or remote session. 3. Open =.ipynb= file and press =C-c C-o=. - #+INCLUDE: "~/.emacs.d/elisp/init-ein.el" src emacs-lisp :range-begin "EINPac" :range-end "-EINPac" :lines "41-44" + #+INCLUDE: "~/.emacs.d/elisp/init-ein.el" src emacs-lisp :range-begin "EINPac" :range-end "-EINPac" :lines "39-42" ** LSP *** LSP Mode [[https://github.com/emacs-lsp/lsp-mode][Language Server Protocol Mode]], a client/library for the [[https://microsoft.github.io/language-server-protocol/][Language Server Protocol]]. M-EMACS tries to use lsp-mode whenever possible. - #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "LSPPac" :range-end "-LSPPac" :lines "44-57" + #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "LSPPac" :range-end "-LSPPac" :lines "39-52" *** LSP UI [[https://github.com/emacs-lsp/lsp-ui][Language Server Protocol UI]], provides all the higher level UI modules of lsp-mode, like flycheck support and code lenses. Note: =lsp-ui-doc= is too annoying, so it will not be triggered upon hovering. You have to toggle it using =M-i=. - #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "LSPUI" :range-end "-LSPUI" :lines "60-91" + #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "LSPUI" :range-end "-LSPUI" :lines "55-86" ** DAP [[https://github.com/emacs-lsp/dap-mode][Debug Adapter Protocol Mode]], a client/library for the [[https://code.visualstudio.com/api/extension-guides/debugger-extension][Debug Adapter Protocol]]. *Prerequisite*: See [[https://github.com/emacs-lsp/dap-mode#configuration][Configuration]] to configure DAP appropriately. - #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "DAPPac" :range-end "-DAPPac" :lines "94-104" + #+INCLUDE: "~/.emacs.d/elisp/init-lsp.el" src emacs-lisp :range-begin "DAPPac" :range-end "-DAPPac" :lines "89-99" ** Company *** Company Mode [[http://company-mode.github.io/][Company]], a text completion framework for Emacs. The function =smarter-yas-expand-next-field-complete= is to smartly resolve TAB conflicts in company and yasnippet packages. - #+INCLUDE: "~/.emacs.d/elisp/init-company.el" src emacs-lisp :range-begin "ComPac" :range-end "-ComPac" :lines "44-81" + #+INCLUDE: "~/.emacs.d/elisp/init-company.el" src emacs-lisp :range-begin "ComPac" :range-end "-ComPac" :lines "42-79" *** Company LSP [[https://github.com/tigersoldier/company-lsp][Company LSP]], a Company completion backend for lsp-mode. - #+INCLUDE: "~/.emacs.d/elisp/init-company.el" src emacs-lisp :range-begin "CompanyLSPPac" :range-end "-CompanyLSPPac" :lines "84-87" + #+INCLUDE: "~/.emacs.d/elisp/init-company.el" src emacs-lisp :range-begin "CompanyLSPPac" :range-end "-CompanyLSPPac" :lines "82-85" *** Company TabNine [[https://github.com/TommyX12/company-tabnine][Company TabNine]], A company-mode backend for [[https://tabnine.com/][TabNine]], the all-language autocompleter. This is enabled by default, if ever you find it not good enough for a particular completion, simply use =M-q= to immediately switch to default backends. *Prerequisite*: Execute =M-x company-tabnine-install-binary= to install the TabNine binary for your system. - #+INCLUDE: "~/.emacs.d/elisp/init-company.el" src emacs-lisp :range-begin "CompanyTabNinePac" :range-end "-CompanyTabNinePac" :lines "90-126" + #+INCLUDE: "~/.emacs.d/elisp/init-company.el" src emacs-lisp :range-begin "CompanyTabNinePac" :range-end "-CompanyTabNinePac" :lines "88-124" *** Company Box [[https://github.com/sebastiencs/company-box][Company Box]], a company front-end with icons. - #+INCLUDE: "~/.emacs.d/elisp/init-company.el" src emacs-lisp :range-begin "CompanyBoxPac" :range-end "-CompanyBoxPac" :lines "129-219" + #+INCLUDE: "~/.emacs.d/elisp/init-company.el" src emacs-lisp :range-begin "CompanyBoxPac" :range-end "-CompanyBoxPac" :lines "127-217" * Programming ** Java *** LSP Java [[https://github.com/emacs-lsp/lsp-java][LSP Java]], Emacs Java IDE using [[https://projects.eclipse.org/projects/eclipse.jdt.ls][Eclipse JDT Language Server]]. Note that this package is dependant on [[https://github.com/tkf/emacs-request][Request]]. *Prerequisite*: Install [[https://maven.apache.org/download.cgi][Maven]] and ensure it's in =PATH=. - #+INCLUDE: "~/.emacs.d/elisp/init-java.el" src emacs-lisp :range-begin "LSPJavaPac" :range-end "-LSPJavaPac" :lines "44-52" + #+INCLUDE: "~/.emacs.d/elisp/init-java.el" src emacs-lisp :range-begin "LSPJavaPac" :range-end "-LSPJavaPac" :lines "39-47" ** C/C++/Objective C *Prerequisite*: Since all completion features are provided by [[https://github.com/emacs-lsp/lsp-mode][LSP Mode]], it needs to setup. - Install [[https://cmake.org/download/][CMake]] >= 3.8 for all OS. @@ -547,10 +547,10 @@ - It is a pain to build CCLS on Windows, install [[https://clang.llvm.org/extra/clangd/Installation.html][Clangd]] and ensure it's in =PATH= instead. *** CCLS [[https://github.com/MaskRay/emacs-ccls][Emacs CCLS]], a client for [[https://github.com/MaskRay/ccls][CCLS]], a C/C++/Objective-C language server supporting multi-million line C++ code-bases, powered by libclang. - #+INCLUDE: "~/.emacs.d/elisp/init-cc.el" src emacs-lisp :range-begin "CCLSPac" :range-end "-CCLSPac" :lines "44-66" + #+INCLUDE: "~/.emacs.d/elisp/init-cc.el" src emacs-lisp :range-begin "CCLSPac" :range-end "-CCLSPac" :lines "42-64" *** Modern C++ Font Lock [[https://github.com/ludwigpacifici/modern-cpp-font-lock][Modern CPP Font Lock]], font-locking for "Modern C++". - #+INCLUDE: "~/.emacs.d/elisp/init-cc.el" src emacs-lisp :range-begin "CPPFontLockPac" :range-end "-CPPFontLockPac" :lines "69-72" + #+INCLUDE: "~/.emacs.d/elisp/init-cc.el" src emacs-lisp :range-begin "CPPFontLockPac" :range-end "-CPPFontLockPac" :lines "67-70" ** Golang [[https://github.com/dominikh/go-mode.el][Go Mode]], an Emacs mode Golang programming. @@ -558,26 +558,26 @@ #+BEGIN_SRC bash go get golang.org/x/tools/gopls@latest #+END_SRC - #+INCLUDE: "~/.emacs.d/elisp/init-cc.el" src emacs-lisp :range-begin "GoPac" :range-end "-GoPac" :lines "75-78" + #+INCLUDE: "~/.emacs.d/elisp/init-cc.el" src emacs-lisp :range-begin "GoPac" :range-end "-GoPac" :lines "73-76" ** Python *** Python Configuration - #+INCLUDE: "~/.emacs.d/elisp/init-python.el" src emacs-lisp :range-begin "PythonConfig" :range-end "-PythonConfig" :lines "45-53" + #+INCLUDE: "~/.emacs.d/elisp/init-python.el" src emacs-lisp :range-begin "PythonConfig" :range-end "-PythonConfig" :lines "43-51" *** LSP Python MS [[https://github.com/andrew-christianson/lsp-python-ms][LSP Python MS]], a lsp-mode client leveraging [[https://github.com/Microsoft/python-language-server][Microsoft's Python Language Server]]. - #+INCLUDE: "~/.emacs.d/elisp/init-python.el" src emacs-lisp :range-begin "LSPPythonPac" :range-end "-LSPPythonPac" :lines "56-61" + #+INCLUDE: "~/.emacs.d/elisp/init-python.el" src emacs-lisp :range-begin "LSPPythonPac" :range-end "-LSPPythonPac" :lines "54-59" ** Haskell [[https://github.com/haskell/haskell-mode][Haskell Mode]], an Emacs mode for Haskell programming. - #+INCLUDE: "~/.emacs.d/elisp/init-haskell.el" src emacs-lisp :range-begin "HaskellModePac" :range-end "-HaskellModePac" :lines "41-43" + #+INCLUDE: "~/.emacs.d/elisp/init-haskell.el" src emacs-lisp :range-begin "HaskellModePac" :range-end "-HaskellModePac" :lines "39-41" ** ESS [[https://ess.r-project.org/][Emacs Speaks Statistics]], short for ESS, it's designed to support editing of scripts and interaction with various statistical analysis programs such as R, S-Plus, SAS, Stata and OpenBUGS/JAGS. *Prerequisite*: Install [[https://cran.r-project.org/mirrors.html][R]] to start using ESS with R. - #+INCLUDE: "~/.emacs.d/elisp/init-ess.el" src emacs-lisp :range-begin "ESSPac" :range-end "-ESSPac" :lines "41-46" + #+INCLUDE: "~/.emacs.d/elisp/init-ess.el" src emacs-lisp :range-begin "ESSPac" :range-end "-ESSPac" :lines "39-44" ** TeX *Prerequisite*: Please install [[https://www.tug.org/texlive/quickinstall.html][TeX Live]]. *** AUCTeX [[https://www.gnu.org/software/auctex/][AUCTeX]], an extensible package for writing and formatting TeX files. It supports many different TeX macro packages, including AMS-TEX, LaTeX, Texinfo, ConTEXt, and docTEX (dtx files). - #+INCLUDE: "~/.emacs.d/elisp/init-latex.el" src emacs-lisp :range-begin "AUCTeXPac" :range-end "-AUCTeXPac" :lines "46-69" + #+INCLUDE: "~/.emacs.d/elisp/init-latex.el" src emacs-lisp :range-begin "AUCTeXPac" :range-end "-AUCTeXPac" :lines "44-67" *** Org Latex Instant Preview [[https://github.com/yangsheng6810/org-latex-instant-preview][Org Latex Instant Preview]], a package that provides instant preview of LaTeX snippets via MathJax outputed SVG. @@ -587,16 +587,16 @@ which tex2svg # mine is in /usr/bin/tex2svg #+END_SRC Finally, invoke with =M-x org-latex-instant-preview-start= when needed. - #+INCLUDE: "~/.emacs.d/elisp/init-latex.el" src emacs-lisp :range-begin "OrgLatexInstantPreviewPac" :range-end "-OrgLatexInstantPreviewPac" :lines "72-77" + #+INCLUDE: "~/.emacs.d/elisp/init-latex.el" src emacs-lisp :range-begin "OrgLatexInstantPreviewPac" :range-end "-OrgLatexInstantPreviewPac" :lines "70-75" ** Buildsystem *** Docker [[https://github.com/Silex/docker.el][Docker]], a mode to manage docker from Emacs. - #+INCLUDE: "~/.emacs.d/elisp/init-buildsystem.el" src emacs-lisp :range-begin "DockerPac" :range-end "-DockerPac" :lines "41-42" + #+INCLUDE: "~/.emacs.d/elisp/init-buildsystem.el" src emacs-lisp :range-begin "DockerPac" :range-end "-DockerPac" :lines "39-40" [[https://github.com/spotify/dockerfile-mode][Dockerfile Mode]], an Emacs mode for handling Dockerfiles. - #+INCLUDE: "~/.emacs.d/elisp/init-buildsystem.el" src emacs-lisp :range-begin "DockerfilePac" :range-end "-DockerfilePac" :lines "46-47" + #+INCLUDE: "~/.emacs.d/elisp/init-buildsystem.el" src emacs-lisp :range-begin "DockerfilePac" :range-end "-DockerfilePac" :lines "44-45" *** Groovy [[https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes][Groovy Mode]], a groovy major mode, grails minor mode, and a groovy inferior mode. - #+INCLUDE: "~/.emacs.d/elisp/init-buildsystem.el" src emacs-lisp :range-begin "GroovyPac" :range-end "-GroovyPac" :lines "50-51" + #+INCLUDE: "~/.emacs.d/elisp/init-buildsystem.el" src emacs-lisp :range-begin "GroovyPac" :range-end "-GroovyPac" :lines "48-49" * Web Development *Prerequisite*: Install [[https://nodejs.org/en/download/][NodeJS]] and ensure it's in =PATH=. Execute following commands to enable LSP for JavaScript/TypeScript/HTML: #+BEGIN_SRC bash @@ -605,45 +605,45 @@ #+END_SRC ** Web Mode [[https://github.com/fxbois/web-mode][Web mode]], a major mode for editing web templates. - #+INCLUDE: "~/.emacs.d/elisp/init-webdev.el" src emacs-lisp :range-begin "WebModePac" :range-end "-WebModePac" :lines "41-48" + #+INCLUDE: "~/.emacs.d/elisp/init-webdev.el" src emacs-lisp :range-begin "WebModePac" :range-end "-WebModePac" :lines "39-46" ** JavaScript/TypeScript *** JavaScript2 Mode [[https://github.com/mooz/js2-mode][JS2 mode]], a feature that offers improved JavsScript editing mode. - #+INCLUDE: "~/.emacs.d/elisp/init-webdev.el" src emacs-lisp :range-begin "Js2Pac" :range-end "-Js2Pac" :lines "51-54" + #+INCLUDE: "~/.emacs.d/elisp/init-webdev.el" src emacs-lisp :range-begin "Js2Pac" :range-end "-Js2Pac" :lines "49-52" *** TypeScript Mode [[https://github.com/emacs-typescript/typescript.el][TypeScript mode]], a feature that offers TypeScript support for Emacs. - #+INCLUDE: "~/.emacs.d/elisp/init-webdev.el" src emacs-lisp :range-begin "TypeScriptPac" :range-end "-TypeScriptPac" :lines "57-60" + #+INCLUDE: "~/.emacs.d/elisp/init-webdev.el" src emacs-lisp :range-begin "TypeScriptPac" :range-end "-TypeScriptPac" :lines "55-58" ** Emmet [[https://github.com/smihica/emmet-mode][Emmet]], a feature that allows writing HTML using CSS selectors along with =C-j=. See [[https://github.com/smihica/emmet-mode#usage][usage]] for more information. - #+INCLUDE: "~/.emacs.d/elisp/init-webdev.el" src emacs-lisp :range-begin "EmmetPac" :range-end "-EmmetPac" :lines "63-66" + #+INCLUDE: "~/.emacs.d/elisp/init-webdev.el" src emacs-lisp :range-begin "EmmetPac" :range-end "-EmmetPac" :lines "61-64" ** Instant Rename Tag [[https://github.com/manateelazycat/instant-rename-tag][Instant Rename Tag]], a plugin that provides ability to rename html tag pairs instantly. - #+INCLUDE: "~/.emacs.d/elisp/init-webdev.el" src emacs-lisp :range-begin "InstantRenameTagPac" :range-end "-InstantRenameTagPac" :lines "69-72" + #+INCLUDE: "~/.emacs.d/elisp/init-webdev.el" src emacs-lisp :range-begin "InstantRenameTagPac" :range-end "-InstantRenameTagPac" :lines "67-70" ** JSON [[https://github.com/joshwnj/json-mode][JSON Mode]], a major mode for editing JSON files. - #+INCLUDE: "~/.emacs.d/elisp/init-webdev.el" src emacs-lisp :range-begin "JsonPac" :range-end "-JsonPac" :lines "75-77" + #+INCLUDE: "~/.emacs.d/elisp/init-webdev.el" src emacs-lisp :range-begin "JsonPac" :range-end "-JsonPac" :lines "73-75" * Miscellaneous ** Org [[https://orgmode.org/][Org]], a Emacs built-in tool for keeping notes, maintaining TODO lists, planning projects, and authoring documents with a fast and effective plain-text system. *Prerequisite*: Configure =(org-agenda-files (list "~/org/agenda/"))= to your agenda folder to use org-agenda. - #+INCLUDE: "~/.emacs.d/elisp/init-org.el" src emacs-lisp :range-begin "OrgPac" :range-end "-OrgPac" :lines "41-86" + #+INCLUDE: "~/.emacs.d/elisp/init-org.el" src emacs-lisp :range-begin "OrgPac" :range-end "-OrgPac" :lines "39-84" *** TOC Org [[https://github.com/snosov1/toc-org][TOC Org]] generates table of contents for =.org= files - #+INCLUDE: "~/.emacs.d/elisp/init-org.el" src emacs-lisp :range-begin "TocOrgPac" :range-end "-TocOrgPac" :lines "89-91" + #+INCLUDE: "~/.emacs.d/elisp/init-org.el" src emacs-lisp :range-begin "TocOrgPac" :range-end "-TocOrgPac" :lines "87-89" *** HTMLize [[https://github.com/hniksic/emacs-htmlize][HTMLize]], a tool that converts buffer text and decorations to HTML. - #+INCLUDE: "~/.emacs.d/elisp/init-org.el" src emacs-lisp :range-begin "HTMLIZEPac" :range-end "-HTMLIZEPac" :lines "94-95" + #+INCLUDE: "~/.emacs.d/elisp/init-org.el" src emacs-lisp :range-begin "HTMLIZEPac" :range-end "-HTMLIZEPac" :lines "92-93" *** GFM Exporter [[https://github.com/larstvei/ox-gfm][OX-GFM]], a Github Flavored Markdown exporter for Org Mode. - #+INCLUDE: "~/.emacs.d/elisp/init-org.el" src emacs-lisp :range-begin "OXGFMPac" :range-end "-OXGFMPac" :lines "98-99" + #+INCLUDE: "~/.emacs.d/elisp/init-org.el" src emacs-lisp :range-begin "OXGFMPac" :range-end "-OXGFMPac" :lines "96-97" *** PlantUML and Graphviz [[https://github.com/skuro/plantuml-mode][PlantUML Mode]], a major mode for editing PlantUML sources. *Prerequisite*: 1. Install [[http://plantuml.com/download][plantuml]] and configure =(org-plantuml-jar-path (expand-file-name "path/to/plantuml.jar"))=. 2. Install [[https://graphviz.gitlab.io/download/][Graphviz]] on your system to support graph visualization. Execute =sudo apt install graphviz= in Ubuntu. - #+INCLUDE: "~/.emacs.d/elisp/init-org.el" src emacs-lisp :range-begin "PlantUMLPac" :range-end "-PlantUMLPac" :lines "102-111" + #+INCLUDE: "~/.emacs.d/elisp/init-org.el" src emacs-lisp :range-begin "PlantUMLPac" :range-end "-PlantUMLPac" :lines "100-109" ** EAF [[https://github.com/manateelazycat/emacs-application-framework][Emacs Application Framework]], a GUI application framework that revolutionizes Emacs graphical capabilities. @@ -653,7 +653,7 @@ #+BEGIN_SRC bash sudo apt-get install python3-pyqt5.qtwebengine python3-pyqt5.qtmultimedia #+END_SRC - #+INCLUDE: "~/.emacs.d/elisp/init-eaf.el" src emacs-lisp :range-begin "EAFPac" :range-end "-EAFPac" :lines "44-75" + #+INCLUDE: "~/.emacs.d/elisp/init-eaf.el" src emacs-lisp :range-begin "EAFPac" :range-end "-EAFPac" :lines "42-75" ** ERC [[https://www.emacswiki.org/emacs/ERC][Emacs Relay Chat]], a powerful, modular, and extensible [[http://www.irc.org/][IRC]] client for Emacs. It utilizes [[https://github.com/leathekd/erc-hl-nicks][erc-hl-nicks]] for nickname highlighting and [[https://github.com/kidd/erc-image.el][erc-image]] to fetch and show received images in ERC. @@ -661,10 +661,10 @@ #+BEGIN_SRC text machine irc.freenode.net login password port 6697 #+END_SRC - #+INCLUDE: "~/.emacs.d/elisp/init-erc.el" src emacs-lisp :range-begin "ERCPac" :range-end "-ERCPac" :lines "45-104" + #+INCLUDE: "~/.emacs.d/elisp/init-erc.el" src emacs-lisp :range-begin "ERCPac" :range-end "-ERCPac" :lines "43-102" ** EWW Emacs Web Wowser, the HTML-based Emacs Web Browser. - #+INCLUDE: "~/.emacs.d/elisp/init-eww.el" src emacs-lisp :range-begin "EWWPac" :range-end "-EWWPac" :lines "44-54" + #+INCLUDE: "~/.emacs.d/elisp/init-eww.el" src emacs-lisp :range-begin "EWWPac" :range-end "-EWWPac" :lines "42-52" ** MU4E [[https://www.djcbsoftware.nl/code/mu/mu4e.html][Mu4e]], a package that provides an emacs-based e-mail client which uses [[https://www.djcbsoftware.nl/code/mu/][mu]] as its backend. @@ -682,7 +682,7 @@ #+END_SRC - If you are getting =Invalid Credentials= error and you are sure the password is correct, check [[https://appuals.com/fix-your-imap-server-wants-to-alert-you-invalid-credentials/][this]] link. 4. (Optional) If you want to track meetings using =org-mode=, set =gnus-icalendar-org-capture-file= to the meeting's file. - #+INCLUDE: "~/.emacs.d/elisp/init-mu4e.el" src emacs-lisp :range-begin "Mu4ePac" :range-end "-Mu4ePac" :lines "42-166" + #+INCLUDE: "~/.emacs.d/elisp/init-mu4e.el" src emacs-lisp :range-begin "Mu4ePac" :range-end "-Mu4ePac" :lines "39-163" ** Tramp [[https://www.emacswiki.org/emacs/TrampMode][Tramp]], short for Transparent Remote Access, Multiple Protocols is a package for editing remote files using a remote shell connection (rlogin, telnet, ssh). *** Google Cloud Platform @@ -690,36 +690,36 @@ #+BEGIN_SRC text /gssh:some-instance:/path/to/file #+END_SRC - #+INCLUDE: "~/.emacs.d/elisp/init-tramp.el" src emacs-lisp :range-begin "TrampPac" :range-end "-TrampPac" :lines "41-58" + #+INCLUDE: "~/.emacs.d/elisp/init-tramp.el" src emacs-lisp :range-begin "TrampPac" :range-end "-TrampPac" :lines "39-56" ** PDF Tools [[https://github.com/politza/pdf-tools][PDF Tools]], an Emacs support library for PDF files. It works best on non-Windows OS. *Note*: You need [[https://linux.die.net/man/1/convert][convert]] provided from imagemagick to /Pick a Link and Jump/ with F. - #+INCLUDE: "~/.emacs.d/elisp/init-pdf.el" src emacs-lisp :range-begin "PDFToolsPac" :range-end "-PDFToolsPac" :lines "44-56" + #+INCLUDE: "~/.emacs.d/elisp/init-pdf.el" src emacs-lisp :range-begin "PDFToolsPac" :range-end "-PDFToolsPac" :lines "42-54" ** LeetCode [[https://github.com/kaiwk/leetcode.el][LeetCode]], an Emacs LeetCode client. Note that this package is dependant on [[https://github.com/skeeto/emacs-aio][aio]] and [[https://github.com/davazp/graphql-mode][GraphQL]]. - #+INCLUDE: "~/.emacs.d/elisp/init-leetcode.el" src emacs-lisp :range-begin "LeetCodePac" :range-end "-LeetCodePac" :lines "44-53" + #+INCLUDE: "~/.emacs.d/elisp/init-leetcode.el" src emacs-lisp :range-begin "LeetCodePac" :range-end "-LeetCodePac" :lines "42-51" ** Input Method *** Pyim [[https://github.com/tumashu/pyim][Pyim]], an Emacs Chinese Pinyin Input. It uses [[https://github.com/tumashu/posframe][posframe]] package to display candidates. 我已经停止使用作者推荐的无痛中英切换,它对需要同时打英文和中文的情况不是很友好。如需切换输入法,请善用 =C-\= 。 - #+INCLUDE: "~/.emacs.d/elisp/init-input-method.el" src emacs-lisp :range-begin "PyimPac" :range-end "-PyimPac" :lines "44-62" + #+INCLUDE: "~/.emacs.d/elisp/init-input-method.el" src emacs-lisp :range-begin "PyimPac" :range-end "-PyimPac" :lines "39-57" **** Pyim BaseDict [[https://github.com/tumashu/pyim-basedict][Pyim BaseDict]], the default Chinese-Pyim dictionary. - #+INCLUDE: "~/.emacs.d/elisp/init-input-method.el" src emacs-lisp :range-begin "PyimBaseDictPac" :range-end "-PyimBaseDictPac" :lines "65-68" + #+INCLUDE: "~/.emacs.d/elisp/init-input-method.el" src emacs-lisp :range-begin "PyimBaseDictPac" :range-end "-PyimBaseDictPac" :lines "60-63" ** EPaint [[https://github.com/chuntaro/epaint][EPaint]], a simple paint tool for emacs. - #+INCLUDE: "~/.emacs.d/elisp/init-epaint.el" src emacs-lisp :range-begin "EPaintPac" :range-end "-EPaintPac" :lines "44-54" + #+INCLUDE: "~/.emacs.d/elisp/init-epaint.el" src emacs-lisp :range-begin "EPaintPac" :range-end "-EPaintPac" :lines "39-49" ** Tetris Although [[https://www.emacswiki.org/emacs/TetrisMode][Tetris]] is part of Emacs, but there still could be some configurations. - #+INCLUDE: "~/.emacs.d/elisp/init-games.el" src emacs-lisp :range-begin "TetrisConfig" :range-end "-TetrisConfig" :lines "41-54" + #+INCLUDE: "~/.emacs.d/elisp/init-games.el" src emacs-lisp :range-begin "TetrisConfig" :range-end "-TetrisConfig" :lines "39-52" ** Speed Type [[https://github.com/hagleitn/speed-type][Speed type]], a game to practice touch/speed typing in Emacs. - #+INCLUDE: "~/.emacs.d/elisp/init-games.el" src emacs-lisp :range-begin "SpeedTypePac" :range-end "-SpeedTypePac" :lines "57-59" + #+INCLUDE: "~/.emacs.d/elisp/init-games.el" src emacs-lisp :range-begin "SpeedTypePac" :range-end "-SpeedTypePac" :lines "55-57" ** 2048 Game [[https://bitbucket.org/zck/2048.el][2048 Game]], an implementation of 2048 in Emacs. - #+INCLUDE: "~/.emacs.d/elisp/init-games.el" src emacs-lisp :range-begin "2048Pac" :range-end "-2048Pac" :lines "62-64" + #+INCLUDE: "~/.emacs.d/elisp/init-games.el" src emacs-lisp :range-begin "2048Pac" :range-end "-2048Pac" :lines "60-62" ** Zone [[https://www.emacswiki.org/emacs/ZoneMode][Zone]], a minor-mode 'zones' Emacs out, choosing one of its random modes to obfuscate the current buffer. - #+INCLUDE: "~/.emacs.d/elisp/init-zone.el" src emacs-lisp :range-begin "ZonePac" :range-end "-ZonePac" :lines "41-55" + #+INCLUDE: "~/.emacs.d/elisp/init-zone.el" src emacs-lisp :range-begin "ZonePac" :range-end "-ZonePac" :lines "39-53" diff --git a/site-elisp/emacs-application-framework b/site-elisp/emacs-application-framework index 83a25b83..5984335f 160000 --- a/site-elisp/emacs-application-framework +++ b/site-elisp/emacs-application-framework @@ -1 +1 @@ -Subproject commit 83a25b83c4fc831a73a16dcdb617446a09c29507 +Subproject commit 5984335f5e8a40adfd078359b5fd74757f7b2905