| | |
| | | (use-package undo-tree
|
| | | :diminish undo-tree-mode
|
| | | :config
|
| | | (setq-default undo-tree-auto-save-history t)
|
| | | (add-to-list 'undo-tree-incompatible-major-modes 'archive-mode)
|
| | | (global-undo-tree-mode))
|
| | | #+END_SRC
|
| | |
|
| | |
| | | ** Line numbers
|
| | | Everyone needs line numbers when programming.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (add-hook 'prog-mode-hook 'linum-mode)
|
| | | (if (version<= "26.0.50" emacs-version)
|
| | | (add-hook 'prog-mode-hook 'display-line-numbers-mode)
|
| | | (add-hook 'prog-mode-hook 'linum-mode))
|
| | | #+END_SRC
|
| | |
|
| | | ** Garbage collection
|
| | |
| | | (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"))
|
| | | (add-to-list 'exec-path "~/.cargo/bin")
|
| | | (add-to-list 'exec-path "~/.local/bin"))
|
| | |
|
| | | (use-package lsp-ui
|
| | | :commands lsp-ui-mode)
|
| | |
| | | verilog-indent-level-directive 4
|
| | | verilog-indent-level-module 4))
|
| | | #+END_SRC
|
| | | **** FPGA
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (use-package fpga
|
| | | :init
|
| | | (setq fpga-feature-list '(xilinx)))
|
| | | #+END_SRC
|
| | | **** Run and test
|
| | | Run the open buffer and display the output in a new buffer.
|
| | | #+BEGIN_SRC emacs-lisp
|
| | | (defun run-verilator ()
|
| | | (interactive)
|
| | | (save-buffer)
|
| | | (if (not (eq (shell-command (concat "verilator --binary -j 0 " (buffer-file-name)) "*verilator output*") 0))
|
| | | (display-buffer "*verilator output*" 'display-buffer-reuse-window)
|
| | | (shell-command (concat (file-name-directory (buffer-file-name))
|
| | | '"obj_dir/V"
|
| | | (file-name-nondirectory (file-name-sans-extension (buffer-file-name))))
|
| | | "*test output*")
|
| | | (display-buffer "*test output*" 'display-buffer-reuse-window))
|
| | | t)
|
| | | (define-key verilog-mode-map (kbd "C-c c") 'run-verilator)
|
| | | #+END_SRC
|
| | | *** MATLAB
|
| | | Mode for editing MATLAB m-files.
|
| | |
| | | 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-contrib)
|
| | | :pin gnu)
|
| | | #+END_SRC
|
| | |
|
| | | ** Small tweaks
|