[Emacs] Changing naming convention of custom functions and variables
Forward slashes in my persoranl variables and functions have been replaced by dashes.
This commit is contained in:
		
							parent
							
								
									be07d87e06
								
							
						
					
					
						commit
						3a72387e3e
					
				
							
								
								
									
										34
									
								
								.spacemacs
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								.spacemacs
									
									
									
									
									
								
							@ -1,27 +1,27 @@
 | 
				
			|||||||
;; -*- mode: emacs-lisp; lexical-binding: t -*-
 | 
					;; -*- mode: emacs-lisp; lexical-binding: t -*-
 | 
				
			||||||
(defvar phundrak//dotspacemacs-src-dir "~/.config/emacs/private/"
 | 
					(defvar phundrak--dotspacemacs-src-dir "~/.config/emacs/private/"
 | 
				
			||||||
  "Directory for my exported Elisp configuration files")
 | 
					  "Directory for my exported Elisp configuration files")
 | 
				
			||||||
(defvar phundrak//dotspacemacs-src "~/org/config/emacs.org"
 | 
					(defvar phundrak--dotspacemacs-src "~/org/config/emacs.org"
 | 
				
			||||||
  "My litterate config file for Emacs")
 | 
					  "My litterate config file for Emacs")
 | 
				
			||||||
