diff --git a/init.el b/init.el index 4264afbff29974886f5e9ba07621b88dc0c35f99..94b38c1db29bf5f57b7a3e744eebe95122bce9bd 100644 --- a/init.el +++ b/init.el @@ -7,8 +7,7 @@ ;; This file is ;;; Code: -;;====================================================================================== -(setq debug-on-error t) +;; (setq debug-on-error t) (let ( @@ -46,7 +45,7 @@ (expand-file-name "elpa" user-emacs-directory ) "Packages install by package-initilize.") -;;; My Functions======================================================================= +;;; My Functions (defun open-init-file() "Find and open the init.el." (interactive) @@ -67,7 +66,6 @@ `(eval-after-load ,feature '(progn ,@body)))) -;;----------------------------------------------------------------------- (defun add-to-hook (fun hooks) "Add FUN to HOOKS." @@ -80,7 +78,7 @@ (add-to-list usr-list list)) ) -;;; Basic============================================================================= +;;; Basic (setq-default make-backup-files nil ;; Don't make a backup file which end with "~" visible-bell t ;; Flash the frame to represent a bell auto-image-file-mode t @@ -94,9 +92,8 @@ ;; Set font (set-frame-font "Source Code Pro 11" t t) -;; =================================================================================== -;;; Interface========================================================================= +;;; Interface (when (fboundp 'tool-bar-mode) (tool-bar-mode -1)) (when (fboundp 'set-scroll-bar-mode) @@ -111,7 +108,7 @@ ;; use y-n to replace yes-no (fset 'yes-or-no-p 'y-or-n-p) -;; Set the mode line.--------------------------------------------------------------- +;; Set the mode line. (setq-default mode-line-format ;; set mode line (list "%e" ;; print error message @@ -130,7 +127,7 @@ (add-hook 'prog-mode-hook 'linum-mode) (add-hook 'prog-mode-hook (lambda () (setq truncate-lines t))) -;;; Packages=============================================================================== +;;; Packages (require 'package) (setq package--init-file-ensured t package-enable-at-startup nil @@ -147,7 +144,6 @@ (package-refresh-contents) (package-install 'use-package)) ) -;;--------------------------------------------------------------------------------------- ;;; Built-In packages (use-package recentf @@ -170,7 +166,7 @@ :ensure nil :hook (after-init . global-auto-revert-mode)) -;;; Completion============================================================================= +;;; Completion (use-package yasnippet :ensure t :init @@ -183,17 +179,19 @@ (use-package yasnippet-snippets :ensure t) -(use-package company - :ensure t +(use-package company-mode + :ensure company + :hook prog-mode :config (setq company-idle-delay 0.2) (setq company-minimum-prefix-length 2) - ;; (setq tab-always-indent 'complete) - (add-hook 'prog-mode-hook 'company-mode) - ;; (setq-default company-backends (delete 'company-semantic company-backends)) + (setq tab-always-indent 'complete) + ;; (add-hook 'prog-mode-hook 'company-mode) + (setq-default company-backends (delete 'company-semantic company-backends)) (push '(company-semantic :with company-yasnippet) company-backends) :diminish company-mode ) + (use-package company-quickhelp :ensure t :defer company @@ -287,7 +285,7 @@ (add-hook 'after-init-hook 'hide-minor-mode) (add-hook 'find-file-hook (lambda () (hide-minor-mode))) -;;; Deft============================================================================== +;;; Deft (use-package deft :ensure t :config @@ -296,13 +294,13 @@ deft-recursive t )) -;;; youdao-dict----------------------------------------------------------------------- +;;; youdao-dict (use-package youdao-dictionary :ensure t :bind (("C-c o y" . 'youdao-dictionary-search-at-point+)) ) -;;; Keybinding======================================================================== +;;; Keybinding (use-package evil :ensure t) (use-package evil-leader @@ -316,17 +314,12 @@ :diminish which-key-mode ) (require 'keybindings) +(require 'prog-common) +(require 'prog-c-cpp) +(require 'prog-python) +(require 'prog-haskell) +(require 'init-org) ) -;;; self-defined packages -(use-package program - :load-path "lisp/program" - :hook prog-mode - ) - -(use-package use-org - :load-path "lisp/use-org" - :hook org-mode) - (provide 'init) ;;; init.el ends here diff --git a/lisp/use-org/use-org.el b/lisp/init-org.el similarity index 76% rename from lisp/use-org/use-org.el rename to lisp/init-org.el index 61fee25cc49ddb45b1b5a25f1b1976b2122a0e7f..b2f6ba231c45921ce008355fce86ab9f1cb04b15 100644 --- a/lisp/use-org/use-org.el +++ b/lisp/init-org.el @@ -35,10 +35,32 @@ (defvar org-user-latex-class (list org-ctexart-class org-complex-ctexbook-class org-simple-ctexbook-class)) +(use-package org + :ensure org + :defer t + :commands (orgtbl-mode) + :init + (progn + (require 'org)) + ) + +(use-package evil-org + :ensure evil-org + :defer t + :hook org-mode + :init + ;; (progn + ;; (add-hook 'org-mode-hook `(lambda () ((evil-org-mode))))) + ) + +(use-package gnuplot + :ensure gnuplot + :defer t) + (defun use-org () "Manage useage of 'org-mode'." (interactive) (message "Welcome to the world of writting")) -(provide 'use-org) -;;; use-org ends here +(provide 'init-org) +;;; init-org.el ends here diff --git a/lisp/keybindings.el b/lisp/keybindings.el index 0e71592e311ab6aae193db7d3ae3b1b3cdd29281..87aaa54d021388357c3130ff207cfd641ac34e6b 100644 --- a/lisp/keybindings.el +++ b/lisp/keybindings.el @@ -37,8 +37,12 @@ "w 2" 'split-window-right "w 0" 'delete-window "w 1" 'delete-other-windows - ;;youdao dict------------------------------ + ;; youdao dict------------------------------ "o y" 'youdao-dictionary-search-at-point+ + ;; flycheck mode + "e n" 'flycheck-next-error + "e p" 'flycheck-previous-error + "e l" 'flycheck-list-errors ) (evil-mode 1) diff --git a/lisp/prog-c-cpp.el b/lisp/prog-c-cpp.el new file mode 100644 index 0000000000000000000000000000000000000000..cc37a66853885215da4d796dc404b0b7240143d9 --- /dev/null +++ b/lisp/prog-c-cpp.el @@ -0,0 +1,13 @@ + +;;; Code: + +(use-package ccls + :ensure t + :defer t) + +(use-package clang-format + :ensure t + :defer t) + +(provide 'prog-c-cpp) +;;; prog-c-cpp.el ends here diff --git a/lisp/program/prog-lsp.el b/lisp/prog-common.el similarity index 88% rename from lisp/program/prog-lsp.el rename to lisp/prog-common.el index 91125e0e39b50eebf5d59945dd4651c522168538..08db86305261b252505bb3a544a5006c6f411431 100644 --- a/lisp/program/prog-lsp.el +++ b/lisp/prog-common.el @@ -4,6 +4,8 @@ ;;; Code: ;;; + +;;; Language server protocol (use-package nox :load-path "lisp/nox" :config @@ -58,5 +60,10 @@ (use-package dap-mode :ensure t) -(provide 'prog-lsp) -;;; prog-lsp.el ends here +;;; Flycheck +(use-package flycheck-mode + :ensure flycheck + :hook prog-mode) + +(provide 'prog-common) +;;; prog-common.el ends here diff --git a/lisp/program/prog-haskell.el b/lisp/prog-haskell.el similarity index 100% rename from lisp/program/prog-haskell.el rename to lisp/prog-haskell.el diff --git a/lisp/prog-python.el b/lisp/prog-python.el new file mode 100644 index 0000000000000000000000000000000000000000..908b9e301a8ecc0de3f89698b7e5585eab952dae --- /dev/null +++ b/lisp/prog-python.el @@ -0,0 +1,19 @@ + +;;; Code: + +(use-package importmagic + :defer t + :ensure t + :diminish importmagic-mode + :init + (progn + (add-hook 'python-mode-hook 'importmagic-mode) + )) + +(use-package pipenv + :defer t + :ensure t + ) + +(provide 'prog-python) +;;; prog-python.el ends here diff --git a/lisp/program/prog-c-cpp.el b/lisp/program/prog-c-cpp.el deleted file mode 100644 index df4c9e639c240365ec334b123ab5ee858859831c..0000000000000000000000000000000000000000 --- a/lisp/program/prog-c-cpp.el +++ /dev/null @@ -1,7 +0,0 @@ - -;;; Code: - - - -(provide 'prog-c-cpp) -;;; prog-c-cpp.el ends here diff --git a/lisp/program/prog-python.el b/lisp/program/prog-python.el deleted file mode 100644 index 74784b46c09690e8ffd7db260fd7eb4d9aee2a49..0000000000000000000000000000000000000000 --- a/lisp/program/prog-python.el +++ /dev/null @@ -1,5 +0,0 @@ - -;;; Code: - -(provide 'prog-python) -;;; prog-python.el ends here diff --git a/lisp/program/program.el b/lisp/program/program.el deleted file mode 100644 index 5c1b4b6f8bd5699cf1b8135efa57d47fe52aa0cc..0000000000000000000000000000000000000000 --- a/lisp/program/program.el +++ /dev/null @@ -1,24 +0,0 @@ -;; program.el --- initilize file for emacs programming - -;;; Commentary: - -;;; Code: - -;; Flycheck -(use-package flycheck-mode - :ensure flycheck - :hook prog-mode) -;; hs-minor-mode - -(require 'prog-c-cpp) -(require 'prog-python) -(require 'prog-haskell) -(require 'prog-lsp) - -(defun program () - "Manage programming issues for Emacs." - (interactive) - ) - -(provide 'program) -;;; program.el ends here