| | |
| | | (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
|
| | |
| | | (set-face-italic 'font-lock-keyword-face t)
|
| | | #+END_SRC
|
| | |
|
| | | ** Remove menu bar, toolbar, but keep scroll bar
|
| | | ** Remove menu bar, toolbar, and scroll bar
|
| | | Make the emacs interface slightly nicer.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (menu-bar-mode 0)
|
| | | (tool-bar-mode 0)
|
| | | (scroll-bar-mode 1)
|
| | | (scroll-bar-mode 0)
|
| | | #+END_SRC
|
| | | * COMMENT EXWM
|
| | | Emacs window manager.
|
| | |
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package exwm
|
| | | :ensure t
|
| | | :defer t
|
| | | :config
|
| | | (require 'exwm-config)
|
| | | (exwm-config-default))
|
| | |
| | | (diminish 'flyspell-mode)
|
| | |
|
| | | #+END_SRC
|
| | |
|
| | | ** Language Tool
|
| | | Language tool is an open source grammar checker.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package langtool
|
| | | :ensure t
|
| | | :init
|
| | | (setq langtool-java-classpath "/usr/share/languagetool:/usr/share/java/languagetool/*"))
|
| | | #+END_SRC
|
| | | ** Switch-window
|
| | | Helps to change windows easily when many are open at once.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | |
| | | Helpful pdf viewer.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package pdf-tools
|
| | | :ensure t
|
| | | :config
|
| | | (pdf-tools-install 1))
|
| | | :ensure t
|
| | | :config
|
| | | (pdf-tools-install 1))
|
| | | #+END_SRC
|
| | |
|
| | | ** COMMENT Writegood-mode
|
| | |
| | | ** Pretty symbols
|
| | | Why not? They make it look nice.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (when window-system
|
| | | (use-package pretty-mode
|
| | | :ensure t
|
| | | :diminish t
|
| | | :config
|
| | | (global-pretty-mode)))
|
| | | (use-package pretty-mode
|
| | | :ensure t
|
| | | :diminish t
|
| | | :if window-system
|
| | | :config
|
| | | (global-pretty-mode))
|
| | | #+END_SRC
|
| | |
|
| | | ** COMMENT Find file other window
|
| | |
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package rainbow-delimiters
|
| | | :ensure t
|
| | | :init
|
| | | (add-hook 'prog-mode-hook #'rainbow-delimiters-mode))
|
| | | :hook (prog-mode . rainbow-delimiters-mode))
|
| | | #+END_SRC
|
| | |
|
| | | ** Following whitespace
|
| | |
| | | #+END_SRC
|
| | |
|
| | | ** Coding system
|
| | | Cause we all love UTF8
|
| | | Cause we all love UTF8.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (set-terminal-coding-system 'utf-8)
|
| | | (set-keyboard-coding-system 'utf-8)
|
| | | (set-language-environment "UTF-8")
|
| | | (prefer-coding-system 'utf-8)
|
| | | (setq-default indent-tabs-mode t
|
| | | tab-width 4)
|
| | | (setq-default indent-tabs-mode nil
|
| | | tab-width 4
|
| | | c-basic-offset tab-width
|
| | | cperl-indent-level tab-width)
|
| | | (c-set-offset 'inline-open '0)
|
| | | (delete-selection-mode)
|
| | | (global-set-key (kbd "RET") 'newline-and-indent)
|
| | | #+END_SRC
|
| | | *** Smart tabs
|
| | | Tabs for indentation, spaces for alignment
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package smart-tabs-mode
|
| | | :ensure t
|
| | | :config
|
| | | (smart-tabs-insinuate 'c 'c++ 'java 'javascript 'cperl 'python 'ruby
|
| | | 'nxml))
|
| | | #+END_SRC
|
| | |
|
| | | ** Move to beginning of line ignoring whitespace
|
| | |
| | | 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)
|
| | | (add-to-list 'tramp-remote-path 'tramp-own-remote-path))
|
| | | #+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
|
| | |
| | | :ensure t
|
| | | :diminish yas-minor-mode
|
| | | :config
|
| | | (use-package yasnippet-snippets
|
| | | :ensure t)
|
| | | (yas-reload-all)
|
| | | (yas-global-mode 1))
|
| | |
|
| | | (use-package yasnippet-snippets
|
| | | :ensure t
|
| | | :after yasnippet)
|
| | | #+END_SRC
|
| | |
|
| | | ** Flycheck
|
| | |
| | | :config
|
| | | (flycheck-pos-tip-mode))
|
| | | #+END_SRC
|
| | |
|
| | | ** Company
|
| | | Company is auto-complete for Emacs.
|
| | | Uses various backends, more of which are added later.
|
| | |
| | | :config
|
| | | (global-company-mode)
|
| | | (setq company-idle-delay 0)
|
| | | (setq company-minimum-prefix-length 3))
|
| | | (setq company-minimum-prefix-length 1))
|
| | | #+END_SRC
|
| | |
|
| | | ** LSP Mode
|
| | | Use LSP for completion suggestions
|
| | | 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 ((lsp-mode . lsp-enable-which-key-integration))
|
| | | :hook (((c-mode
|
| | | c++-mode
|
| | | tex-mode
|
| | | latex-mode
|
| | | TeX-mode
|
| | | LaTeX-mode
|
| | | rust-mode
|
| | | sh-mode
|
| | | verilog-mode
|
| | | go-mode) . lsp))
|
| | | :init
|
| | | (setq lsp-keymap-prefix "C-c l")
|
| | | :commands lsp
|
| | | :config
|
| | | (add-hook 'lsp-mode-hook 'lsp-enable-which-key-integration)
|
| | | (setq read-process-output-max (* 1024 1024))
|
| | | (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 helm-lsp-workspace-symbol)
|
| | | #+END_SRC
|
| | |
|
| | | ** Version control
|
| | | Settings for emacs' own version control system.
|
| | | *** Enable version control on the mode line
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (vc-mode)
|
| | | #+END_SRC
|
| | |
|
| | | ** Magit
|
| | | Emacs git client.
|
| | | Pretty good and offers fairly decent features.
|
| | |
| | | ** CEDET
|
| | | *** Semantic
|
| | | Parser library for code, supports many other packages.
|
| | | Allows emacs to be mode aware of what is being written.
|
| | | Allows emacs to be more aware of what is being written.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package semantic
|
| | | :hook (prog-mode . semantic-mode)
|
| | | :config
|
| | | (global-semanticdb-minor-mode 1)
|
| | | (global-semantic-idle-scheduler-mode 1)
|
| | |
| | |
|
| | | ** Language specific configs
|
| | | *** C/C++
|
| | | **** COMMENT yasnippet
|
| | | Enable yasnippet for C/C++.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (add-hook 'c++-mode-hook 'yas-minor-mode)
|
| | | (add-hook 'c-mode-hook 'yas-minor-mode)
|
| | | #+END_SRC
|
| | |
|
| | | **** Flycheck clang
|
| | | **** Flycheck
|
| | | ***** Flycheck clang
|
| | | Add the clang backend for linting.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package flycheck-clang-analyzer
|
| | | :ensure t
|
| | | :config
|
| | | (with-eval-after-load 'flycheck
|
| | | (require 'flycheck-clang-analyzer)
|
| | | (flycheck-clang-analyzer-setup)))
|
| | | (use-package flycheck-clang-analyzer
|
| | | :ensure t
|
| | | :after flycheck
|
| | | :config
|
| | | (with-eval-after-load 'flycheck
|
| | | (require 'flycheck-clang-analyzer)
|
| | | (flycheck-clang-analyzer-setup)))
|
| | | #+END_SRC
|
| | | ***** Flycheck project root
|
| | | Flycheck tends to fail finding the project root, giving errors about missing files.
|
| | | This should remove them.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (defun setup-flycheck-project-path ()
|
| | | (let ((root (ignore-errors (projectile-project-root))))
|
| | | (when root
|
| | | (add-to-list
|
| | | (make-variable-buffer-local 'flycheck-clang-include-path)
|
| | | root)
|
| | | (add-to-list
|
| | | (make-variable-buffer-local 'flycheck-gcc-include-path)
|
| | | root))))
|
| | |
|
| | | (add-hook 'c-mode-hook 'setup-flycheck-project-path)
|
| | | (add-hook 'c++-mode-hook 'setup-flycheck-project-path)
|
| | | #+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
|
| | | :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
|
| | |
|
| | | **** LSP
|
| | | Allow completion with LSP.
|
| | | **** Clang-format
|
| | | Automatically format buffer on save.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (add-hook 'c-mode-hook 'lsp)
|
| | | (add-hook 'cpp-mode-hook 'lsp)
|
| | | (when (file-exists-p "/usr/share/clang/clang-format.el")
|
| | | (load "/usr/share/clang/clang-format.el")
|
| | | (setq clang-format-linux-style (concat "{BasedOnStyle: LLVM,"
|
| | | "IndentWidth: 8,"
|
| | | "UseTab: Always,"
|
| | | "BreakBeforeBraces: Linux,"
|
| | | "AllowShortIfStatementsOnASingleLine: false,"
|
| | | "IndentCaseLabels: false}"))
|
| | | (setq-default clang-format-style clang-format-linux-style)
|
| | | (defun clang-format-on-save ()
|
| | | (add-hook 'before-save-hook 'clang-format-buffer nil t))
|
| | | (add-hook 'c-mode-hook 'clang-format-on-save nil t)
|
| | | (add-hook 'c++-mode-hook 'clang-format-on-save nil t))
|
| | | #+END_SRC
|
| | | *** emacs-lisp
|
| | | **** COMMENT yasnippet
|
| | | Enable yasnippet.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (add-hook 'emacs-lisp-mode-hook 'yas-minor-mode)
|
| | | #+END_SRC
|
| | |
|
| | | **** COMMENT company
|
| | | **** COMMENT Company
|
| | | Add slime backend.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (add-hook 'emacs-lisp-mode-hook 'company-mode)
|
| | |
| | | (use-package tex
|
| | | :ensure auctex
|
| | | :config
|
| | | (setq TeX-auto-save t)
|
| | | (setq TeX-parse-self t)
|
| | | (setq TeX-view-program-selection '((output-pdf "PDF Tools"))
|
| | | (setq TeX-auto-save t
|
| | | TeX-parse-self t
|
| | | TeX-view-program-selection '((output-pdf "PDF Tools"))
|
| | | TeX-source-correlate-start-server t)
|
| | | (add-hook 'TeX-after-compilation-finished-functions #'TeX-revert-document-buffer))
|
| | | #+END_SRC
|
| | |
| | | (defun get-texcount-latest()
|
| | | (if (not(file-directory-p "~/.texcount"))
|
| | | (make-directory "~/.texcount"))
|
| | | (url-copy-file "https://app.uio.no/ifi/texcount/download.php?file=texcount_3_1_1.zip" "~/.texcount/texcount.zip" 1)
|
| | | (url-copy-file "https://app.uio.no/ifi/texcount/download.php?file=texcount_3_2_0_41.zip" "~/.texcount/texcount.zip" 1)
|
| | | (shell-command "unzip -o ~/.texcount/texcount.zip -d ~/.texcount")
|
| | | (add-to-list 'exec-path "~/.texcount/texcount.pl"))
|
| | |
|
| | |
| | | (add-hook 'latex-mode-hook (lambda () (define-key latex-mode-map (kbd "C-c c") 'texcount)))
|
| | | #+END_SRC
|
| | |
|
| | | **** LSP
|
| | | Allow LSP completion
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (add-hook 'tex-mode-hook 'lsp)
|
| | | (add-hook 'latex-mode-hook 'lsp)
|
| | | (add-hook 'TeX-mode-hook 'lsp)
|
| | | (add-hook 'LaTeX-mode-hook 'lsp)
|
| | | #+END_SRC
|
| | | *** PlantUML
|
| | | Sets the PlantUML path for the mode to generate models.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | |
| | | :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
|
| | |
| | | (autoload 'racket-mode "Racket" "Racket Editing Mode" t)
|
| | | (add-to-list
|
| | | 'auto-mode-alist
|
| | | '("\\.rkt$" . racket-mode))
|
| | | (setq matlab-indent-function t))
|
| | | '("\\.rkt$" . racket-mode)))
|
| | | #+END_SRC
|
| | |
|
| | | *** COMMENT Verilog
|
| | | *** Verilog
|
| | | **** Get latest version
|
| | | Pull the latest version from the web.
|
| | | Use latest version from repositories.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (defun get-verilog-latest()
|
| | | (if (not(file-directory-p "~/.emacs.d/elpa/verilog-mode"))
|
| | | (make-directory "~/.emacs.d/elpa/verilog-mode"))
|
| | | (if (file-exists-p "~/.emacs.d/elpa/verilog-mode/verilog-mode.el")
|
| | | (delete-file "~/.emacs.d/elpa/verilog-mode/verilog-mode.el"))
|
| | | (url-copy-file "https://www.veripool.org/ftp/verilog-mode.el" "~/.emacs.d/elpa/verilog-mode/verilog-mode.el" 1))
|
| | | #+END_SRC
|
| | |
|
| | | **** Integrate into emacs
|
| | | Add updated version (based off auto-package-update) and integrate it with Emacs.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (defun verilog-read-file-as-string (file)
|
| | | "Read FILE contents."
|
| | | (when (file-exists-p file)
|
| | | (with-temp-buffer
|
| | | (insert-file-contents file)
|
| | | (buffer-string))))
|
| | |
|
| | | (defun verilog-write-string-to-file (file string)
|
| | | "Substitute FILE contents with STRING."
|
| | | (with-temp-buffer
|
| | | (insert string)
|
| | | (when (file-writable-p file)
|
| | | (write-region (point-min)
|
| | | (point-max)
|
| | | file))))
|
| | |
|
| | | (defun verilog-today-day ()
|
| | | (time-to-days (current-time)))
|
| | |
|
| | | (defun should-update-verilog-p ()
|
| | | "Return non-nil when an update is due."
|
| | | (and
|
| | | (or
|
| | | (not (file-exists-p "~/.emacs.d/.last-verilog-update-day"))
|
| | | (if (>= (/ (- (verilog-today-day) (verilog-read-last-update-day)) 7) 1)
|
| | | t
|
| | | nil))))
|
| | |
|
| | | (defun verilog-read-last-update-day ()
|
| | | "Read last update day."
|
| | | (string-to-number
|
| | | (verilog-read-file-as-string "~/.emacs.d/.last-verilog-update-day")))
|
| | |
|
| | | (defun verilog-write-current-day ()
|
| | | "Store current day."
|
| | | (verilog-write-string-to-file
|
| | | "~/.emacs.d/.last-verilog-update-day"
|
| | | (int-to-string (verilog-today-day))))
|
| | |
|
| | | (use-package verilog-mode
|
| | | :hook (verilog-mode . lsp)
|
| | | :init
|
| | | (when (should-update-verilog-p)
|
| | | (get-verilog-latest)
|
| | | (verilog-write-current-day))
|
| | | (add-to-list 'load-path "~/.emacs.d/elpa/verilog-mode/verilog-mode.el")
|
| | | :ensure t
|
| | | :pin gnu
|
| | | :config
|
| | | (autoload 'verilog-mode "verilog-mode" "Verilog mode" t )
|
| | | (add-to-list 'auto-mode-alist '("\\.[ds]?vh?\\'" . verilog-mode)))
|
| | | (add-to-list 'auto-mode-alist '("\\.[ds]?va?h?\\'" . verilog-mode)))
|
| | | #+END_SRC
|
| | |
|
| | | *** COMMENT MATLAB
|
| | |
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package rust-mode
|
| | | :ensure t
|
| | | :hook (rust-mode . lsp)
|
| | | :config
|
| | | ;; style guide suggests spaces not tabs
|
| | | (add-hook 'rust-mode-hook (lambda () (setq indent-tabs-mode nil)))
|
| | |
| | | (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
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package go-mode
|
| | | :ensure t
|
| | | :config
|
| | | (add-hook 'before-save-hook #'gofmt-before-save))
|
| | | #+END_SRC
|
| | |
|
| | | **** COMMENT Completion
|
| | | Code completion with racer.
|
| | | #+RESULTS:
|
| | | : t
|
| | |
|
| | | **** Flycheck
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package racer
|
| | | (use-package flycheck-golangci-lint
|
| | | :ensure t
|
| | | :hook ((rust-mode . racer-mode)
|
| | | (racer-mode . (eldoc-mode company-mode)))
|
| | | :init
|
| | | (setq racer-command "~/.cargo/bin/racer"))
|
| | | :config
|
| | | (add-hook 'flycheck-mode-hook #'flycheck-golangci-lint-setup))
|
| | | #+END_SRC
|
| | | *** Bash
|
| | | **** LSP
|
| | | Completion with LSP
|
| | | **** Company
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (add-hook 'sh-mode-hook 'lsp)
|
| | | (use-package company-go
|
| | | :ensure t)
|
| | | #+END_SRC
|
| | | * Org 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)))
|
| | |
| | | ** Org export additions
|
| | | *** Pandoc
|
| | | Call pandoc on org buffer from org export.
|
| | | Need to add ~#+OPTIONS: H:99~ to enable large level header exports.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package ox-pandoc
|
| | | :ensure t)
|
| | |
| | | Allow org features to be exported to HTML for site.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package htmlize
|
| | | :ensure t)
|
| | | :ensure t
|
| | | :defer t)
|
| | | #+END_SRC
|
| | |
|
| | | * Journaling
|