(defvar phundrak//dotspacemacs-si (concat phundrak//dotspacemacs-src-dir "spacemacs-init"))
 | 
					(defvar phundrak--dotspacemacs-si (concat phundrak--dotspacemacs-src-dir "spacemacs-init"))
 | 
				
			||||||
(defvar phundrak//dotspacemacs-sl (concat phundrak//dotspacemacs-src-dir "spacemacs-layers"))
 | 
					(defvar phundrak--dotspacemacs-sl (concat phundrak--dotspacemacs-src-dir "spacemacs-layers"))
 | 
				
			||||||
(defvar phundrak//dotspacemacs-uc (concat phundrak//dotspacemacs-src-dir "user-config"))
 | 
					(defvar phundrak--dotspacemacs-uc (concat phundrak--dotspacemacs-src-dir "user-config"))
 | 
				
			||||||
(defvar phundrak//dotspacemacs-ui (concat phundrak//dotspacemacs-src-dir "user-init"))
 | 
					(defvar phundrak--dotspacemacs-ui (concat phundrak--dotspacemacs-src-dir "user-init"))
 | 
				
			||||||
(defvar phundrak//dotspacemacs-files (list phundrak//dotspacemacs-si phundrak//dotspacemacs-sl
 | 
					(defvar phundrak--dotspacemacs-files (list phundrak--dotspacemacs-si phundrak--dotspacemacs-sl
 | 
				
			||||||
                                           phundrak//dotspacemacs-uc phundrak//dotspacemacs-ui))
 | 
					                                           phundrak--dotspacemacs-uc phundrak--dotspacemacs-ui))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;; turn off native comp warnings
 | 
					;; turn off native comp warnings
 | 
				
			||||||
(setq comp-async-report-warnings-errors nil)
 | 
					(setq comp-async-report-warnings-errors nil)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(defun phundrak/update-config-files-p (&optional compiled?)
 | 
					(defun phundrak-update-config-files-p (&optional compiled?)
 | 
				
			||||||
  "Verify if any of my exported Elisp configuration files are
 | 
					  "Verify if any of my exported Elisp configuration files are
 | 
				
			||||||
newer than my litterate configuration.
 | 
					newer than my litterate configuration.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If `compiled?' is `t', check the `.elc' files instead of the
 | 
					If `compiled?' is `t', check the `.elc' files instead of the
 | 
				
			||||||
`.el' files."
 | 
					`.el' files."
 | 
				
			||||||
  (catch 'ret
 | 
					  (catch 'ret
 | 
				
			||||||
    (dolist (file phundrak//dotspacemacs-files)
 | 
					    (dolist (file phundrak--dotspacemacs-files)
 | 
				
			||||||
      (when (file-newer-than-file-p phundrak//dotspacemacs-src
 | 
					      (when (file-newer-than-file-p phundrak--dotspacemacs-src
 | 
				
			||||||
                                    (format "%s.%s"
 | 
					                                    (format "%s.%s"
 | 
				
			||||||
                                            file
 | 
					                                            file
 | 
				
			||||||
                                            (if compiled? "elc" "el")))
 | 
					                                            (if compiled? "elc" "el")))
 | 
				
			||||||
@ -33,18 +33,18 @@ This function is called at the very beginning of Spacemacs startup,
 | 
				
			|||||||
before layer configuration.
 | 
					before layer configuration.
 | 
				
			||||||
It should only modify the values of Spacemacs settings."
 | 
					It should only modify the values of Spacemacs settings."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (when (phundrak/update-config-files-p)
 | 
					  (when (phundrak-update-config-files-p)
 | 
				
			||||||
    (message "Exporting new Emacs configuration from spacemacs.org through org-babel...")
 | 
					    (message "Exporting new Emacs configuration from spacemacs.org through org-babel...")
 | 
				
			||||||
    (require 'ob-tangle)
 | 
					    (require 'ob-tangle)
 | 
				
			||||||
    (let ((org-confirm-babel-evaluate nil))
 | 
					    (let ((org-confirm-babel-evaluate nil))
 | 
				
			||||||
      (org-babel-tangle-file phundrak//dotspacemacs-src))
 | 
					      (org-babel-tangle-file phundrak--dotspacemacs-src))
 | 
				
			||||||
    (message "Exporting new Emacs configuration from spacemacs.org through org-babel...done"))
 | 
					    (message "Exporting new Emacs configuration from spacemacs.org through org-babel...done"))
 | 
				
			||||||
  (load phundrak//dotspacemacs-si))
 | 
					  (load phundrak--dotspacemacs-si))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(defun dotspacemacs/layers ()
 | 
					(defun dotspacemacs/layers ()
 | 
				
			||||||
  "Layer configuration:
 | 
					  "Layer configuration:
 | 
				
			||||||
This function should only modify configuration layer settings."
 | 
					This function should only modify configuration layer settings."
 | 
				
			||||||
  (load phundrak//dotspacemacs-sl))
 | 
					  (load phundrak--dotspacemacs-sl))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(defun dotspacemacs/user-env ()
 | 
					(defun dotspacemacs/user-env ()
 | 
				
			||||||
  "Environment variables setup.
 | 
					  "Environment variables setup.
 | 
				
			||||||
@ -60,7 +60,7 @@ This function is called immediately after `dotspacemacs/init', before layer
 | 
				
			|||||||
configuration.
 | 
					configuration.
 | 
				
			||||||
It is mostly for variables that should be set before packages are loaded.
 | 
					It is mostly for variables that should be set before packages are loaded.
 | 
				
			||||||
If you are unsure, try setting them in `dotspacemacs/user-config' first."
 | 
					If you are unsure, try setting them in `dotspacemacs/user-config' first."
 | 
				
			||||||
  (load phundrak//dotspacemacs-ui))
 | 
					  (load phundrak--dotspacemacs-ui))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(defun dotspacemacs/user-load ()
 | 
					(defun dotspacemacs/user-load ()
 | 
				
			||||||
  "Library to load while dumping.
 | 
					  "Library to load while dumping.
 | 
				
			||||||
@ -75,7 +75,7 @@ This function is called at the very end of Spacemacs startup, after layer
 | 
				
			|||||||
configuration.
 | 
					configuration.
 | 
				
			||||||
Put your configuration code here, except for variables that should be set
 | 
					Put your configuration code here, except for variables that should be set
 | 
				
			||||||
before packages are loaded."
 | 
					before packages are loaded."
 | 
				
			||||||
  (load phundrak//dotspacemacs-uc))
 | 
					  (load phundrak--dotspacemacs-uc))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(defun dotspacemacs/emacs-custom-settings ()
 | 
					(defun dotspacemacs/emacs-custom-settings ()
 | 
				
			||||||
  "Emacs custom settings.
 | 
					  "Emacs custom settings.
 | 
				
			||||||
 | 
				
			|||||||
@ -655,30 +655,30 @@ about how I manage writing a litterate config for Spacemacs and ensure Emacs
 | 
				
			|||||||
starts with an up-to-date configuration from said litterate config. For that, I
 | 
					starts with an up-to-date configuration from said litterate config. For that, I
 | 
				
			||||||
actually declared a couple of variables:
 | 
					actually declared a couple of variables:
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defvar phundrak//dotspacemacs-src-dir "~/.config/emacs/private/"
 | 
					  (defvar phundrak--dotspacemacs-src-dir "~/.config/emacs/private/"
 | 
				
			||||||
    "Directory for my exported Elisp configuration files")
 | 
					    "Directory for my exported Elisp configuration files")
 | 
				
			||||||
  (defvar phundrak//dotspacemacs-src "~/org/config/emacs.org"
 | 
					  (defvar phundrak--dotspacemacs-src "~/org/config/emacs.org"
 | 
				
			||||||
    "My litterate config file for Emacs")
 | 
					    "My litterate config file for Emacs")
 | 
				
			||||||
  (defvar phundrak//dotspacemacs-si (concat phundrak//dotspacemacs-src-dir "spacemacs-init"))
 | 
					  (defvar phundrak--dotspacemacs-si (concat phundrak--dotspacemacs-src-dir "spacemacs-init"))
 | 
				
			||||||
  (defvar phundrak//dotspacemacs-sl (concat phundrak//dotspacemacs-src-dir "spacemacs-layers"))
 | 
					  (defvar phundrak--dotspacemacs-sl (concat phundrak--dotspacemacs-src-dir "spacemacs-layers"))
 | 
				
			||||||
  (defvar phundrak//dotspacemacs-uc (concat phundrak//dotspacemacs-src-dir "user-config"))
 | 
					  (defvar phundrak--dotspacemacs-uc (concat phundrak--dotspacemacs-src-dir "user-config"))
 | 
				
			||||||
  (defvar phundrak//dotspacemacs-ui (concat phundrak//dotspacemacs-src-dir "user-init"))
 | 
					  (defvar phundrak--dotspacemacs-ui (concat phundrak--dotspacemacs-src-dir "user-init"))
 | 
				
			||||||
  (defvar phundrak//dotspacemacs-files (list phundrak//dotspacemacs-si phundrak//dotspacemacs-sl
 | 
					  (defvar phundrak--dotspacemacs-files (list phundrak--dotspacemacs-si phundrak--dotspacemacs-sl
 | 
				
			||||||
                                             phundrak//dotspacemacs-uc phundrak//dotspacemacs-ui))
 | 
					                                             phundrak--dotspacemacs-uc phundrak--dotspacemacs-ui))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
I also declared the following function that tells me if my Elisp files are more
 | 
					I also declared the following function that tells me if my Elisp files are more
 | 
				
			||||||
recent than my ~emacs.org~ file. The ~compiled?~ argument lets me compare either
 | 
					recent than my ~emacs.org~ file. The ~compiled?~ argument lets me compare either
 | 
				
			||||||
the ~.el~ files if it is ~nil~, or the ~.elc~ files if it is ~t~.
 | 
					the ~.el~ files if it is ~nil~, or the ~.elc~ files if it is ~t~.
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defun phundrak/update-config-files-p (&optional compiled?)
 | 
					  (defun phundrak-update-config-files-p (&optional compiled?)
 | 
				
			||||||
    "Verify if any of my exported Elisp configuration files are
 | 
					    "Verify if any of my exported Elisp configuration files are
 | 
				
			||||||
  newer than my litterate configuration.
 | 
					  newer than my litterate configuration.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  If `compiled?' is `t', check the `.elc' files instead of the
 | 
					  If `COMPILED?' is `t', check the `.elc' files instead of the
 | 
				
			||||||
  `.el' files."
 | 
					  `.el' files."
 | 
				
			||||||
    (catch 'ret
 | 
					    (catch 'ret
 | 
				
			||||||
      (dolist (file phundrak//dotspacemacs-files)
 | 
					      (dolist (file phundrak--dotspacemacs-files)
 | 
				
			||||||
        (when (file-newer-than-file-p phundrak//dotspacemacs-src
 | 
					        (when (file-newer-than-file-p phundrak--dotspacemacs-src
 | 
				
			||||||
                                      (format "%s.%s"
 | 
					                                      (format "%s.%s"
 | 
				
			||||||
                                              file
 | 
					                                              file
 | 
				
			||||||
                                              (if compiled? "elc" "el")))
 | 
					                                              (if compiled? "elc" "el")))
 | 
				
			||||||
@ -692,21 +692,21 @@ missed tangling its configuration before launching, so if any of my ~si~, ~sl~,
 | 
				
			|||||||
and since my user config is growing longer and longer, I want Emacs to be able
 | 
					and since my user config is growing longer and longer, I want Emacs to be able
 | 
				
			||||||
to parse it fast next time it boots, so let’s compile my exported ~.el~ files!
 | 
					to parse it fast next time it boots, so let’s compile my exported ~.el~ files!
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (when (or (file-newer-than-file-p phundrak//dotspacemacs-src (concat phundrak//dotspacemacs-si ".el"))
 | 
					  (when (or (file-newer-than-file-p phundrak--dotspacemacs-src (concat phundrak--dotspacemacs-si ".el"))
 | 
				
			||||||
              (file-newer-than-file-p phundrak//dotspacemacs-src (concat phundrak//dotspacemacs-sl ".el"))
 | 
					              (file-newer-than-file-p phundrak--dotspacemacs-src (concat phundrak--dotspacemacs-sl ".el"))
 | 
				
			||||||
              (file-newer-than-file-p phundrak//dotspacemacs-src (concat phundrak//dotspacemacs-ui ".el"))
 | 
					              (file-newer-than-file-p phundrak--dotspacemacs-src (concat phundrak--dotspacemacs-ui ".el"))
 | 
				
			||||||
              (file-newer-than-file-p phundrak//dotspacemacs-src (concat phundrak//dotspacemacs-uc ".el")))
 | 
					              (file-newer-than-file-p phundrak--dotspacemacs-src (concat phundrak--dotspacemacs-uc ".el")))
 | 
				
			||||||
      (message "Exporting new Emacs configuration from spacemacs.org through org-babel...")
 | 
					      (message "Exporting new Emacs configuration from spacemacs.org through org-babel...")
 | 
				
			||||||
      (with-temp-buffer
 | 
					      (with-temp-buffer
 | 
				
			||||||
        (shell-command (format "emacs -Q --batch %s %s %s"
 | 
					        (shell-command (format "emacs -Q --batch %s %s %s"
 | 
				
			||||||
                               "--eval \"(require 'ob-tangle)\""
 | 
					                               "--eval \"(require 'ob-tangle)\""
 | 
				
			||||||
                               "--eval \"(setq org-confirm-babel-evaluate nil)\""
 | 
					                               "--eval \"(setq org-confirm-babel-evaluate nil)\""
 | 
				
			||||||
                               (format "--eval '(org-babel-tangle-file \"%s\")'"
 | 
					                               (format "--eval '(org-babel-tangle-file \"%s\")'"
 | 
				
			||||||
                                       phundrak//dotspacemacs-src))
 | 
					                                       phundrak--dotspacemacs-src))
 | 
				
			||||||
                       (current-buffer)))
 | 
					                       (current-buffer)))
 | 
				
			||||||
      (message "Exporting new Emacs configuration from spacemacs.org through org-babel...done")
 | 
					      (message "Exporting new Emacs configuration from spacemacs.org through org-babel...done")
 | 
				
			||||||
      (with-temp-buffer
 | 
					      (with-temp-buffer
 | 
				
			||||||
        (byte-recompile-directory phundrak//dotspacemacs-src-dir
 | 
					        (byte-recompile-directory phundrak--dotspacemacs-src-dir
 | 
				
			||||||
                                  0 t)))
 | 
					                                  0 t)))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
All that’s left to do in the Spacemacs functions is to call ~load~ on ~si~,
 | 
					All that’s left to do in the Spacemacs functions is to call ~load~ on ~si~,
 | 
				
			||||||
@ -1436,7 +1436,7 @@ a function that already exists.
 | 
				
			|||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-Eshell-prompt-related-functions-79d07f21
 | 
					:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-Eshell-prompt-related-functions-79d07f21
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
**** ~phundrak/eshell-git-status~
 | 
					**** ~phundrak-eshell-git-status~
 | 
				
			||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-eshell-git-status-28f16e94
 | 
					:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-eshell-git-status-28f16e94
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
@ -1447,7 +1447,7 @@ calls, the function will know what it needs to know about the repo to build a
 | 
				
			|||||||
git prompt that will be inserted in my Eshell prompt. And just for shit and
 | 
					git prompt that will be inserted in my Eshell prompt. And just for shit and
 | 
				
			||||||
giggles, I’ve made it so it is a powerline prompt.
 | 
					giggles, I’ve made it so it is a powerline prompt.
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defun phundrak/eshell-git-status ($path &optional $background-color)
 | 
					  (defun phundrak-eshell-git-status ($path &optional $background-color)
 | 
				
			||||||
    "Returns a string indicating the status of the repository located
 | 
					    "Returns a string indicating the status of the repository located
 | 
				
			||||||
  in `$PATH' if it exists. It should also append the name of the
 | 
					  in `$PATH' if it exists. It should also append the name of the
 | 
				
			||||||
  current branch if it is not `master' or `main'.
 | 
					  current branch if it is not `master' or `main'.
 | 
				
			||||||
@ -1496,23 +1496,23 @@ giggles, I’ve made it so it is a powerline prompt.
 | 
				
			|||||||
                            (when stashstat "$")
 | 
					                            (when stashstat "$")
 | 
				
			||||||
                            " "))
 | 
					                            " "))
 | 
				
			||||||
            (accent (cond
 | 
					            (accent (cond
 | 
				
			||||||
                     (dirty phundrak/nord11)
 | 
					                     (dirty phundrak-nord11)
 | 
				
			||||||
                     (staged phundrak/nord13)
 | 
					                     (staged phundrak-nord13)
 | 
				
			||||||
                     (t phundrak/nord14)))
 | 
					                     (t phundrak-nord14)))
 | 
				
			||||||
            (background (phundrak/var-or-if-nil $background-color
 | 
					            (background (phundrak-var-or-if-nil $background-color
 | 
				
			||||||
                                                phundrak/nord0)))
 | 
					                                                phundrak-nord0)))
 | 
				
			||||||
        (concat (with-face ""
 | 
					        (concat (with-face ""
 | 
				
			||||||
                           :background accent
 | 
					                           :background accent
 | 
				
			||||||
                           :foreground background)
 | 
					                           :foreground background)
 | 
				
			||||||
                (with-face prompt
 | 
					                (with-face prompt
 | 
				
			||||||
                           :background accent
 | 
					                           :background accent
 | 
				
			||||||
                           :foreground (if dirty phundrak/nord6 background))
 | 
					                           :foreground (if dirty phundrak-nord6 background))
 | 
				
			||||||
                (with-face ""
 | 
					                (with-face ""
 | 
				
			||||||
                           :background background
 | 
					                           :background background
 | 
				
			||||||
                           :foreground accent)))))
 | 
					                           :foreground accent)))))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**** ~phundrak/git-repo-root~
 | 
					**** ~phundrak-git-repo-root~
 | 
				
			||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-git-repo-root-f7cf3bb9
 | 
					:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-git-repo-root-f7cf3bb9
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
@ -1520,32 +1520,32 @@ This function detects if the path passed as an argument points to a git
 | 
				
			|||||||
directory or to one of its subdirectories. If it is, it will return the path to
 | 
					directory or to one of its subdirectories. If it is, it will return the path to
 | 
				
			||||||
the root of the git repository, else it will return ~nil~.
 | 
					the root of the git repository, else it will return ~nil~.
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defun phundrak/git-repo-root ($path)
 | 
					  (defun phundrak-git-repo-root ($path)
 | 
				
			||||||
    "Return `$PATH' if it points to a git repository or one of its
 | 
					    "Return `$PATH' if it points to a git repository or one of its
 | 
				
			||||||
  subdirectories."
 | 
					  subdirectories."
 | 
				
			||||||
    (when $path
 | 
					    (when $path
 | 
				
			||||||
      (if (f-dir? (concat $path "/.git"))
 | 
					      (if (f-dir? (concat $path "/.git"))
 | 
				
			||||||
          $path
 | 
					          $path
 | 
				
			||||||
        (phundrak/git-repo-root (f-parent $path)))))
 | 
					        (phundrak-git-repo-root (f-parent $path)))))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**** ~phundrak/prompt-toggle-abbreviation~
 | 
					**** ~phundrak-prompt-toggle-abbreviation~
 | 
				
			||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-prompt-toggle-abbreviation-753ca549
 | 
					:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-prompt-toggle-abbreviation-753ca549
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defvar phundrak/prompt--abbreviate t
 | 
					  (defvar phundrak-prompt--abbreviate t
 | 
				
			||||||
    "Whether or not to abbreviate the displayed path in the Eshell
 | 
					    "Whether or not to abbreviate the displayed path in the Eshell
 | 
				
			||||||
  prompt.")
 | 
					  prompt.")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (defun phundrak/prompt-toggle-abbreviation ()
 | 
					  (defun phundrak-prompt-toggle-abbreviation ()
 | 
				
			||||||
    "Toggles whether the Eshell prompt should shorten the name of
 | 
					    "Toggles whether the Eshell prompt should shorten the name of
 | 
				
			||||||
  the parent directories or not. See `phundrak/eshell-prompt'."
 | 
					  the parent directories or not. See `phundrak-eshell-prompt'."
 | 
				
			||||||
    (interactive)
 | 
					    (interactive)
 | 
				
			||||||
    (setq phundrak/prompt--abbreviate (not phundrak/prompt--abbreviate)))
 | 
					    (setq phundrak-prompt--abbreviate (not phundrak-prompt--abbreviate)))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**** ~phundrak/abbr-path~
 | 
					**** ~phundrak-abbr-path~
 | 
				
			||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-abbr-path-559b46e3
 | 
					:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-abbr-path-559b46e3
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
@ -1554,7 +1554,7 @@ the name of all the parent directories of the current one in its path, but
 | 
				
			|||||||
leaves the current one written in full. It also abbreviates the equivalent of
 | 
					leaves the current one written in full. It also abbreviates the equivalent of
 | 
				
			||||||
the ~$HOME~ (~/home/<username>/~) directory to a simple =~=.
 | 
					the ~$HOME~ (~/home/<username>/~) directory to a simple =~=.
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defun phundrak/abbr-path ($path &optional $abbreviate)
 | 
					  (defun phundrak-abbr-path ($path &optional $abbreviate)
 | 
				
			||||||
    "Abbreviate `$PATH'. If `$ABBREVIATE' is t, then all parent
 | 
					    "Abbreviate `$PATH'. If `$ABBREVIATE' is t, then all parent
 | 
				
			||||||
  directories of the current directory will be abbreviated to one
 | 
					  directories of the current directory will be abbreviated to one
 | 
				
			||||||
  letter only. If a parent directory is a hidden directory (i.e.
 | 
					  letter only. If a parent directory is a hidden directory (i.e.
 | 
				
			||||||
@ -1569,7 +1569,7 @@ the ~$HOME~ (~/home/<username>/~) directory to a simple =~=.
 | 
				
			|||||||
    (cond
 | 
					    (cond
 | 
				
			||||||
     ((stringp $path) (f-short
 | 
					     ((stringp $path) (f-short
 | 
				
			||||||
                       (if $abbreviate
 | 
					                       (if $abbreviate
 | 
				
			||||||
                           (phundrak/abbr-path (f-split (phundrak/abbr-path $path)))
 | 
					                           (phundrak-abbr-path (f-split (phundrak-abbr-path $path)))
 | 
				
			||||||
                         $path)))
 | 
					                         $path)))
 | 
				
			||||||
     ((null $path) "")
 | 
					     ((null $path) "")
 | 
				
			||||||
     ((listp $path)
 | 
					     ((listp $path)
 | 
				
			||||||
@ -1579,7 +1579,7 @@ the ~$HOME~ (~/home/<username>/~) directory to a simple =~=.
 | 
				
			|||||||
                         (if (string= "." first-char)
 | 
					                         (if (string= "." first-char)
 | 
				
			||||||
                             (s-left 2 dir)
 | 
					                             (s-left 2 dir)
 | 
				
			||||||
                           first-char))))
 | 
					                           first-char))))
 | 
				
			||||||
              (phundrak/abbr-path (cdr $path))))
 | 
					              (phundrak-abbr-path (cdr $path))))
 | 
				
			||||||
     (t (error "Invalid argument %s, neither stringp nor listp" $path))))
 | 
					     (t (error "Invalid argument %s, neither stringp nor listp" $path))))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1587,19 +1587,19 @@ the ~$HOME~ (~/home/<username>/~) directory to a simple =~=.
 | 
				
			|||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-Files-related-functions-0b66f353
 | 
					:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-Files-related-functions-0b66f353
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
**** ~phundrak/file-to-string~
 | 
					**** ~phundrak-file-to-string~
 | 
				
			||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-file-to-string-efab0fba
 | 
					:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-file-to-string-efab0fba
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defun phundrak/file-to-string (FILE)
 | 
					  (defun phundrak-file-to-string (FILE)
 | 
				
			||||||
    "Returns the content of `FILE' as a string."
 | 
					    "Returns the content of `FILE' as a string."
 | 
				
			||||||
    (with-temp-buffer
 | 
					    (with-temp-buffer
 | 
				
			||||||
      (insert-file-contents FILE)
 | 
					      (insert-file-contents FILE)
 | 
				
			||||||
      (buffer-string)))
 | 
					      (buffer-string)))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**** ~phundrak/find-org-files~
 | 
					**** ~phundrak-find-org-files~
 | 
				
			||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
