Huge update of doom config
This commit is contained in:
parent
f1af023403
commit
ccf3cda356
@ -118,6 +118,30 @@ After that, restart Emacs with =spc q r=.
|
||||
(setq display-line-numbers-type t)
|
||||
#+end_src
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package doom-modeline
|
||||
:hook (after-init . doom-modeline-mode)
|
||||
:custom
|
||||
(doom-modeline-height 25)
|
||||
(doom-modeline-bar-width 1)
|
||||
(doom-modeline-icon t)
|
||||
(doom-modeline-major-mode-icon t)
|
||||
(doom-modeline-major-mode-color-icon t)
|
||||
(doom-modeline-buffer-file-name-style 'truncate-upto-project)
|
||||
(doom-modeline-buffer-state-icon t)
|
||||
(doom-modeline-buffer-modification-icon t)
|
||||
(doom-modeline-minor-modes nil)
|
||||
(doom-modeline-enable-word-count nil)
|
||||
(doom-modeline-buffer-encoding t)
|
||||
(doom-modeline-indent-info nil)
|
||||
(doom-modeline-checker-simple-format t)
|
||||
(doom-modeline-vcs-max-length 12)
|
||||
(doom-modeline-env-version t)
|
||||
(doom-modeline-irc-stylize 'identity)
|
||||
(doom-modeline-github-timer nil)
|
||||
(doom-modeline-gnus-timer nil))
|
||||
#+end_src
|
||||
|
||||
** Evil
|
||||
#+begin_src emacs-lisp
|
||||
(after! evil
|
||||
@ -162,6 +186,19 @@ Turn off auto-fill mode that add line breaks.
|
||||
(add-hook 'org-mode-hook 'turn-off-auto-fill))
|
||||
#+end_src
|
||||
|
||||
** Useful General Functions
|
||||
#+begin_src emacs-lisp
|
||||
(defun tdh-matlab-work ()
|
||||
"Setup Matlab Work Windows"
|
||||
(interactive)
|
||||
(delete-other-windows)
|
||||
(evil-window-vsplit)
|
||||
(evil-window-right 1)
|
||||
(switch-to-buffer "*MATLAB*")
|
||||
(evil-window-left 1)
|
||||
)
|
||||
#+end_src
|
||||
|
||||
** Change default alert backend
|
||||
#+begin_src emacs-lisp
|
||||
(setq alert-default-style 'libnotify)
|
||||
@ -196,7 +233,19 @@ Turn off auto-fill mode that add line breaks.
|
||||
#+begin_src emacs-lisp
|
||||
(setenv "GIT_ASKPASS" "git-gui--askpass")
|
||||
|
||||
(after! magit
|
||||
(setq magit-diff-refine-hunk 'all)
|
||||
(setq magit-repository-directories `(("~/Cloud/thesis/matlab/" . 1)))
|
||||
(setq magit-repolist-columns '(("Name" 25 magit-repolist-column-ident nil)
|
||||
("Status" 7 magit-repolist-column-flag)
|
||||
("B<U" 3 magit-repolist-column-unpulled-from-upstream
|
||||
((:right-align t)
|
||||
(:help-echo "Upstream changes not in branch")))
|
||||
("B>U" 3 magit-repolist-column-unpushed-to-upstream
|
||||
((:right-align t)
|
||||
(:help-echo "Local changes not in upstream")))
|
||||
("Path" 99 magit-repolist-column-path nil)))
|
||||
)
|
||||
#+end_src
|
||||
|
||||
** Dired
|
||||
@ -441,7 +490,7 @@ General configuration
|
||||
(setq org-agenda-window-setup 'current-window)
|
||||
|
||||
(setq org-agenda-prefix-format
|
||||
'((agenda . " %-12:c %?-12t% s")
|
||||
'((agenda . " %?-12t% s")
|
||||
(todo . "") ;; Don't show the filename for reading agenda
|
||||
(tags . " %-12:c")
|
||||
(search . " %-12:c"))
|
||||
@ -602,7 +651,7 @@ Documentation:
|
||||
(after! org
|
||||
(setq org-capture-templates
|
||||
(quote (("t" ; key
|
||||
"todo" ; name
|
||||
"Todo" ; name
|
||||
entry ; type
|
||||
(file+headline "~/Cloud/org/work-notebook.org" "Inbox") ; target
|
||||
"** TODO %?\n%U\n" ; template
|
||||
@ -614,11 +663,17 @@ Documentation:
|
||||
"** %?\n%(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n" ; template
|
||||
)
|
||||
("m" ; key
|
||||
"mail" ; name
|
||||
"Mail" ; name
|
||||
entry ; type
|
||||
(file+headline "~/Cloud/org/work-notebook.org" "Mails") ; target
|
||||
"** TODO [#A] %?\nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n%a\n" ; template
|
||||
)
|
||||
("r" ; key
|
||||
"Reference" ; name
|
||||
entry ; type
|
||||
(file+headline "~/Cloud/org/inbox-ereader.org" "Things to Read") ; target
|
||||
"** TODO [#B] %?\n" ; template
|
||||
)
|
||||
("pm"
|
||||
"Org-Protocol Mail"
|
||||
entry
|
||||
@ -706,7 +761,7 @@ Do not export headline with the =:ignore:= tag:
|
||||
(setq org-html-wrap-src-lines nil)
|
||||
|
||||
;; Export with css class instead of inline css
|
||||
(setq org-html-htmlize-output-type 'nil)
|
||||
(setq org-html-htmlize-output-type 'css)
|
||||
)
|
||||
#+end_src
|
||||
|
||||
@ -931,7 +986,7 @@ Adapt this from https://github.com/alhassy/emacs.d to do something similar for s
|
||||
|
||||
;; Colors of latex fragments
|
||||
(setq org-format-latex-options (plist-put org-format-latex-options :foreground 'default))
|
||||
(setq org-format-latex-options (plist-put org-format-latex-options :background (face-background 'fringe)))
|
||||
(setq org-format-latex-options (plist-put org-format-latex-options :background 'default))
|
||||
)
|
||||
#+end_src
|
||||
|
||||
@ -975,6 +1030,15 @@ Adapt this from https://github.com/alhassy/emacs.d to do something similar for s
|
||||
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
||||
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
|
||||
)
|
||||
(add-to-list 'org-latex-classes
|
||||
'("scrartcl"
|
||||
"\\documentclass{scrartcl}"
|
||||
("\\section{%s}" . "\\section*{%s}")
|
||||
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
|
||||
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
||||
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
|
||||
)
|
||||
(add-to-list 'org-latex-classes
|
||||
'("scrreprt"
|
||||
"\\documentclass{scrreprt}"
|
||||
@ -993,13 +1057,29 @@ Adapt this from https://github.com/alhassy/emacs.d to do something similar for s
|
||||
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
||||
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
|
||||
)
|
||||
(add-to-list 'org-latex-classes
|
||||
'("moderncv"
|
||||
"\\documentclass{moderncv}"
|
||||
("\\section{%s}" . "\\section*{%s}")
|
||||
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
|
||||
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
||||
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
|
||||
)
|
||||
|
||||
)
|
||||
#+end_src
|
||||
|
||||
*** Ox Latex Subfigure package
|
||||
#+begin_src emacs-lisp
|
||||
;; (use-package! ox-latex-subfigure
|
||||
;; :after org
|
||||
;; :config (require 'ox-latex-subfigure))
|
||||
#+end_src
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package! ox-latex-subfigure
|
||||
:after org
|
||||
:load-path "~/.config/doom/packages/ox-latex-subfigure/"
|
||||
:config (require 'ox-latex-subfigure))
|
||||
#+end_src
|
||||
|
||||
@ -1458,6 +1538,38 @@ https://www.reddit.com/r/emacs/comments/d3a8or/pretty_org_tables_in_the_buffer_c
|
||||
)
|
||||
#+end_src
|
||||
|
||||
** Citeproc-Org
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package! citeproc-org
|
||||
:ensure t
|
||||
:after ox-hugo
|
||||
:config
|
||||
(citeproc-org-setup))
|
||||
#+END_SRC
|
||||
|
||||
** Org Wild Notifier
|
||||
#+begin_src emacs-lisp
|
||||
(use-package! org-wild-notifier
|
||||
:after org
|
||||
:init
|
||||
(setq alert-default-style 'libnotify)
|
||||
:config
|
||||
)
|
||||
#+end_src
|
||||
|
||||
** TODO Orch
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package! web-server
|
||||
:init
|
||||
:config
|
||||
)
|
||||
#+end_src
|
||||
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(add-to-list 'load-path "~/.config/doom/packages/orch/")
|
||||
(autoload 'orch-toggle "orch" nil t)
|
||||
#+end_src
|
||||
|
||||
** TODO [#A] Custom Keybindings - =,= leader key and =C-c=
|
||||
|
||||
| | |
|
||||
@ -1782,19 +1894,6 @@ Add all named source blocks to =org-babel-library-of-babel= ([[file:emacs-librar
|
||||
#+begin_src emacs-lisp
|
||||
(after! org
|
||||
(setq org-babel-matlab-shell-command "/home/thomas/.local/bin/matlab -softwareopengl -nodesktop -nosplash")
|
||||
|
||||
(setq org-babel-matlab-emacs-link-wrapper-method
|
||||
"%s
|
||||
if ischar(ans);
|
||||
echo('test');
|
||||
fid = fopen('%s', 'w');
|
||||
fprintf(fid, '%s', ans);
|
||||
fclose(fid);
|
||||
else;
|
||||
save -ascii %s ans;
|
||||
end
|
||||
delete('%s');
|
||||
")
|
||||
)
|
||||
#+end_src
|
||||
|
||||
@ -1815,6 +1914,93 @@ Default options for Matlab code
|
||||
)
|
||||
#+end_src
|
||||
|
||||
Better format the output results for Matlab ([[https://www.reddit.com/r/emacs/comments/fy98bs/orgbabels_matlab_session_output_is_malformed/?utm_source=share&utm_medium=web2x][link]]).
|
||||
#+begin_src emacs-lisp
|
||||
(after! org
|
||||
(defun org-babel-octave-evaluate-session
|
||||
(session body result-type &optional matlabp)
|
||||
"Evaluate BODY in SESSION."
|
||||
(let* ((tmp-file (org-babel-temp-file (if matlabp "matlab-" "octave-")))
|
||||
(wait-file (org-babel-temp-file "matlab-emacs-link-wait-signal-"))
|
||||
(full-body
|
||||
(pcase result-type
|
||||
(`output
|
||||
(mapconcat
|
||||
#'org-babel-chomp
|
||||
(list (if matlabp
|
||||
(multi-replace-regexp-in-string
|
||||
'(("%.*$" . "") ;Remove comments
|
||||
(";\\s-*\n+" . "; ") ;Concatenate lines
|
||||
("\\(\\.\\)\\{3\\}\\s-*\n+" . " ") ;Handle continuations
|
||||
(",*\\s-*\n+" . ", ")) ;Concatenate lines
|
||||
body)
|
||||
body)
|
||||
org-babel-octave-eoe-indicator) "\n"))
|
||||
(`value
|
||||
(if (and matlabp org-babel-matlab-with-emacs-link)
|
||||
(concat
|
||||
(format org-babel-matlab-emacs-link-wrapper-method
|
||||
body
|
||||
(org-babel-process-file-name tmp-file 'noquote)
|
||||
(org-babel-process-file-name tmp-file 'noquote) wait-file) "\n")
|
||||
(mapconcat
|
||||
#'org-babel-chomp
|
||||
(list (format org-babel-octave-wrapper-method
|
||||
body
|
||||
(org-babel-process-file-name tmp-file 'noquote)
|
||||
(org-babel-process-file-name tmp-file 'noquote))
|
||||
org-babel-octave-eoe-indicator) "\n")))))
|
||||
(raw (if (and matlabp org-babel-matlab-with-emacs-link)
|
||||
(save-window-excursion
|
||||
(with-temp-buffer
|
||||
(insert full-body)
|
||||
(write-region "" 'ignored wait-file nil nil nil 'excl)
|
||||
(matlab-shell-run-region (point-min) (point-max))
|
||||
(message "Waiting for Matlab Emacs Link")
|
||||
(while (file-exists-p wait-file) (sit-for 0.01))
|
||||
"")) ;; matlab-shell-run-region doesn't seem to
|
||||
;; make *matlab* buffer contents easily
|
||||
;; available, so :results output currently
|
||||
;; won't work
|
||||
(org-babel-comint-with-output
|
||||
(session
|
||||
(if matlabp
|
||||
org-babel-octave-eoe-indicator
|
||||
org-babel-octave-eoe-output)
|
||||
t full-body)
|
||||
(insert full-body) (comint-send-input nil t)))) results)
|
||||
(pcase result-type
|
||||
(`value
|
||||
(org-babel-octave-import-elisp-from-file tmp-file))
|
||||
(`output
|
||||
(setq results
|
||||
(if matlabp
|
||||
(cdr (reverse (delete "" (mapcar #'org-strip-quotes
|
||||
(mapcar #'org-trim (remove-car-upto-newline raw))))))
|
||||
(cdr (member org-babel-octave-eoe-output
|
||||
(reverse (mapcar #'org-strip-quotes
|
||||
(mapcar #'org-trim raw)))))))
|
||||
(mapconcat #'identity (reverse results) "\n")))))
|
||||
|
||||
(defun remove-car-upto-newline (raw)
|
||||
"Truncate each string in a list of strings up to the first newline"
|
||||
(cons (mapconcat #'identity
|
||||
(cdr (split-string-and-unquote (car raw) "\n"))
|
||||
"\n") (cdr raw)))
|
||||
|
||||
(defun multi-replace-regexp-in-string (replacements-list string &optional rest)
|
||||
(interactive)
|
||||
"Replace multiple regexps in a string. Order matters."
|
||||
(if (null replacements-list)
|
||||
string
|
||||
(let ((regex (caar replacements-list))
|
||||
(replacement (cdar replacements-list)))
|
||||
(multi-replace-regexp-in-string (cdr replacements-list)
|
||||
(replace-regexp-in-string regex replacement
|
||||
string rest)))))
|
||||
)
|
||||
#+end_src
|
||||
|
||||
** Some functions for using Matlab with Org Babel =,m=
|
||||
=whos= matlab function
|
||||
#+begin_src emacs-lisp
|
||||
@ -2104,6 +2290,14 @@ Nice Functions:
|
||||
;; Folder where all the pdf are located
|
||||
(setq org-ref-pdf-directory "~/Cloud/pdfs")
|
||||
|
||||
(setq org-ref-bibliography-entry-format
|
||||
'(("article" . "%a, %t, %j, v(%n), %p (%y).")
|
||||
("book" . "%a, %t, %u (%y).")
|
||||
("techreport" . "%a, %t, %i, %u (%y).")
|
||||
("phdthesis" . "%a, %t (%y).")
|
||||
("proceedings" . "%e, %t in %S, %u (%y).")
|
||||
("inproceedings" . "%a, %t, %p, in %b, edited by %e, %u (%y)")))
|
||||
|
||||
;; Tell org-ref to let helm-bibtex find notes for it
|
||||
(setq org-ref-notes-function
|
||||
(lambda (thekey)
|
||||
@ -2195,6 +2389,7 @@ Nice Functions:
|
||||
:config
|
||||
(setq org-roam-directory "~/Cloud/brain/")
|
||||
(setq org-roam-completion-system 'helm)
|
||||
(setq org-roam-tag-sources '(prop last-directory))
|
||||
(setq org-roam-capture-templates
|
||||
`(("d" "default" plain (function org-roam--capture-get-point)
|
||||
"%?"
|
||||
@ -2224,24 +2419,33 @@ Nice Functions:
|
||||
)
|
||||
#+end_src
|
||||
|
||||
Automatic export of backlinks
|
||||
#+begin_src emacs-lisp
|
||||
(after! (org org-roam)
|
||||
(defun tdh-org-roam--backlinks-list (file)
|
||||
(if (org-roam--org-roam-file-p file)
|
||||
(--reduce-from
|
||||
(concat acc (format "- [[file:%s][%s]]\n"
|
||||
(file-relative-name (car it) org-roam-directory)
|
||||
(org-roam--get-title-or-slug (car it))))
|
||||
"" (org-roam-db-query [:select [from] :from links :where (= to $s1)] file))
|
||||
""))
|
||||
(when (org-roam--org-roam-file-p file)
|
||||
(mapcar #'car (org-roam-db-query [:select :distinct [from]
|
||||
:from links
|
||||
:where (= to $s1)
|
||||
:and from :not :like $s2] file "%private%"))))
|
||||
(defun tdh-org-export-preprocessor (_backend)
|
||||
(when-let ((links (tdh-org-roam--backlinks-list (buffer-file-name))))
|
||||
(insert "\nBacklinks:\n")
|
||||
(dolist (link links)
|
||||
(insert (format "- [[file:%s][%s]]\n"
|
||||
(file-relative-name link org-roam-directory)
|
||||
(org-roam--get-title-or-slug link))))))
|
||||
(add-hook 'org-export-before-processing-hook #'tdh-org-export-preprocessor)
|
||||
|
||||
(defun tdh-org-export-preprocessor (backend)
|
||||
(let ((links (tdh-org-roam--backlinks-list (buffer-file-name))))
|
||||
(unless (string= links "")
|
||||
(save-excursion
|
||||
(goto-char (point-max))
|
||||
(insert (concat "\n* Backlinks\n") links)))))
|
||||
|
||||
(add-hook 'org-export-before-processing-hook 'tdh-org-export-preprocessor)
|
||||
(defun tdh-org-roam-export-all ()
|
||||
"Re-exports all Org-roam files to Hugo markdown."
|
||||
(interactive)
|
||||
(dolist (f (org-roam--list-all-files))
|
||||
(with-current-buffer (find-file f)
|
||||
(when (s-contains? "SETUPFILE" (buffer-string))
|
||||
(org-hugo-export-wim-to-md)))))
|
||||
)
|
||||
#+end_src
|
||||
|
||||
** Helm-Bibtex ([[https://github.com/tmalsburg/helm-bibtex][link]])
|
||||
@ -2254,7 +2458,7 @@ Nice Functions:
|
||||
(setq bibtex-completion-bibliography "~/Cloud/brain/biblio/references.bib")
|
||||
|
||||
;; Directory with all the pdfs
|
||||
(setq bibtex-completion-library-path "~/Cloud/pdfs")
|
||||
(setq bibtex-completion-library-path "~/Cloud/pdfs/")
|
||||
|
||||
;; Directory with notes files
|
||||
(setq bibtex-completion-notes-path "~/Cloud/brain/")
|
||||
@ -2304,6 +2508,19 @@ Nice Functions:
|
||||
(helm-add-action-to-source "Open PDF Externally" 'tdh-open-pdf-externally helm-source-bibtex 1)
|
||||
|
||||
(helm-add-action-to-source "Insert Link to Note" 'tdh-insert-link-to-note helm-source-bibtex 2)
|
||||
|
||||
(helm-add-action-to-source "Insert E-Reader Link" 'tdh-insert-link-to-pdf-entry helm-source-bibtex 3)
|
||||
)
|
||||
#+end_src
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(defun tdh-insert-link-to-pdf-entry (key)
|
||||
"Insert a link to a pdf associated with the bibtex entry."
|
||||
(let*
|
||||
((entry (bibtex-completion-get-entry key))
|
||||
(title (bibtex-completion-get-value "title" entry)))
|
||||
(insert (concat "[[file:Download/" key ".pdf][" title "]] (cite:" key ")"))
|
||||
)
|
||||
)
|
||||
#+end_src
|
||||
|
||||
@ -2315,7 +2532,7 @@ Nice Functions:
|
||||
(let* ((path (f-join bibtex-completion-notes-path
|
||||
(s-concat key bibtex-completion-notes-extension))))
|
||||
(if (file-exists-p path)
|
||||
(insert (concat "[[" (file-relative-name path) "][Notes]]"))
|
||||
(insert (concat "[[file:" (file-relative-name path) "][Notes]]"))
|
||||
(message "No note file associated"))
|
||||
)))
|
||||
#+end_src
|
||||
@ -2373,9 +2590,9 @@ Provides nice functions such as:
|
||||
(use-package! org-roam-bibtex
|
||||
:hook (org-roam-mode . org-roam-bibtex-mode)
|
||||
:config
|
||||
(setq org-roam-bibtex-preformat-keywords `("=key=" "title" "author" "year" "author-abbrev" "=type="))
|
||||
(setq orb-preformat-keywords `("=key=" "title" "author" "year" "author-abbrev" "=type="))
|
||||
|
||||
(setq org-roam-bibtex-templates
|
||||
(setq orb-templates
|
||||
`(("r" "ref" plain (function org-roam-capture--get-point) ""
|
||||
:file-name "${=key=}"
|
||||
:head ,(concat "#+TITLE: ${title}\n"
|
||||
@ -2410,29 +2627,12 @@ Provides nice functions such as:
|
||||
(call-process "zathura" nil 0 nil (org-ref-get-pdf-filename key)))
|
||||
#+end_src
|
||||
|
||||
** Org-Ref-Ox-Hugo ([[https://github.com/jethrokuan/org-ref-ox-hugo][link]])
|
||||
This package is used to correctly format the bibliography and links when exporting to hugo.
|
||||
|
||||
** Citeproc-org ([[https://github.com/andras-simonyi/citeproc-org][link]])
|
||||
#+begin_src emacs-lisp
|
||||
(use-package! org-ref-ox-hugo
|
||||
:load-path "~/.config/doom/packages/org-ref-ox-hugo/"
|
||||
(use-package! citeproc-org
|
||||
:after org
|
||||
:config
|
||||
(add-to-list 'org-ref-formatted-citation-formats
|
||||
'("md"
|
||||
("article" . "${author}, *${title}*, ${journal}, *${volume}(${number})*, ${pages} (${year}). ${doi}")
|
||||
("inproceedings" . "${author}, *${title}*, In ${editor}, ${booktitle} (pp. ${pages}) (${year}). ${address}: ${publisher}.")
|
||||
("book" . "${author}, *${title}* (${year}), ${address}: ${publisher}.")
|
||||
("phdthesis" . "${author}, *${title}* (${year}). ${school}.")
|
||||
("inbook" . "${author}, *${title}*, In ${editor} (Eds.), ${booktitle} (pp. ${pages}) (${year}). ${address}: ${publisher}.")
|
||||
("incollection" . "${author}, *${title}*, In ${editor} (Eds.), ${booktitle} (pp. ${pages}) (${year}). ${address}: ${publisher}.")
|
||||
("proceedings" . "${editor} (Eds.), _${booktitle}_ (${year}). ${address}: ${publisher}.")
|
||||
("unpublished" . "${author}, *${title}* (${year}). Unpublished manuscript.")
|
||||
("misc" . "${author} (${year}). *${title}*. Retrieved from [${howpublished}](${howpublished}). ${note}.")
|
||||
(nil . "${author}, *${title}* (${year}).")))
|
||||
|
||||
(setq reference-link-class "reference-link")
|
||||
(setq bibtex-entry-class "bibtex-entry")
|
||||
)
|
||||
(citeproc-org-setup))
|
||||
#+end_src
|
||||
|
||||
* LaTeX
|
||||
@ -2485,7 +2685,8 @@ This package is used to correctly format the bibliography and links when exporti
|
||||
** Setup Matlab Mode
|
||||
#+begin_src emacs-lisp
|
||||
(setq matlab-shell-command "/home/thomas/.local/bin/matlab")
|
||||
(setq matlab-shell-command-switches (list "-nodesktop -nosplash"))
|
||||
(setq matlab-shell-command-switches (list "-softwareopengl -nodesktop -nosplash"))
|
||||
(setq matlab-indent-function t)
|
||||
(setq mlint-programs '("mlint" "/home/thomas/.local/bin/mlint"))
|
||||
#+end_src
|
||||
|
||||
@ -2546,6 +2747,14 @@ This package is used to correctly format the bibliography and links when exporti
|
||||
(interactive)
|
||||
(matlab-shell-run-command (concat "dbclear in " (buffer-name))))
|
||||
|
||||
(defun tdh-matlab-no-debug-on-error ()
|
||||
(interactive)
|
||||
(matlab-shell-run-command (concat "dbclear if error")))
|
||||
|
||||
(defun tdh-matlab-debug-on-error ()
|
||||
(interactive)
|
||||
(matlab-shell-run-command (concat "dbstop if error")))
|
||||
|
||||
(defun tdh-matlab-go-to-file-directory ()
|
||||
(interactive)
|
||||
(matlab-shell-run-command (concat "cd " (file-name-directory buffer-file-name))))
|
||||
@ -2553,18 +2762,21 @@ This package is used to correctly format the bibliography and links when exporti
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(map! :map matlab-mode-map
|
||||
:n ",g" 'tdh-matlab-go-to-file-directory
|
||||
:n ",da" 'tdh-matlab-add-breakpoint
|
||||
:n ",dr" 'tdh-matlab-remove-breakpoint
|
||||
:n ",dL" 'tdh-matlab-list-breakpoints
|
||||
:n ",dc" 'tdh-matlab-clear-breakpoints
|
||||
:n ",dl" 'gud-cont
|
||||
:n ",ds" 'gud-step
|
||||
:n ",dn" 'gud-next
|
||||
:n ",dq" 'gud-finish)
|
||||
(:prefix ("," . "prefix")
|
||||
:n "g" 'tdh-matlab-go-to-file-directory
|
||||
(:prefix ("d" . "Debug")
|
||||
:n "de" 'tdh-matlab-debug-on-error
|
||||
:n "dE" 'tdh-matlab-no-debug-on-error
|
||||
:n "da" 'tdh-matlab-add-breakpoint
|
||||
:n "dr" 'tdh-matlab-remove-breakpoint
|
||||
:n "dL" 'tdh-matlab-list-breakpoints
|
||||
:n "dc" 'tdh-matlab-clear-breakpoints
|
||||
:n "dl" 'gud-cont
|
||||
:n "ds" 'gud-step
|
||||
:n "dn" 'gud-next
|
||||
:n "dq" 'gud-finish)))
|
||||
#+end_src
|
||||
|
||||
|
||||
* Mu4e
|
||||
** Resources
|
||||
Documentation:
|
||||
@ -2777,8 +2989,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
|
||||
deft
|
||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||
hydra
|
||||
(modeline
|
||||
+light) ; snazzy, Atom-inspired modeline, plus API
|
||||
modeline
|
||||
ophints ; highlight the region an operation acts on
|
||||
(popup ; tame sudden yet inevitable temporary windows
|
||||
+all ; catch all popups that start with an asterix
|
||||
@ -2787,6 +2998,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
|
||||
vc-gutter ; vcs diff in the fringe
|
||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||
workspaces ; tab emulation, persistence & separate workspaces
|
||||
(emoji +unicode)
|
||||
|
||||
:editor
|
||||
(evil +everywhere); come to the dark side, we have cookies
|
||||
@ -2800,6 +3012,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
|
||||
electric ; smarter, keyword-based electric-indent
|
||||
(ibuffer +icons) ; interactive buffer management
|
||||
vc ; version-control and Emacs, sitting in a tree
|
||||
undo
|
||||
|
||||
:term
|
||||
eshell ; a consistent, cross-platform shell (WIP)
|
||||
@ -2812,10 +3025,12 @@ Choose account label to feed msmtp -a option based on From header in Message buf
|
||||
+docsets) ; ...or in Dash docsets locally
|
||||
lsp
|
||||
magit ; a git porcelain for Emacs
|
||||
docker
|
||||
;;pass ; password manager for nerds
|
||||
pdf ; pdf enhancements
|
||||
eval
|
||||
biblio
|
||||
(lookup +dictionary)
|
||||
|
||||
:checkers
|
||||
syntax ; tasing you for every semicolon you forget
|
||||
@ -2839,6 +3054,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
|
||||
+lsp)
|
||||
(web
|
||||
+lsp)
|
||||
yaml
|
||||
|
||||
:email
|
||||
(mu4e +gmail)
|
||||
@ -2861,16 +3077,25 @@ Choose account label to feed msmtp -a option based on From header in Message buf
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(package! poet-theme)
|
||||
(package! org-alert)
|
||||
(package! spice-mode)
|
||||
(package! org-pandoc-import
|
||||
:recipe (:host github
|
||||
:repo "tecosaur/org-pandoc-import"
|
||||
:files ("*.el" "filters" "preprocessors")))
|
||||
|
||||
(package! citeproc-org)
|
||||
(package! org-wild-notifier)
|
||||
(package! org-gcal)
|
||||
(package! ox-latex-subfigure
|
||||
:recipe (:host github :repo "linktohack/ox-latex-subfigure"))
|
||||
;; (package! ox-latex-subfigure
|
||||
;; :recipe (:host github :repo "linktohack/ox-latex-subfigure"))
|
||||
;; (package! matlab-mode)
|
||||
(package! matlab-mode
|
||||
:recipe (:host github :repo "matlab-mode/mirror"))
|
||||
(package! org-ref)
|
||||
(package! org-roam-bibtex)
|
||||
(package! citeproc-org)
|
||||
(package! org-ql)
|
||||
(package! org-fancy-priorities)
|
||||
(package! evil-escape :disable t)
|
||||
(package! dired-narrow)
|
||||
(package! web-server)
|
||||
#+end_src
|
||||
|
Loading…
Reference in New Issue
Block a user