| | |
| | | (cond ((eq system-type 'windows-nt)
|
| | | (add-to-list 'exec-path "C:/msys64/usr/bin")
|
| | | (add-to-list 'exec-path "C:/msys64/mingw64/bin")
|
| | | (add-to-list 'exec-path "c:/Program Files/gnuplot")
|
| | | (add-to-list 'exec-path "C:/Program Files/gnuplot")
|
| | | (setenv "PATH" (mapconcat #'identity exec-path path-separator)))
|
| | | ((eq system-type 'darwin)
|
| | | (use-package exec-path-from-shell
|
| | |
| | | Remote editing mode.
|
| | | Hate having to re-input passwords.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (when (eq system-type 'windows-nt)
|
| | | (setq tramp-default-method "pscp"))
|
| | | (setq password-cache-expiry nil)
|
| | | (use-package tramp
|
| | | :ensure t
|
| | | :pin gnu
|
| | | :config
|
| | | ;; (setq tramp-default-method "ssh")
|
| | | (when (eq system-type 'windows-nt)
|
| | | (setq tramp-default-method "pscp"))
|
| | | (setq password-cache-expiry nil))
|
| | | #+END_SRC
|
| | |
|
| | | ** COMMENT Y or N instead of yes or no
|
| | |
| | | (minimap-mode))
|
| | | #+END_SRC
|
| | |
|
| | | ** Highlight indentation
|
| | | Vertical demarcations for indent levels
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package highlight-indentation
|
| | | :ensure t
|
| | | :hook (prog-mode . highlight-indentation-mode))
|
| | | #+END_SRC
|
| | | * Mode line tweaks
|
| | | Diminish is used but is included in init.el such that it can be used throughout this document
|
| | | ** Spaceline
|
| | |
| | | :config
|
| | | (flycheck-pos-tip-mode))
|
| | | #+END_SRC
|
| | |
|
| | | ** Company
|
| | | Company is auto-complete for Emacs.
|
| | | Uses various backends, more of which are added later.
|
| | |
| | | ** LSP Mode
|
| | | Use LSP for completion suggestions.
|
| | | Causes too much memory usage, need to debug.
|
| | | Need to generate ~compile_flags~ for c/c++, can use ~bear~ but may need other tools.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package lsp-mode
|
| | | :ensure t
|
| | | :hook (((c-mode
|
| | | cpp-mode
|
| | | c++-mode
|
| | | tex-mode
|
| | | latex-mode
|
| | | TeX-mode
|
| | |
| | | (setq lsp-completion-provider :capf)
|
| | | (setq lsp-keep-workspace-alive 'nil)
|
| | | (add-to-list 'exec-path "~/.cargo/bin"))
|
| | | |
| | |
|
| | | (use-package lsp-ui
|
| | | :ensure t
|
| | | :commands lsp-ui-mode)
|
| | | |
| | |
|
| | | (use-package helm-lsp
|
| | | :ensure t
|
| | | :commands helm-lsp-workspace-symbol)
|
| | |
| | | (flycheck-clang-analyzer-setup)))
|
| | | #+END_SRC
|
| | |
|
| | | **** Company
|
| | | **** COMMENT Company
|
| | | Add header completion as well as Irony, which uses clang for suggestions.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package company-c-headers
|
| | |
| | | (add-hook 'c++-mode-hook 'company-mode)
|
| | | (add-hook 'c-mode-hook 'company-mode))
|
| | |
|
| | | (use-package irony
|
| | | :ensure t
|
| | | :init
|
| | | (setq w32-pipe-read-delay 0)
|
| | | (setq irony-server-w32-pipe-buffer-size (* 64 1024))
|
| | | (add-hook 'c++-mode-hook 'irony-mode)
|
| | | (add-hook 'c-mode-hook 'irony-mode)
|
| | | (add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options)
|
| | | (add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options))
|
| | | ;; (use-package irony
|
| | | ;; :ensure t
|
| | | ;; :init
|
| | | ;; (setq w32-pipe-read-delay 0)
|
| | | ;; (setq irony-server-w32-pipe-buffer-size (* 64 1024))
|
| | | ;; (add-hook 'c++-mode-hook 'irony-mode)
|
| | | ;; (add-hook 'c-mode-hook 'irony-mode)
|
| | | ;; (add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options)
|
| | | ;; (add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options))
|
| | |
|
| | | (use-package company-irony
|
| | | :ensure t
|
| | | :after irony
|
| | | :config
|
| | | (add-to-list 'company-backends '(company-c-headers
|
| | | company-dabbrev-code
|
| | | company-irony)))
|
| | | ;; (use-package company-irony
|
| | | ;; :ensure t
|
| | | ;; :after irony
|
| | | ;; :config
|
| | | ;; (add-to-list 'company-backends '(company-c-headers
|
| | | ;; company-dabbrev-code
|
| | | ;; company-irony)))
|
| | | #+END_SRC
|
| | | **** Clang-format
|
| | | Automatically format buffer on save.
|
| | |
| | | :ensure t
|
| | | :init
|
| | | (cond ((eq system-type 'windows-nt)
|
| | | (setq plantuml-jar-path "c:/ProgramData/chocolatey/lib/plantuml/tools/plantuml.jar"))
|
| | | (when (file-exists-p "c:/ProgramData/chocolatey/lib/plantuml/tools/plantuml.jar")
|
| | | (setq plantuml-jar-path "c:/ProgramData/chocolatey/lib/plantuml/tools/plantuml.jar")
|
| | | (setq planuml-default-exec-mode 'jar)))
|
| | | ((eq system-type 'gnu/linux)
|
| | | (setq plantuml-jar-path "/usr/share/java/plantuml/plantuml.jar")))
|
| | | (setq planuml-default-exec-mode 'jar))
|
| | | (when (file-exists-p "/usr/share/java/plantuml/plantuml.jar")
|
| | | (setq plantuml-jar-path "/usr/share/java/plantuml/plantuml.jar")
|
| | | (setq planuml-default-exec-mode 'jar)))))
|
| | | #+END_SRC
|
| | |
|
| | | *** COMMENT Racket
|
| | |
| | | '("\\.rkt$" . racket-mode)))
|
| | | #+END_SRC
|
| | |
|
| | | *** COMMENT Verilog
|
| | | *** Verilog
|
| | | **** Get latest version
|
| | | Use latest version from repositories.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | |
| | | (use-package flycheck-rust
|
| | | :ensure t
|
| | | :config
|
| | | (add-hook 'flyckeck-mode-hook #'flycheck-rust-setup))
|
| | | (add-hook 'flycheck-mode-hook #'flycheck-rust-setup))
|
| | | #+END_SRC
|
| | | *** Go
|
| | | **** Major mode
|
| | |
| | | ** Up to date org
|
| | | Pull the latest org mode from the repository, rather than the org which comes with emacs.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package org
|
| | | :ensure org-plus-contrib
|
| | | :pin org)
|
| | | (use-package org
|
| | | :ensure org-contrib)
|
| | | #+END_SRC
|
| | |
|
| | | ** Small tweaks
|
| | |
| | | (visual-line-mode 1)))
|
| | | #+END_SRC
|
| | |
|
| | | ** org-bullets
|
| | | ** Fancy org points
|
| | | Use bullets of different colours and styles instead of the "\*\*\*" to denote indentation levels.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package org-bullets
|
| | | (use-package org-superstar
|
| | | :ensure t
|
| | | :config
|
| | | (add-hook 'org-mode-hook (lambda () (org-bullets-mode))))
|
| | | (add-hook 'org-mode-hook (lambda () (org-superstar-mode 1))))
|
| | | #+END_SRC
|
| | |
|
| | | ** Org Babel
|
| | |
| | | (scheme . t)
|
| | | (gnuplot . t)
|
| | | (matlab . t)
|
| | | (plantuml . t)
|
| | | (fortran . t)
|
| | | (java . t)
|
| | | (plantuml . t)))
|