Added custom Projectile config, revised elisp and Org Capture
Added some blacklisted directories to Projectile Wrote a function to make my code clearer with `add-to-list' Updated Org Capture shortcuts, in particular the text displayed in the user interface while entering the shortcuts.
This commit is contained in:
parent
540b47dc3c
commit
0f7c20e8c9
@ -56,11 +56,12 @@
|
||||
- [[#miscellaneous][Miscellaneous]]
|
||||
- [[#user-initialization][User Initialization]]
|
||||
- [[#user-configuration][User Configuration]]
|
||||
- [[#asm-configuration][ASM configuration]]
|
||||
- [[#cc][C/C++]]
|
||||
- [[#custom-functions][Custom functions]]
|
||||
- [[#phundrakadd-all-to-list][~phundrak/add-all-to-list~]]
|
||||
- [[#phundrakfill-paragraph][~phundrak/fill-paragraph~]]
|
||||
- [[#terminal-here-default-terminal-command][~terminal-here-default-terminal-command~]]
|
||||
- [[#asm-configuration][ASM configuration]]
|
||||
- [[#cc][C/C++]]
|
||||
- [[#dart-configuration][Dart configuration]]
|
||||
- [[#dired][Dired]]
|
||||
- [[#emacs-lisp][Emacs Lisp]]
|
||||
@ -89,6 +90,7 @@
|
||||
- [[#twittering-mode][Twittering mode]]
|
||||
- [[#wttrin-cities][Wttr.in cities]]
|
||||
- [[#nov-mode][Nov-mode]]
|
||||
- [[#projectile][Projectile]]
|
||||
- [[#python][Python]]
|
||||
- [[#org-mode][Org-mode]]
|
||||
- [[#custom-org-mode-functions][Custom org-mode functions]]
|
||||
@ -1377,35 +1379,6 @@
|
||||
:header-args:emacs-lisp: :tangle ~/.config/emacs/private/user-config.el :exports code :results silent
|
||||
:CUSTOM_ID: User_Configuration-4a937fe5
|
||||
:END:
|
||||
** ASM configuration
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: User_Configuration-ASM_configuration-f6dc7674
|
||||
:END:
|
||||
The first thing I will set with my ASM configuration is where the reference
|
||||
PDF is located.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq x86-lookup-pdf "~/Documents/code/asm/Intelx86/325383-sdm-vol-2abcd.pdf")
|
||||
#+END_SRC
|
||||
I will also modify what the comment character is, from a ~;~ to a ~#~:
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq asm-comment-char ?\#)
|
||||
#+END_SRC
|
||||
|
||||
** C/C++
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: User_Configuration-C-C++-76c3f997
|
||||
:END:
|
||||
As the C/C++ syntax is checked by flycheck, let’s make sure we are using the
|
||||
latest standard available, that is C++17 and C17, from Clang.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-hook 'c-mode-hook
|
||||
(lambda ()
|
||||
(setq flycheck-clang-language-standard "c17")))
|
||||
(add-hook 'c++-mode-hook
|
||||
(lambda ()
|
||||
(setq flycheck-clang-language-standard "c++17")))
|
||||
#+END_SRC
|
||||
|
||||
** Custom functions
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: User_Configuration-Custom_functions-ceb4bc42
|
||||
@ -1418,6 +1391,21 @@
|
||||
of the package or layer they are part of, unless they are an explicit
|
||||
overwrite of a function that already exists.
|
||||
|
||||
*** ~phundrak/add-all-to-list~
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: User_Configuration-Custom_functions-phundrakadd-all-to-list-7e34472b
|
||||
:END:
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun phundrak/add-all-to-list (list &rest elements)
|
||||
"Add all elements from `elements' to the list `list'. If an
|
||||
element from `elements' is already part of `list', it will be
|
||||
ignored."
|
||||
(dolist (e elements)
|
||||
(if (not (member e list))
|
||||
(add-to-list 'list e)))
|
||||
list)
|
||||
#+END_SRC
|
||||
|
||||
*** ~phundrak/fill-paragraph~
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: User_Configuration-Custom_functions-~phundrak-fill-paragraph~-ab4ef600
|
||||
@ -1446,6 +1434,35 @@
|
||||
'("st"))
|
||||
#+END_SRC
|
||||
|
||||
** ASM configuration
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: User_Configuration-ASM_configuration-f6dc7674
|
||||
:END:
|
||||
The first thing I will set with my ASM configuration is where the reference
|
||||
PDF is located.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq x86-lookup-pdf "~/Documents/code/asm/Intelx86/325383-sdm-vol-2abcd.pdf")
|
||||
#+END_SRC
|
||||
I will also modify what the comment character is, from a ~;~ to a ~#~:
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq asm-comment-char ?\#)
|
||||
#+END_SRC
|
||||
|
||||
** C/C++
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: User_Configuration-C-C++-76c3f997
|
||||
:END:
|
||||
As the C/C++ syntax is checked by flycheck, let’s make sure we are using the
|
||||
latest standard available, that is C++17 and C17, from Clang.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-hook 'c-mode-hook
|
||||
(lambda ()
|
||||
(setq flycheck-clang-language-standard "c17")))
|
||||
(add-hook 'c++-mode-hook
|
||||
(lambda ()
|
||||
(setq flycheck-clang-language-standard "c++17")))
|
||||
#+END_SRC
|
||||
|
||||
** Dart configuration
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: User_Configuration-Dart_configuration-ecf24ebf
|
||||
@ -2185,6 +2202,24 @@
|
||||
(setq nov-text-width 80)
|
||||
#+END_SRC
|
||||
|
||||
** Projectile
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: User_Configuration-Projectile-06e580f0
|
||||
:END:
|
||||
Projectile is an awesome utility which helps managing projects within Emacs.
|
||||
It will automatically detect version controlled directories, and will by
|
||||
default assume this is a project I can be working on. However, there are some
|
||||
directories that are version controlled that I do not want to see in my list
|
||||
of projects, namely all the cached AUR packages from my AUR helper, ~yay~.
|
||||
They are all stored in the same parent directory, so let’s ignore that. I
|
||||
will also make Emacs ignore all ~node_modules~ directories it could
|
||||
encounter. And for some reason, =~/.config/emacs= is always in my projects
|
||||
list (I now use XDG-compliant directories), so let’s also ignore that.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(phundrak/add-all-to-list projectile-globally-ignored-directories
|
||||
"~/.cache/yay/*" "node_modules" "~/.config/emacs")
|
||||
#+END_SRC
|
||||
|
||||
** Python
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: User_Configuration-Python-9cdd1b06
|
||||
@ -2562,12 +2597,10 @@
|
||||
Both these classes have to be added to ~org-latex-classes~ like so:
|
||||
#+BEGIN_SRC emacs-lisp :noweb yes
|
||||
(eval-after-load "ox-latex"
|
||||
;; update the list of LaTeX classes and associated header (encoding, etc.)
|
||||
;; and structure
|
||||
'(add-to-list 'org-latex-classes
|
||||
<<org-latex-class-conlang>>
|
||||
<<org-latex-class-beamer>>
|
||||
))
|
||||
'(phundrak/add-all-to-list org-latex-classes
|
||||
<<org-latex-class-conlang>>
|
||||
<<org-latex-class-beamer>>
|
||||
))
|
||||
#+END_SRC
|
||||
|
||||
*** Org agenda
|
||||
@ -2631,35 +2664,35 @@
|
||||
insert entries to their org files, that is a new org node with a headline
|
||||
and some content.
|
||||
#+NAME: org-capture-shortcuts-table
|
||||
| Shortcut | Name | Title | Insertion mode | file | template |
|
||||
|----------+---------------+--------+----------------+-------------------------+--------------------------|
|
||||
| e | Email | | | | |
|
||||
| ew | Write Email | Emails | file+headline | org-default-notes-file | emails.orgcaptmpl |
|
||||
| j | Journal | | file+datetree | org-journal-file | journal.orgcaptmpl |
|
||||
| l | Link | | | | |
|
||||
| ll | General | | file+headline | org-default-notes-file | |
|
||||
| ly | YouTube | | file+headline | org-default-notes-file | youtube.orgcaptmpl |
|
||||
| L | Protocol Link | Link | file+headline | org-default-notes-file | protocol-link.orgcaptmpl |
|
||||
| n | Notes | | | | |
|
||||
| nc | Note | | file+headline | org-conlanging-file | notes.orgcaptmpl |
|
||||
| nn | General | | file+headline | org-default-notes-file | notes.orgcaptmpl |
|
||||
| nN | Note | | file+headline | org-novel-notes-file | notes.orgcaptmpl |
|
||||
| nq | Quote | | file+headline | org-default-notes-file | notes-quote.orgcaptmpl |
|
||||
| nw | Note | | file+headline | org-wordbuilding-file | notes.orgcaptmpl |
|
||||
| N | Novel | | | | |
|
||||
| Ni | Ideas | | file+headline | org-novel-notes-file | notes.orgcaptmpl |
|
||||
| p | Protocol | Link | file+headline | org-default-notes-file | protocol.orgcaptmpl |
|
||||
| r | Resources | | | | |
|
||||
| rc | Resource | | file+headline | org-conlanging-file | resource.orgcaptmpl |
|
||||
| re | Emacs | | file+headline | org-default-notes-file | resource.orgcaptmpl |
|
||||
| ri | Informatique | | file+headline | org-default-notes-file | resource.orgcaptmpl |
|
||||
| rl | Linguistics | | file+headline | org-default-notes-file | resource.orgcaptmpl |
|
||||
| rw | Worldbuilding | | file+headline | org-wordbuilding-file | resource.orgcaptmpl |
|
||||
| t | Tasks | | | | |
|
||||
| tb | Birthday | | file+headline | org-private-agenda-file | birthday.orgcaptmpl |
|
||||
| te | Event | | file+headline | org-private-agenda-file | event.orgcaptmpl |
|
||||
| th | Health | | file+headline | org-private-agenda-file | health.orgcaptmpl |
|
||||
| ti | Informatique | | file+headline | org-private-agenda-file | informatique.orgcaptmpl |
|
||||
| Shortcut | Name | Title | Insertion mode | file | template |
|
||||
|----------+---------------+----------+----------------+-------------------------+--------------------------|
|
||||
| e | Email | | | | |
|
||||
| ew | Write Email | Emails | file+headline | org-default-notes-file | emails.orgcaptmpl |
|
||||
| j | Journal | | file+datetree | org-journal-file | journal.orgcaptmpl |
|
||||
| l | Link | | | | |
|
||||
| ll | General | | file+headline | org-default-notes-file | |
|
||||
| ly | YouTube | | file+headline | org-default-notes-file | youtube.orgcaptmpl |
|
||||
| L | Protocol Link | Link | file+headline | org-default-notes-file | protocol-link.orgcaptmpl |
|
||||
| n | Notes | | | | |
|
||||
| nc | Conlanging | Note | file+headline | org-conlanging-file | notes.orgcaptmpl |
|
||||
| nn | General | | file+headline | org-default-notes-file | notes.orgcaptmpl |
|
||||
| nN | Novel | Note | file+headline | org-novel-notes-file | notes.orgcaptmpl |
|
||||
| nq | Quote | | file+headline | org-default-notes-file | notes-quote.orgcaptmpl |
|
||||
| nw | Worldbuilding | Note | file+headline | org-wordbuilding-file | notes.orgcaptmpl |
|
||||
| N | Novel | | | | |
|
||||
| Ni | Ideas | | file+headline | org-novel-notes-file | notes.orgcaptmpl |
|
||||
| p | Protocol | Link | file+headline | org-default-notes-file | protocol.orgcaptmpl |
|
||||
| r | Resources | | | | |
|
||||
| rc | Conlanging | Resource | file+headline | org-conlanging-file | resource.orgcaptmpl |
|
||||
| re | Emacs | | file+headline | org-default-notes-file | resource.orgcaptmpl |
|
||||
| ri | Informatique | | file+headline | org-default-notes-file | resource.orgcaptmpl |
|
||||
| rl | Linguistics | | file+headline | org-default-notes-file | resource.orgcaptmpl |
|
||||
| rw | Worldbuilding | Resource | file+headline | org-wordbuilding-file | resource.orgcaptmpl |
|
||||
| t | Tasks | | | | |
|
||||
| tb | Birthday | | file+headline | org-private-agenda-file | birthday.orgcaptmpl |
|
||||
| te | Event | | file+headline | org-private-agenda-file | event.orgcaptmpl |
|
||||
| th | Health | | file+headline | org-private-agenda-file | health.orgcaptmpl |
|
||||
| ti | Informatique | | file+headline | org-private-agenda-file | informatique.orgcaptmpl |
|
||||
|
||||
The following code snipped is not tangled into my configuration file, but
|
||||
instead creates the equivalent to the table above into EmacsLisp code found
|
||||
@ -2683,7 +2716,7 @@
|
||||
table "\n")
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS[5ee3da858cb0dc430b6ca3b09d2deea38609aa5f]: org-capture-shortcut-gen
|
||||
#+RESULTS[5826faa0521c58664ddeedcf44b88910dbd344b6]: org-capture-shortcut-gen
|
||||
#+begin_example
|
||||
("e" "Email")
|
||||
("ew" "Write Email" entry
|
||||
@ -2703,19 +2736,19 @@
|
||||
(file+headline org-default-notes-file "Link")
|
||||
(file "~/org/capture/protocol-link.orgcaptmpl"))
|
||||
("n" "Notes")
|
||||
("nc" "Note" entry
|
||||
("nc" "Conlanging" entry
|
||||
(file+headline org-conlanging-file "Note")
|
||||
(file "~/org/capture/notes.orgcaptmpl"))
|
||||
("nn" "General" entry
|
||||
(file+headline org-default-notes-file "General")
|
||||
(file "~/org/capture/notes.orgcaptmpl"))
|
||||
("nN" "Note" entry
|
||||
("nN" "Novel" entry
|
||||
(file+headline org-novel-notes-file "Note")
|
||||
(file "~/org/capture/notes.orgcaptmpl"))
|
||||
("nq" "Quote" entry
|
||||
(file+headline org-default-notes-file "Quote")
|
||||
(file "~/org/capture/notes-quote.orgcaptmpl"))
|
||||
("nw" "Note" entry
|
||||
("nw" "Worldbuilding" entry
|
||||
(file+headline org-wordbuilding-file "Note")
|
||||
(file "~/org/capture/notes.orgcaptmpl"))
|
||||
("N" "Novel")
|
||||
@ -2726,7 +2759,7 @@
|
||||
(file+headline org-default-notes-file "Link")
|
||||
(file "~/org/capture/protocol.orgcaptmpl"))
|
||||
("r" "Resources")
|
||||
("rc" "Resource" entry
|
||||
("rc" "Conlanging" entry
|
||||
(file+headline org-conlanging-file "Resource")
|
||||
(file "~/org/capture/resource.orgcaptmpl"))
|
||||
("re" "Emacs" entry
|
||||
@ -2739,7 +2772,7 @@
|
||||
(file+headline org-default-notes-file "Linguistics")
|
||||
(file "~/org/capture/resource.orgcaptmpl"))
|
||||
("rw" "Worldbuilding" entry
|
||||
(file+headline org-wordbuilding-file "Worldbuilding")
|
||||
(file+headline org-wordbuilding-file "Resource")
|
||||
(file "~/org/capture/resource.orgcaptmpl"))
|
||||
("t" "Tasks")
|
||||
("tb" "Birthday" entry
|
||||
|
Loading…
Reference in New Issue
Block a user