:CUSTOM_ID: Custom-functions-phundrak-find-org-files-a8fd200f
 | 
					:CUSTOM_ID: Custom-functions-phundrak-find-org-files-a8fd200f
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
@ -1611,11 +1611,11 @@ conlanging files which are located in =~/Documents/conlanging=, and all my
 | 
				
			|||||||
university notes are in =~/Documents/university=. Let’s declare these
 | 
					university notes are in =~/Documents/university=. Let’s declare these
 | 
				
			||||||
directories in a variable:
 | 
					directories in a variable:
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defvar phundrak/org-directories '("~/org"
 | 
					  (defvar phundrak-org-directories '("~/org"
 | 
				
			||||||
                                     "~/Documents/university/S8"
 | 
					                                     "~/Documents/university/S8"
 | 
				
			||||||
                                     "~/Documents/conlanging")
 | 
					                                     "~/Documents/conlanging")
 | 
				
			||||||
    "Directories in which to look for org files with the function
 | 
					    "Directories in which to look for org files with the function
 | 
				
			||||||
  `phundrak/find-org-files'.")
 | 
					  `phundrak-find-org-files'.")
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
With this established, let’s write some emacs-lisp that will allow me to get a
 | 
					With this established, let’s write some emacs-lisp that will allow me to get a
 | 
				
			||||||
@ -1623,9 +1623,9 @@ list of all these files and select them through helm. Be aware that I will be
 | 
				
			|||||||
using some functions from third party packages, such as [[https://github.com/magnars/s.el][s.el]] and [[https://github.com/magnars/dash.el][dash]], as well
 | 
					using some functions from third party packages, such as [[https://github.com/magnars/s.el][s.el]] and [[https://github.com/magnars/dash.el][dash]], as well
 | 
				
			||||||
as [[https://github.com/sharkdp/fd][fd]].
 | 
					as [[https://github.com/sharkdp/fd][fd]].
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defun phundrak/find-org-files ()
 | 
					  (defun phundrak-find-org-files ()
 | 
				
			||||||
    "Find all org files in the directories listed in
 | 
					    "Find all org files in the directories listed in
 | 
				
			||||||
  `phundrak/org-directories', then list them in an ido buffer where
 | 
					  `phundrak-org-directories', then list them in an ido buffer where
 | 
				
			||||||
  the user can match one and open it."
 | 
					  the user can match one and open it."
 | 
				
			||||||
    (interactive)
 | 
					    (interactive)
 | 
				
			||||||
    (find-file
 | 
					    (find-file
 | 
				
			||||||
@ -1635,11 +1635,11 @@ as [[https://github.com/sharkdp/fd][fd]].
 | 
				
			|||||||
               (mapconcat (lambda (path)
 | 
					               (mapconcat (lambda (path)
 | 
				
			||||||
                            (shell-command-to-string
 | 
					                            (shell-command-to-string
 | 
				
			||||||
                             (format "fd . %s -e org -c never" path)))
 | 
					                             (format "fd . %s -e org -c never" path)))
 | 
				
			||||||
                          phundrak/org-directories
 | 
					                          phundrak-org-directories
 | 
				
			||||||
                          "\n")))))
 | 
					                          "\n")))))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**** ~phundrak/open-marked-files~
 | 
					**** ~phundrak-open-marked-files~
 | 
				
			||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-open-marked-files-b87d37f7
 | 
					:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-open-marked-files-b87d37f7
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
@ -1647,7 +1647,7 @@ This function is particularly useful in Dired buffers when someone wants to open
 | 
				
			|||||||
multiple files. This function will basically look for all marked files in the
 | 
					multiple files. This function will basically look for all marked files in the
 | 
				
			||||||
current dired buffer and open each one of them in their individual buffer.
 | 
					current dired buffer and open each one of them in their individual buffer.
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defun phundrak/open-marked-files ()
 | 
					  (defun phundrak-open-marked-files ()
 | 
				
			||||||
    "This function allows the user to open all marked files in a
 | 
					    "This function allows the user to open all marked files in a
 | 
				
			||||||
  Dired buffer at once."
 | 
					  Dired buffer at once."
 | 
				
			||||||
    (interactive)
 | 
					    (interactive)
 | 
				
			||||||
@ -1702,22 +1702,22 @@ Emacs, or an HTML file in Firefox. With this function, it is now possible!
 | 
				
			|||||||
Yes, I do use a preconfigured theme, as mentioned above, but for some elements
 | 
					Yes, I do use a preconfigured theme, as mentioned above, but for some elements
 | 
				
			||||||
such as Eshell, I need to define some variables for color, and I’ll do it here.
 | 
					such as Eshell, I need to define some variables for color, and I’ll do it here.
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defvar phundrak/nord0  "#2e3440")
 | 
					  (defvar phundrak-nord0  "#2e3440")
 | 
				
			||||||
  (defvar phundrak/nord1  "#3b4252")
 | 
					  (defvar phundrak-nord1  "#3b4252")
 | 
				
			||||||
  (defvar phundrak/nord2  "#434c5e")
 | 
					  (defvar phundrak-nord2  "#434c5e")
 | 
				
			||||||
  (defvar phundrak/nord3  "#4c566a")
 | 
					  (defvar phundrak-nord3  "#4c566a")
 | 
				
			||||||
  (defvar phundrak/nord4  "#d8dee9")
 | 
					  (defvar phundrak-nord4  "#d8dee9")
 | 
				
			||||||
  (defvar phundrak/nord5  "#e5e9f0")
 | 
					  (defvar phundrak-nord5  "#e5e9f0")
 | 
				
			||||||
  (defvar phundrak/nord6  "#eceff4")
 | 
					  (defvar phundrak-nord6  "#eceff4")
 | 
				
			||||||
  (defvar phundrak/nord7  "#8fbcbb")
 | 
					  (defvar phundrak-nord7  "#8fbcbb")
 | 
				
			||||||
  (defvar phundrak/nord8  "#88c0d0")
 | 
					  (defvar phundrak-nord8  "#88c0d0")
 | 
				
			||||||
  (defvar phundrak/nord9  "#81a1c1")
 | 
					  (defvar phundrak-nord9  "#81a1c1")
 | 
				
			||||||
  (defvar phundrak/nord10 "#5e81ac")
 | 
					  (defvar phundrak-nord10 "#5e81ac")
 | 
				
			||||||
  (defvar phundrak/nord11 "#bf616a")
 | 
					  (defvar phundrak-nord11 "#bf616a")
 | 
				
			||||||
  (defvar phundrak/nord12 "#d08770")
 | 
					  (defvar phundrak-nord12 "#d08770")
 | 
				
			||||||
  (defvar phundrak/nord13 "#ebcb8b")
 | 
					  (defvar phundrak-nord13 "#ebcb8b")
 | 
				
			||||||
  (defvar phundrak/nord14 "#a3be8c")
 | 
					  (defvar phundrak-nord14 "#a3be8c")
 | 
				
			||||||
  (defvar phundrak/nord15 "#b48ead")
 | 
					  (defvar phundrak-nord15 "#b48ead")
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**** ~with-face~
 | 
					**** ~with-face~
 | 
				
			||||||
@ -1737,7 +1737,30 @@ argument. Here is how it is implemented:
 | 
				
			|||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-Predicates-5598df46
 | 
					:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-Predicates-5598df46
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
**** ~phundrak/all?~
 | 
					**** ~phundrak-filter~
 | 
				
			||||||
 | 
					:PROPERTIES:
 | 
				
			||||||
 | 
					:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-Elisp-Utilities-and-Predicates-phundrak-filter-2d3c5a5b
 | 
				
			||||||
 | 
					:END:
 | 
				
			||||||
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
 | 
					(defun phundrak-filter (fn list)
 | 
				
			||||||
 | 
					  "Filter `LIST' according to the predicate `FN'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					All elements from `LIST' that do not satisfy the predicate `FN'
 | 
				
			||||||
 | 
					will be left out of the result, while all elements that do
 | 
				
			||||||
 | 
					satisfy it will be included in the resulting list. This function
 | 
				
			||||||
 | 
					also preserves the relative position between elements that
 | 
				
			||||||
 | 
					satisfy the predicate."
 | 
				
			||||||
 | 
					  (declare (pure t) (side-effect-free t))
 | 
				
			||||||
 | 
					  (when list
 | 
				
			||||||
 | 
					    (let ((rest (phundrak-filter fn
 | 
				
			||||||
 | 
					                                 (cdr list))))
 | 
				
			||||||
 | 
					      (if (funcall fn
 | 
				
			||||||
 | 
					                   (car list))
 | 
				
			||||||
 | 
					          (cons (car list) rest)
 | 
				
			||||||
 | 
					        rest))))
 | 
				
			||||||
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**** ~phundrak-all?~
 | 
				
			||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-all-0655600c
 | 
					:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-all-0655600c
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
@ -1747,17 +1770,17 @@ elements of the list ~seq~ against the predicate ~fn~ which should return either
 | 
				
			|||||||
success, otherwise it is a failure. Note that empty lists will always return
 | 
					success, otherwise it is a failure. Note that empty lists will always return
 | 
				
			||||||
~t~.
 | 
					~t~.
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defun phundrak/all? (fn seq)
 | 
					  (defun phundrak-all? (fn seq)
 | 
				
			||||||
    "Check if all members of `SEQ' satisfy predicate `FN'. Note that
 | 
					    "Check if all members of `SEQ' satisfy predicate `FN'. Note that
 | 
				
			||||||
  it will return t if `SEQ' is nil."
 | 
					  it will return t if `SEQ' is nil."
 | 
				
			||||||
    (declare (pure t) (side-effect-free t))
 | 
					    (declare (pure t) (side-effect-free t))
 | 
				
			||||||
    (if seq
 | 
					    (if seq
 | 
				
			||||||
        (and (funcall fn (car seq))
 | 
					        (and (funcall fn (car seq))
 | 
				
			||||||
             (phundrak/all? fn (cdr seq)))
 | 
					             (phundrak-all? fn (cdr seq)))
 | 
				
			||||||
      t))
 | 
					      t))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**** ~phundrak/none?~
 | 
					**** ~phundrak-none?~
 | 
				
			||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-none-463dee26
 | 
					:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-none-463dee26
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
@ -1765,36 +1788,36 @@ In the same vein as ~phundrak-all?~, ~phundrak-none?~ checks if all elements of
 | 
				
			|||||||
~seq~ do not satify the predicate ~fn~. Again, if the list is empty, it will
 | 
					~seq~ do not satify the predicate ~fn~. Again, if the list is empty, it will
 | 
				
			||||||
return ~t~.
 | 
					return ~t~.
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defun phundrak/none? (fn seq)
 | 
					  (defun phundrak-none? (fn seq)
 | 
				
			||||||
    "Check if all members of `SEQ' do not satisfy predicate `FN'.
 | 
					    "Check if all members of `SEQ' do not satisfy predicate `FN'.
 | 
				
			||||||
  Note that it will return t if `SEQ' is nil."
 | 
					  Note that it will return t if `SEQ' is nil."
 | 
				
			||||||
    (declare (pure t) (side-effect-free t))
 | 
					    (declare (pure t) (side-effect-free t))
 | 
				
			||||||
    (if seq
 | 
					    (if seq
 | 
				
			||||||
        (and (not (funcall fn (car seq)))
 | 
					        (and (not (funcall fn (car seq)))
 | 
				
			||||||
             (phundrak/none? fn (cdr seq)))
 | 
					             (phundrak-none? fn (cdr seq)))
 | 
				
			||||||
      t))
 | 
					      t))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**** ~phundrak/var-or-if-nil~
 | 
					**** ~phundrak-var-or-if-nil~
 | 
				
			||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-var-or-if-nil-40e2e54a
 | 
					:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-var-or-if-nil-40e2e54a
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
This simple function helps me return either the value ~var~ holds, or if it is
 | 
					This simple function helps me return either the value ~var~ holds, or if it is
 | 
				
			||||||
~nil~ it will return the value ~value~ holds (or will return).
 | 
					~nil~ it will return the value ~value~ holds (or will return).
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defmacro phundrak/var-or-if-nil (var value)
 | 
					  (defmacro phundrak-var-or-if-nil (var value)
 | 
				
			||||||
    "Return the result yield by `VALUE' if `VAR' is nil, return `VAR' otherwise."
 | 
					    "Return the result yield by `VALUE' if `VAR' is nil, return `VAR' otherwise."
 | 
				
			||||||
    (if (null var)
 | 
					    (if (null var)
 | 
				
			||||||
        value
 | 
					        value
 | 
				
			||||||
      var))
 | 
					      var))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**** ~phundrak/zip~
 | 
					**** ~phundrak-zip~
 | 
				
			||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-Elisp-Utilities-and-Predicates-phundrak-zip-8a49b20f
 | 
					:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-Elisp-Utilities-and-Predicates-phundrak-zip-8a49b20f
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defun phundrak/zip (&rest lists)
 | 
					  (defun phundrak-zip (&rest lists)
 | 
				
			||||||
    "Zip `LISTS' together.
 | 
					    "Zip `LISTS' together.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Be aware only the amount of elements of the smallest list will be zipped."
 | 
					  Be aware only the amount of elements of the smallest list will be zipped."
 | 
				
			||||||
@ -1805,10 +1828,10 @@ This simple function helps me return either the value ~var~ holds, or if it is
 | 
				
			|||||||
                     lists)))
 | 
					                     lists)))
 | 
				
			||||||
        (when (phundrak-none? 'null lists)
 | 
					        (when (phundrak-none? 'null lists)
 | 
				
			||||||
          (cons (mapcar 'car lists)
 | 
					          (cons (mapcar 'car lists)
 | 
				
			||||||
                (phundrak/zip (mapcar 'cdr lists)))))))
 | 
					                (phundrak-zip (mapcar 'cdr lists)))))))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*** ~phundrak/blog-publish~
 | 
					*** ~phundrak-blog-publish~
 | 
				
			||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-blog-publish-99c96b2d
 | 
					:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-blog-publish-99c96b2d
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
@ -1817,7 +1840,7 @@ based on Hugo. After exporting my blog using ~ox-hugo~, I simply have to call
 | 
				
			|||||||
this function which will look for all files located in =~/org/blog/public= and
 | 
					this function which will look for all files located in =~/org/blog/public= and
 | 
				
			||||||
copy them to my remote server once ~hugo~ has been executed in =~/org/blog=.
 | 
					copy them to my remote server once ~hugo~ has been executed in =~/org/blog=.
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defun phundrak/blog-publish ()
 | 
					  (defun phundrak-blog-publish ()
 | 
				
			||||||
    "Publish my blog through Hugo and rsync to my remote server."
 | 
					    "Publish my blog through Hugo and rsync to my remote server."
 | 
				
			||||||
    (interactive)
 | 
					    (interactive)
 | 
				
			||||||
    (let* ((blog-path "~/org/blog")
 | 
					    (let* ((blog-path "~/org/blog")
 | 
				
			||||||
@ -1833,7 +1856,7 @@ copy them to my remote server once ~hugo~ has been executed in =~/org/blog=.
 | 
				
			|||||||
                     t nil t)))))
 | 
					                     t nil t)))))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*** ~phundrak/yas-rust-new-assignments~
 | 
					*** ~phundrak-yas-rust-new-assignments~
 | 
				
			||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
:CUSTOM_ID: Custom-functions-yas-rust-new-assignments-4ad16bde
 | 
					:CUSTOM_ID: Custom-functions-yas-rust-new-assignments-4ad16bde
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
@ -1843,14 +1866,14 @@ function, it will automatically write assignments to my new struct as I write
 | 
				
			|||||||
new parameters in the ~new~ function. It also comes with a helper function that
 | 
					new parameters in the ~new~ function. It also comes with a helper function that
 | 
				
			||||||
parses the arguments given to the ~new~ function.
 | 
					parses the arguments given to the ~new~ function.
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defun phundrak//yas-snippet-split-rust-args ($arg-string)
 | 
					  (defun phundrak--yas-snippet-split-rust-args ($arg-string)
 | 
				
			||||||
    "Split a Rust argument string `$ARG-STRING' into ((name,
 | 
					    "Split a Rust argument string `$ARG-STRING' into ((name,
 | 
				
			||||||
  default)...) tuples"
 | 
					  default)...) tuples"
 | 
				
			||||||
    (mapcar (lambda ($elem)
 | 
					    (mapcar (lambda ($elem)
 | 
				
			||||||
              (split-string $elem "[[:blank:]]*:[[:blank:]]*" t))
 | 
					              (split-string $elem "[[:blank:]]*:[[:blank:]]*" t))
 | 
				
			||||||
            (split-string $arg-string "[[:blank:]]*,[[:blank:]]*" t)))
 | 
					            (split-string $arg-string "[[:blank:]]*,[[:blank:]]*" t)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (defun phundrak/yas-rust-new-assignments ($arg-string)
 | 
					  (defun phundrak-yas-rust-new-assignments ($arg-string)
 | 
				
			||||||
    "Return a typical new assignment for arguments.
 | 
					    "Return a typical new assignment for arguments.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Inspired from elpy’s functions https://github.com/jorgenschaefer/elpy"
 | 
					  Inspired from elpy’s functions https://github.com/jorgenschaefer/elpy"
 | 
				
			||||||
@ -1862,7 +1885,7 @@ parses the arguments given to the ~new~ function.
 | 
				
			|||||||
                   (if (string-match "^\\*" (car $elem))
 | 
					                   (if (string-match "^\\*" (car $elem))
 | 
				
			||||||
                       ""
 | 
					                       ""
 | 
				
			||||||
                     (format "%s,\n%s" (car $elem) indentation)))
 | 
					                     (format "%s,\n%s" (car $elem) indentation)))
 | 
				
			||||||
                 (phundrak//yas-snippet-split-rust-args $arg-string)
 | 
					                 (phundrak--yas-snippet-split-rust-args $arg-string)
 | 
				
			||||||
                 "")))
 | 
					                 "")))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -2133,7 +2156,7 @@ Now, we can get our partitions. For this, we’ll make a call to the shell comma
 | 
				
			|||||||
~/dev~, for instance on ~/dev/sda~. And as mentioned above, if the mount path of
 | 
					~/dev~, for instance on ~/dev/sda~. And as mentioned above, if the mount path of
 | 
				
			||||||
the partition exceeds the length specified by
 | 
					the partition exceeds the length specified by
 | 
				
			||||||
~phundrak//eshell-banner--max-length-part~, it will get abbreviated by
 | 
					~phundrak//eshell-banner--max-length-part~, it will get abbreviated by
 | 
				
			||||||
[[#User-Configuration-Custom-functions-macros-and-variables-phundrak-abbr-path-559b46e3][~phundrak/abbr-path~]].
 | 
					[[#User-Configuration-Custom-functions-macros-and-variables-phundrak-abbr-path-559b46e3][~phundrak-abbr-path~]].
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defun phundrak/get-mounted-partitions ()
 | 
					  (defun phundrak/get-mounted-partitions ()
 | 
				
			||||||
    (let ((partitions (s-split "\n"
 | 
					    (let ((partitions (s-split "\n"
 | 
				
			||||||
@ -2150,7 +2173,7 @@ the partition exceeds the length specified by
 | 
				
			|||||||
                   (make-phundrak/mounted-partitions
 | 
					                   (make-phundrak/mounted-partitions
 | 
				
			||||||
                    :path (if (> phundrak//eshell-banner--max-length-part (length mount))
 | 
					                    :path (if (> phundrak//eshell-banner--max-length-part (length mount))
 | 
				
			||||||
                              mount
 | 
					                              mount
 | 
				
			||||||
                            (phundrak/abbr-path mount t))
 | 
					                            (phundrak-abbr-path mount t))
 | 
				
			||||||
                    :size size
 | 
					                    :size size
 | 
				
			||||||
                    :used used
 | 
					                    :used used
 | 
				
			||||||
                    :percent (string-to-number (s-chop-suffix "%" percent))))))
 | 
					                    :percent (string-to-number (s-chop-suffix "%" percent))))))
 | 
				
			||||||
@ -2188,13 +2211,13 @@ consider this a warning, and the percentage will be displayed in orange. Above
 | 
				
			|||||||
  (defun phundrak//eshell-banner--color-percentage (percentage)
 | 
					  (defun phundrak//eshell-banner--color-percentage (percentage)
 | 
				
			||||||
    (cond
 | 
					    (cond
 | 
				
			||||||
     ((> percentage phundrak//eshell-banner--critical-percentage)
 | 
					     ((> percentage phundrak//eshell-banner--critical-percentage)
 | 
				
			||||||
      (with-face (format "%2d" percentage) :foreground phundrak/nord11))
 | 
					      (with-face (format "%2d" percentage) :foreground phundrak-nord11))
 | 
				
			||||||
     ((> percentage phundrak//eshell-banner--warning-percentage)
 | 
					     ((> percentage phundrak//eshell-banner--warning-percentage)
 | 
				
			||||||
      (with-face (format "%2d" percentage) :foreground phundrak/nord12))
 | 
					      (with-face (format "%2d" percentage) :foreground phundrak-nord12))
 | 
				
			||||||
     ((> percentage phundrak//eshell-banner--notice-percentage)
 | 
					     ((> percentage phundrak//eshell-banner--notice-percentage)
 | 
				
			||||||
      (with-face (format "%2d" percentage) :foreground phundrak/nord13))
 | 
					      (with-face (format "%2d" percentage) :foreground phundrak-nord13))
 | 
				
			||||||
     (t
 | 
					     (t
 | 
				
			||||||
      (with-face (format "%2d" percentage) :foreground phundrak/nord14))))
 | 
					      (with-face (format "%2d" percentage) :foreground phundrak-nord14))))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This function will be used when displaying progress bars. These will be used for
 | 
					This function will be used when displaying progress bars. These will be used for
 | 
				
			||||||
@ -2210,13 +2233,13 @@ the percentage should be between 0 and 100.
 | 
				
			|||||||
           (length-red   (- length length-green)))
 | 
					           (length-red   (- length length-green)))
 | 
				
			||||||
      (concat (with-face "[" :weight 'bold)
 | 
					      (concat (with-face "[" :weight 'bold)
 | 
				
			||||||
              (with-face (s-repeat length-green "=")
 | 
					              (with-face (s-repeat length-green "=")
 | 
				
			||||||
                         :weight 'bold :foreground phundrak/nord14)
 | 
					                         :weight 'bold :foreground phundrak-nord14)
 | 
				
			||||||
              (with-face (s-repeat length-red "=")
 | 
					              (with-face (s-repeat length-red "=")
 | 
				
			||||||
                         :weight 'bold :foreground phundrak/nord11)
 | 
					                         :weight 'bold :foreground phundrak-nord11)
 | 
				
			||||||
              (with-face "]" :weight 'bold))))
 | 
					              (with-face "]" :weight 'bold))))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This function will be used in two distinct functions: ~phundrak/eshell-banner~
 | 
					This function will be used in two distinct functions: ~phundrak-eshell-banner~
 | 
				
			||||||
which we will see later, and ~phundrak//eshell-banner--display-memory~ which we
 | 
					which we will see later, and ~phundrak//eshell-banner--display-memory~ which we
 | 
				
			||||||
will see now. This function displays information for the two types of memory we
 | 
					will see now. This function displays information for the two types of memory we
 | 
				
			||||||
have, RAM and Swap memory. Here is the definition of this function:
 | 
					have, RAM and Swap memory. Here is the definition of this function:
 | 
				
			||||||
@ -2255,14 +2278,14 @@ quite similar to the above one:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
And we can now build our banner! Here is our function that does exactly that:
 | 
					And we can now build our banner! Here is our function that does exactly that:
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defun phundrak/eshell-banner ()
 | 
					  (defun phundrak-eshell-banner ()
 | 
				
			||||||
    (let* ((partitions        (phundrak/get-mounted-partitions))
 | 
					    (let* ((partitions        (phundrak/get-mounted-partitions))
 | 
				
			||||||
           (os                (replace-regexp-in-string
 | 
					           (os                (replace-regexp-in-string
 | 
				
			||||||
                               ".*\"\\(.+\\)\""
 | 
					                               ".*\"\\(.+\\)\""
 | 
				
			||||||
                               "\\1"
 | 
					                               "\\1"
 | 
				
			||||||
                               (car (-filter (lambda (line)
 | 
					                               (car (-filter (lambda (line)
 | 
				
			||||||
                                               (s-contains? "PRETTY_NAME" line))
 | 
					                                               (s-contains? "PRETTY_NAME" line))
 | 
				
			||||||
                                             (s-lines (phundrak/file-to-string "/etc/os-release"))))))
 | 
					                                             (s-lines (phundrak-file-to-string "/etc/os-release"))))))
 | 
				
			||||||
           (memory            (-map (lambda (line)
 | 
					           (memory            (-map (lambda (line)
 | 
				
			||||||
                                      (s-split " " line t))
 | 
					                                      (s-split " " line t))
 | 
				
			||||||
                                    (s-split "\n"
 | 
					                                    (s-split "\n"
 | 
				
			||||||
@ -2316,13 +2339,13 @@ And we can now build our banner! Here is our function that does exactly that:
 | 
				
			|||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
We now only have to set the result of this function as our Eshell banner. Since
 | 
					We now only have to set the result of this function as our Eshell banner. Since
 | 
				
			||||||
a simple ~setq~ would only run ~phundrak/eshell-banner~ once when Emacs starts,
 | 
					a simple ~setq~ would only run ~phundrak-eshell-banner~ once when Emacs starts,
 | 
				
			||||||
we’ll actually make Emacs set the value of ~eshell-banner-message~ each time it
 | 
					we’ll actually make Emacs set the value of ~eshell-banner-message~ each time it
 | 
				
			||||||
is required by Eshell with a hook:
 | 
					is required by Eshell with a hook:
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (add-hook 'eshell-banner-load-hook
 | 
					  (add-hook 'eshell-banner-load-hook
 | 
				
			||||||
            (lambda ()
 | 
					            (lambda ()
 | 
				
			||||||
              (setq eshell-banner-message (phundrak/eshell-banner))))
 | 
					              (setq eshell-banner-message (phundrak-eshell-banner))))
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**** Eshell theme
 | 
					**** Eshell theme
 | 
				
			||||||
@ -2333,15 +2356,15 @@ As with most shells, again, it is possible to customize the appearance of the
 | 
				
			|||||||
Eshell prompt. As you can see, my prompt has some Nord colors, a shortened path,
 | 
					Eshell prompt. As you can see, my prompt has some Nord colors, a shortened path,
 | 
				
			||||||
a git prompt, and an indicator of whether the previous command succeeded or
 | 
					a git prompt, and an indicator of whether the previous command succeeded or
 | 
				
			||||||
failed. Note however that the abbreviation of the current path depends on the
 | 
					failed. Note however that the abbreviation of the current path depends on the
 | 
				
			||||||
value of ~phundrak/prompt--abbreviate~, if it is ~t~ it is abbreviated;
 | 
					value of ~phundrak-prompt--abbreviate~, if it is ~t~ it is abbreviated;
 | 
				
			||||||
otherwise, it is kept in full. It can be toggled with a keyboard shortcut, see
 | 
					otherwise, it is kept in full. It can be toggled with a keyboard shortcut, see
 | 
				
			||||||
[[#User_Configuration-Shortcuts-Toggle-d53c27ef][Keybindings: Toggle]].
 | 
					[[#User_Configuration-Shortcuts-Toggle-d53c27ef][Keybindings: Toggle]].
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (defun phundrak/eshell-prompt ()
 | 
					  (defun phundrak-eshell-prompt ()
 | 
				
			||||||
    "Definition of my prompt for Eshell
 | 
					    "Definition of my prompt for Eshell
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  It displays a powerline prompt, with first an abbreviated path to
 | 
					  It displays a powerline prompt, with first an abbreviated path to
 | 
				
			||||||
  the current directory. If `phundrak/prompt--abbreviate' is `t',
 | 
					  the current directory. If `phundrak-prompt--abbreviate' is `t',
 | 
				
			||||||
  then all preceding directories will be abbreviated to one
 | 
					  then all preceding directories will be abbreviated to one
 | 
				
			||||||
  character, except hidden directory which first character will be
 | 
					  character, except hidden directory which first character will be
 | 
				
			||||||
  preceded by a dot. Otherwise, the full name of the directories is
 | 
					  preceded by a dot. Otherwise, the full name of the directories is
 | 
				
			||||||
@ -2349,30 +2372,30 @@ otherwise, it is kept in full. It can be toggled with a keyboard shortcut, see
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  Then, if the current directory is a git repository or one of its
 | 
					  Then, if the current directory is a git repository or one of its
 | 
				
			||||||
  subdirectories, it will display the current state of the
 | 
					  subdirectories, it will display the current state of the
 | 
				
			||||||
  repository. See `phundrak/eshell-git-status'
 | 
					  repository. See `phundrak-eshell-git-status'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Finally, a lambda character is displayed, either in blue or in
 | 
					  Finally, a lambda character is displayed, either in blue or in
 | 
				
			||||||
  red depending on if the last eshell command was a success or a
 | 
					  red depending on if the last eshell command was a success or a
 | 
				
			||||||
  failure respectively."
 | 
					  failure respectively."
 | 
				
			||||||
    (let* ((header-bg   phundrak/nord0)
 | 
					    (let* ((header-bg   phundrak-nord0)
 | 
				
			||||||
           ($path       (phundrak/abbr-path (eshell/pwd)))
 | 
					           ($path       (phundrak-abbr-path (eshell/pwd)))
 | 
				
			||||||
           ($git-path   (phundrak/git-repo-root $path))
 | 
					           ($git-path   (phundrak-git-repo-root $path))
 | 
				
			||||||
           ($abbr-path  (phundrak/abbr-path $path phundrak/prompt--abbreviate))
 | 
					           ($abbr-path  (phundrak-abbr-path $path phundrak-prompt--abbreviate))
 | 
				
			||||||
           ($background phundrak/nord1)
 | 
					           ($background phundrak-nord1)
 | 
				
			||||||
           ($foreground phundrak/nord14)
 | 
					           ($foreground phundrak-nord14)
 | 
				
			||||||
           ($success    phundrak/nord10)
 | 
					           ($success    phundrak-nord10)
 | 
				
			||||||
           ($error      phundrak/nord11))
 | 
					           ($error      phundrak-nord11))
 | 
				
			||||||
      (concat (with-face (concat " "
 | 
					      (concat (with-face (concat " "
 | 
				
			||||||
                                 (phundrak/abbr-path (phundrak/var-or-if-nil $git-path $path)
 | 
					                                 (phundrak-abbr-path (phundrak-var-or-if-nil $git-path $path)
 | 
				
			||||||
                                                     phundrak/prompt--abbreviate)
 | 
					                                                     phundrak-prompt--abbreviate)
 | 
				
			||||||
                                 " ")
 | 
					                                 " ")
 | 
				
			||||||
                         :foreground $foreground
 | 
					                         :foreground $foreground
 | 
				
			||||||
                         :background $background)
 | 
					                         :background $background)
 | 
				
			||||||
              (when $git-path
 | 
					              (when $git-path
 | 
				
			||||||
                (concat (phundrak/eshell-git-status $path $background)
 | 
					                (concat (phundrak-eshell-git-status $path $background)
 | 
				
			||||||
                        (with-face (format "%s "
 | 
					                        (with-face (format "%s "
 | 
				
			||||||
                                           (let (($in-git-path (phundrak/abbr-path (f-relative $path $git-path)
 | 
					                                           (let (($in-git-path (phundrak-abbr-path (f-relative $path $git-path)
 | 
				
			||||||
                                                                                   phundrak/prompt--abbreviate)))
 | 
					                                                                                   phundrak-prompt--abbreviate)))
 | 
				
			||||||
                                             (if (string= "." $in-git-path)
 | 
					                                             (if (string= "." $in-git-path)
 | 
				
			||||||
                                                 ""
 | 
					                                                 ""
 | 
				
			||||||
                                               (concat " " $in-git-path))))
 | 
					                                               (concat " " $in-git-path))))
 | 
				
			||||||
@ -2390,7 +2413,7 @@ otherwise, it is kept in full. It can be toggled with a keyboard shortcut, see
 | 
				
			|||||||
Now, let’s declare our prompt regexp and our prompt functions:
 | 
					Now, let’s declare our prompt regexp and our prompt functions:
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (setq eshell-prompt-regexp "^[^\n]*λ  "
 | 
					  (setq eshell-prompt-regexp "^[^\n]*λ  "
 | 
				
			||||||
        eshell-prompt-function 'phundrak/eshell-prompt)
 | 
					        eshell-prompt-function 'phundrak-eshell-prompt)
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
I also don't want the banner to be displayed, I know I entered the Elisp shell,
 | 
					I also don't want the banner to be displayed, I know I entered the Elisp shell,
 | 
				
			||||||
@ -4239,7 +4262,7 @@ A couple of other useful utilities, sach as opening all marked files, sorting
 | 
				
			|||||||
files, opening them externally and renaming them, are also bound to a simple key
 | 
					files, opening them externally and renaming them, are also bound to a simple key
 | 
				
			||||||
press:
 | 
					press:
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (define-key dired-mode-map (kbd "f") 'phundrak/open-marked-files)
 | 
					  (define-key dired-mode-map (kbd "f") 'phundrak-open-marked-files)
 | 
				
			||||||
  (define-key dired-mode-map (kbd "F") 'xah/open-in-external-app)
 | 
					  (define-key dired-mode-map (kbd "F") 'xah/open-in-external-app)
 | 
				
			||||||
  (define-key dired-mode-map (kbd "s") 'xah/dired-sort)
 | 
					  (define-key dired-mode-map (kbd "s") 'xah/dired-sort)
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
@ -4250,7 +4273,7 @@ press:
 | 
				
			|||||||
:END:
 | 
					:END:
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (spacemacs/declare-prefix "of" "open org file")
 | 
					  (spacemacs/declare-prefix "of" "open org file")
 | 
				
			||||||
  (spacemacs/set-leader-keys "of" 'phundrak/find-org-files)
 | 
					  (spacemacs/set-leader-keys "of" 'phundrak-find-org-files)
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
I also have a shortcut for ~helm-locate~ in case I need to find a file that is
 | 
					I also have a shortcut for ~helm-locate~ in case I need to find a file that is
 | 
				
			||||||
@ -4320,7 +4343,7 @@ Now, onto some shortcuts related to org-mode. Let’s first declare the category
 | 
				
			|||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp
 | 
					#+BEGIN_SRC emacs-lisp
 | 
				
			||||||
  (spacemacs/set-leader-keys-for-major-mode 'org-mode "ob" 'phundrak/blog-publish)
 | 
					  (spacemacs/set-leader-keys-for-major-mode 'org-mode "ob" 'phundrak-blog-publish)
 | 
				
			||||||
  (spacemacs/declare-prefix-for-mode 'org-mode "ob" "publish blog")
 | 
					  (spacemacs/declare-prefix-for-mode 'org-mode "ob" "publish blog")
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -4393,7 +4416,7 @@ Emacs:
 | 
				
			|||||||
    "otd" 'elcord-mode
 | 
					    "otd" 'elcord-mode
 | 
				
			||||||
    "otf" 'flycheck-mode
 | 
					    "otf" 'flycheck-mode
 | 
				
			||||||
    "ots" 'prettify-symbols-mode
 | 
					    "ots" 'prettify-symbols-mode
 | 
				
			||||||
    "otS" 'phundrak/prompt-toggle-abbreviation)
 | 
					    "otS" 'phundrak-prompt-toggle-abbreviation)
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
We also have some input methods-related shortcuts in a sub-category: ~oti~. The
 | 
					We also have some input methods-related shortcuts in a sub-category: ~oti~. The
 | 
				
			||||||
@ -4983,7 +5006,7 @@ passed to the method to members of the struct. It relies on the custom function
 | 
				
			|||||||
  fn new(${1:args}) -> Self {
 | 
					  fn new(${1:args}) -> Self {
 | 
				
			||||||
    $0
 | 
					    $0
 | 
				
			||||||
    Self {
 | 
					    Self {
 | 
				
			||||||
      ${1:$(phundrak/yas-rust-new-assignments yas-text)}
 | 
					      ${1:$(phundrak-yas-rust-new-assignments yas-text)}
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
#+END_SRC
 | 
					#+END_SRC
 | 
				
			||||||
@ -5238,15 +5261,15 @@ I want to see by default how much battery my computer has, so let’s enable it:
 | 
				
			|||||||
:CUSTOM_ID: User-Configuration-Visual-configuration-Better-faces-5d73fe9c
 | 
					:CUSTOM_ID: User-Configuration-Visual-configuration-Better-faces-5d73fe9c
 | 
				
			||||||
:END:
 | 
					:END:
 | 
				
			||||||
#+NAME: face-generate
 | 
					#+NAME: face-generate
 | 
				
			||||||
#+BEGIN_SRC emacs-lisp :tangle no :results replace :exports none :var input=[] :var makeface="yes"
 | 
					#+BEGIN_SRC emacs-lisp :tangle no :results replace :exports none :var input=mu4e-faces :var makeface="yes"
 | 
				
			||||||
  (let* ((makeface (string= "yes" makeface))
 | 
					  (let* ((makeface (string= "yes" makeface))
 | 
				
			||||||
         (headers (cadr input))
 | 
					         (headers (cadr input))
 | 
				
			||||||
         (faces (-map (lambda (face)
 | 
					         (faces (-map (lambda (face)
 | 
				
			||||||
                        (-filter (lambda (elem)
 | 
					                        (phundrak-filter (lambda (elem)
 | 
				
			||||||
                                   (or (numberp (cadr elem))
 | 
					                                           (or (numberp (cadr elem))
 | 
				
			||||||
                                       (not (string= ""
 | 
					                                               (not (string= ""
 | 
				
			||||||
                                                     (cadr elem)))))
 | 
					                                                             (cadr elem)))))
 | 
				
			||||||
                                 (-zip-lists headers face)))
 | 
					                                         (phundrak-zip headers face)))
 | 
				
			||||||
                      (cddr input))))
 | 
					                      (cddr input))))
 | 
				
			||||||
    (mapconcat (lambda (face)
 | 
					    (mapconcat (lambda (face)
 | 
				
			||||||
                 (concat
 | 
					                 (concat
 | 
				
			||||||
@ -5312,9 +5335,9 @@ let’s redefine their background and sometimes their foreground.
 | 
				
			|||||||
| /                    |                  |
 | 
					| /                    |                  |
 | 
				
			||||||
| Name                 | background       |
 | 
					| Name                 | background       |
 | 
				
			||||||
|----------------------+------------------|
 | 
					|----------------------+------------------|
 | 
				
			||||||
| ediff-current-diff-A | ,phundrak/nord11 |
 | 
					| ediff-current-diff-A | ,phundrak-nord11 |
 | 
				
			||||||
| ediff-current-diff-C | ,phundrak/nord13 |
 | 
					| ediff-current-diff-C | ,phundrak-nord13 |
 | 
				
			||||||
| ediff-current-diff-C | ,phundrak/nord14 |
 | 
					| ediff-current-diff-C | ,phundrak-nord14 |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**** Mu4e
 | 
					**** Mu4e
 | 
				
			||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
@ -5326,7 +5349,7 @@ displayed properly, such as the ~mu4e-highlight-face~. Let’s fix that!
 | 
				
			|||||||
| /                   |                 |                 |
 | 
					| /                   |                 |                 |
 | 
				
			||||||
| Name                | background      | foreground      |
 | 
					| Name                | background      | foreground      |
 | 
				
			||||||
|---------------------+-----------------+-----------------|
 | 
					|---------------------+-----------------+-----------------|
 | 
				
			||||||
| mu4e-highlight-face | ,phundrak/nord9 | ,phundrak/nord0 |
 | 
					| mu4e-highlight-face | ,phundrak-nord9 | ,phundrak-nord0 |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**** Org-mode
 | 
					**** Org-mode
 | 
				
			||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
@ -5347,36 +5370,36 @@ First here are some common properties that will be reused in faces below:
 | 
				
			|||||||
| /                         | <                |                               |                  |                 | <l>    |        |        |           |
 | 
					| /                         | <                |                               |                  |                 | <l>    |        |        |           |
 | 
				
			||||||
| Name                      | additional       | inherit                       | foreground       | background      | height | weight | italic | underline |
 | 
					| Name                      | additional       | inherit                       | foreground       | background      | height | weight | italic | underline |
 | 
				
			||||||
|---------------------------+------------------+-------------------------------+------------------+-----------------+--------+--------+--------+-----------|
 | 
					|---------------------------+------------------+-------------------------------+------------------+-----------------+--------+--------+--------+-----------|
 | 
				
			||||||
| org-level-1               | ,@orgfont ,@head |                               | ,phundrak/nord15 |                 | 1.75   |        | t      |           |
 | 
					| org-level-1               | ,@orgfont ,@head |                               | ,phundrak-nord15 |                 | 1.75   |        | t      |           |
 | 
				
			||||||
| org-level-2               | ,@orgfont ,@head |                               | ,phundrak/nord10 |                 | 1.5    |        | t      |           |
 | 
					| org-level-2               | ,@orgfont ,@head |                               | ,phundrak-nord10 |                 | 1.5    |        | t      |           |
 | 
				
			||||||
| org-level-3               | ,@orgfont ,@head |                               | ,phundrak/nord9  |                 | 1.25   |        | t      |           |
 | 
					| org-level-3               | ,@orgfont ,@head |                               | ,phundrak-nord9  |                 | 1.25   |        | t      |           |
 | 
				
			||||||
| org-level-4               | ,@orgfont ,@head |                               | ,phundrak/nord15 |                 | 1.1    |        | t      |           |
 | 
					| org-level-4               | ,@orgfont ,@head |                               | ,phundrak-nord15 |                 | 1.1    |        | t      |           |
 | 
				
			||||||
| org-level-5               | ,@orgfont ,@head |                               | ,phundrak/nord8  |                 |        |        | t      |           |
 | 
					| org-level-5               | ,@orgfont ,@head |                               | ,phundrak-nord8  |                 |        |        | t      |           |
 | 
				
			||||||
| org-level-6               | ,@orgfont ,@head |                               | ,phundrak/nord7  |                 |        |        | t      |           |
 | 
					| org-level-6               | ,@orgfont ,@head |                               | ,phundrak-nord7  |                 |        |        | t      |           |
 | 
				
			||||||
| org-level-7               | ,@orgfont ,@head |                               | ,phundrak/nord15 |                 |        |        | t      |           |
 | 
					| org-level-7               | ,@orgfont ,@head |                               | ,phundrak-nord15 |                 |        |        | t      |           |
 | 
				
			||||||
| org-level-8               | ,@orgfont ,@head |                               | ,phundrak/nord6  |                 |        |        | t      |           |
 | 
					| org-level-8               | ,@orgfont ,@head |                               | ,phundrak-nord6  |                 |        |        | t      |           |
 | 
				
			||||||
| org-document-title        | ,@orgfont ,@head |                               | ,phundrak/nord11 |                 | 2.0    |        | t      |           |
 | 
					| org-document-title        | ,@orgfont ,@head |                               | ,phundrak-nord11 |                 | 2.0    |        | t      |           |
 | 
				
			||||||
| variable-pitch            | ,@orgfont        |                               |                  |                 |        |        |        |           |
 | 
					| variable-pitch            | ,@orgfont        |                               |                  |                 |        |        |        |           |
 | 
				
			||||||
| org-block                 | ,@fixed          |                               |                  | ,phundrak/nord1 |        |        |        |           |
 | 
					| org-block                 | ,@fixed          |                               |                  | ,phundrak-nord1 |        |        |        |           |
 | 
				
			||||||
| org-block-begin-line      | ,@fixed          |                               |                  | ,phundrak/nord1 |        |        |        |           |
 | 
					| org-block-begin-line      | ,@fixed          |                               |                  | ,phundrak-nord1 |        |        |        |           |
 | 
				
			||||||
| org-block-end-line        | ,@fixed          |                               |                  | ,phundrak/nord1 |        |        |        |           |
 | 
					| org-block-end-line        | ,@fixed          |                               |                  | ,phundrak-nord1 |        |        |        |           |
 | 
				
			||||||
| org-indent                | ,@fixed          |                               |                  |                 |        |        |        |           |
 | 
					| org-indent                | ,@fixed          |                               |                  |                 |        |        |        |           |
 | 
				
			||||||
| org-formula               | ,@fixed          |                               |                  |                 |        |        |        |           |
 | 
					| org-formula               | ,@fixed          |                               |                  |                 |        |        |        |           |
 | 
				
			||||||
| org-macro                 | ,@fixed          |                               |                  |                 |        |        |        |           |
 | 
					| org-macro                 | ,@fixed          |                               |                  |                 |        |        |        |           |
 | 
				
			||||||
| org-target                | ,@fixed          |                               |                  |                 |        |        |        |           |
 | 
					| org-target                | ,@fixed          |                               |                  |                 |        |        |        |           |
 | 
				
			||||||
| org-property-value        | ,@fixed          |                               |                  |                 |        |        |        |           |
 | 
					| org-property-value        | ,@fixed          |                               |                  |                 |        |        |        |           |
 | 
				
			||||||
| org-drawer                | ,@fixed          |                               | ,phundrak/nord10 |                 |        |        |        |           |
 | 
					| org-drawer                | ,@fixed          |                               | ,phundrak-nord10 |                 |        |        |        |           |
 | 
				
			||||||
| org-table                 | ,@fixed          |                               | ,phundrak/nord14 |                 |        |        |        |           |
 | 
					| org-table                 | ,@fixed          |                               | ,phundrak-nord14 |                 |        |        |        |           |
 | 
				
			||||||
| org-date                  | ,@fixed          |                               | ,phundrak/nord13 |                 |        |        |        |           |
 | 
					| org-date                  | ,@fixed          |                               | ,phundrak-nord13 |                 |        |        |        |           |
 | 
				
			||||||
| org-code                  | ,@fixed          | shadow                        |                  |                 |        |        |        |           |
 | 
					| org-code                  | ,@fixed          | shadow                        |                  |                 |        |        |        |           |
 | 
				
			||||||
| org-verbatim              | ,@fixed          | shadow                        |                  |                 |        |        |        |           |
 | 
					| org-verbatim              | ,@fixed          | shadow                        |                  |                 |        |        |        |           |
 | 
				
			||||||
| org-document-info-keyword | ,@fixed          | shadow                        |                  |                 |        |        |        |           |
 | 
					| org-document-info-keyword | ,@fixed          | shadow                        |                  |                 |        |        |        |           |
 | 
				
			||||||
| org-tag                   | ,@fixed          | shadow                        |                  |                 |        | bold   |        |           |
 | 
					| org-tag                   | ,@fixed          | shadow                        |                  |                 |        | bold   |        |           |
 | 
				
			||||||
| org-meta-line             | ,@fixed          | font-lock-comment-face        |                  |                 | 0.8    |        |        |           |
 | 
					| org-meta-line             | ,@fixed          | font-lock-comment-face        |                  |                 | 0.8    |        |        |           |
 | 
				
			||||||
| org-special-keyword       | ,@fixed          | font-lock-comment-face        | ,phundrak/nord15 |                 | 0.8    |        |        |           |
 | 
					| org-special-keyword       | ,@fixed          | font-lock-comment-face        | ,phundrak-nord15 |                 | 0.8    |        |        |           |
 | 
				
			||||||
| org-checkbox              | ,@fixed          | (org-todo shadow fixed-pitch) |                  |                 |        |        |        |           |
 | 
					| org-checkbox              | ,@fixed          | (org-todo shadow fixed-pitch) |                  |                 |        |        |        |           |
 | 
				
			||||||
| org-document-info         |                  |                               | ,phundrak/nord12 |                 |        |        |        |           |
 | 
					| org-document-info         |                  |                               | ,phundrak-nord12 |                 |        |        |        |           |
 | 
				
			||||||
| org-link                  |                  |                               | ,phundrak/nord8  |                 |        |        |        | t         |
 | 
					| org-link                  |                  |                               | ,phundrak-nord8  |                 |        |        |        | t         |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*** Info colors
 | 
					*** Info colors
 | 
				
			||||||
:PROPERTIES:
 | 
					:PROPERTIES:
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user