docs: typos
All checks were successful
deploy / build (push) Successful in 3m41s
All checks were successful
deploy / build (push) Successful in 3m41s
This commit is contained in:
@@ -42,7 +42,7 @@ I sure don’t. Let’s tell Emacs.
|
||||
(setq-default sentence-end-double-space nil)
|
||||
#+end_src
|
||||
|
||||
There is a minor mode in Emacs which allows to have a finer way of
|
||||
There is a minor mode in Emacs which allows having a finer way of
|
||||
jumping from word to word: ~global-subword-mode~. It detects if what
|
||||
Emacs usually considers a word can be understood as several words, as
|
||||
in camelCase words, and allows us to jump words on this finer level.
|
||||
@@ -82,7 +82,7 @@ spaces tabs, some deranged people prefer 8 spaces tabs, and some
|
||||
monsters prefer 3!
|
||||
|
||||
But the thing is, once you indented your code, and then you need
|
||||
alignment, tabs don’t work anymore! Or they may on *your* text editor
|
||||
alignment, tabs don’t work any more! Or they may on *your* text editor
|
||||
but not on your coworker’s! (He’s the one using 3 spaces tabs by the
|
||||
way).
|
||||
|
||||
@@ -144,7 +144,7 @@ of indentation (Python, why…?). The minor-mode that enables that is
|
||||
*** Stay Clean, Emacs!
|
||||
As nice as Emacs is, it isn’t very polite or clean by default: open a
|
||||
file, and it will create backup files in the same directory. But then,
|
||||
when you open your directory with your favorite file manager and see
|
||||
when you open your directory with your favourite file manager and see
|
||||
almost all of your files duplicated with a =~= appended to the filename,
|
||||
it looks really uncomfortable! This is why I prefer to tell Emacs to
|
||||
keep its backup files to itself in a directory it only will access.
|
||||
@@ -168,7 +168,7 @@ If we delete a file, we want it moved to the trash, not simply deleted.
|
||||
(setq delete-by-moving-to-trash t)
|
||||
#+end_src
|
||||
|
||||
Finally, the scatch buffer always has some message at its beginning, I
|
||||
Finally, the scratch buffer always has some message at its beginning, I
|
||||
don’t want it!
|
||||
#+begin_src emacs-lisp
|
||||
(setq-default initial-scratch-message nil)
|
||||
@@ -186,7 +186,8 @@ This will make Emacs ask us for either hitting the ~y~ key for “yes”, or
|
||||
the ~n~ key for “no”. Much more polite!
|
||||
|
||||
It is also very impolite to keep a certain version of a file in its
|
||||
buffer when said file has changed on disk. Let’s change this behavior:
|
||||
buffer when said file has changed on disk. Let’s change this
|
||||
behaviour:
|
||||
#+begin_src emacs-lisp
|
||||
(global-auto-revert-mode 1)
|
||||
#+end_src
|
||||
@@ -222,7 +223,7 @@ set it up correctly.
|
||||
** Visual Configuration
|
||||
The first visual setting in this section will activate the visible
|
||||
bell. What it does is I get a visual feedback each time I do something
|
||||
Emacs doesn’t agree with, like tring to go up a line when I’m already
|
||||
Emacs doesn’t agree with, like trying to go up a line when I’m already
|
||||
at the top of the buffer.
|
||||
#+begin_src emacs-lisp
|
||||
(setq visible-bell t)
|
||||
@@ -346,9 +347,9 @@ to the one ~setq~ uses?
|
||||
"Bind each custom variable FORM to the value of its VAL.
|
||||
|
||||
FORMS is a list of pairs of values [FORM VAL].
|
||||
`customize-set-variable' is called sequentially on each pairs
|
||||
`customize-set-variable' is called sequentially on each pair
|
||||
contained in FORMS. This means `csetq' has a similar behaviour as
|
||||
`setq': each VAL expression are evaluated sequentially, i.e. the
|
||||
`setq': each VAL expression is evaluated sequentially, i.e. the
|
||||
first VAL is evaluated before the second, and so on. This means
|
||||
the value of the first FORM can be used to set the second FORM.
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ it as.
|
||||
#+begin_src emacs-lisp
|
||||
(defun self-screenshot (&optional type)
|
||||
"Save a screenshot of type TYPE of the current Emacs frame.
|
||||
As shown by the function `', type can weild the value `svg',
|
||||
As shown by the function `', type can wield the value `svg',
|
||||
`png', `pdf'.
|
||||
|
||||
This function will output in /tmp a file beginning with \"Emacs\"
|
||||
|
||||
@@ -18,7 +18,7 @@ easily add new packages and configure them, such as ~package!~, ~after!~,
|
||||
and others. But ultimately, I wanted to have a system I designed
|
||||
entirely, with the keybinds I want, the packages I want.
|
||||
|
||||
Aso, why Emacs? You know this famous quote:
|
||||
Also, why Emacs? You know this famous quote:
|
||||
#+begin_quote
|
||||
Emacs is a great operating system, it just lacks a good text editor.
|
||||
#+end_quote
|
||||
|
||||
@@ -160,7 +160,7 @@ additional code compared to most people due to the bépo layout.
|
||||
reason is it doesn’t create a linear undo/redo history, but rather a
|
||||
complete tree you can navigate to see your complete editing history.
|
||||
One of the two obvious things to do are to tell Emacs to save all its
|
||||
undo history fies in a dedicated directory, otherwise we’d risk
|
||||
undo history files in a dedicated directory, otherwise we’d risk
|
||||
littering all of our directories. The second thing is to simply
|
||||
globally enable its mode.
|
||||
#+begin_src emacs-lisp
|
||||
@@ -185,7 +185,7 @@ globally enable its mode.
|
||||
undo-outer-limit (* 128 1024 1024)))
|
||||
#+end_src
|
||||
|
||||
An interesting behavior from DoomEmacs is to compress the history
|
||||
An interesting behaviour from DoomEmacs is to compress the history
|
||||
files with ~zstd~ when it is present on the system. Not only do we enjoy
|
||||
much smaller files (according to DoomEmacs, we get something like 80%
|
||||
file savings), Emacs can load them much faster than the regular files.
|
||||
|
||||
@@ -69,7 +69,7 @@ host. This username is retrieved through the following variable:
|
||||
The huge advantage of straight is it clones through git the packages
|
||||
it installs. This means development can be done directly on the
|
||||
downloaded package. However, Forge (a Magit extension for interacting
|
||||
with websites such as GitHub, Gitlab, and such) interacts by default
|
||||
with websites such as GitHub, GitLab, and such) interacts by default
|
||||
with the forge described by the =origin= remote, which isn’t necessarily
|
||||
the one I want Forge to interact with by default. Therefore,
|
||||
=straight.el= will name all default remotes =straight= to avoid any name
|
||||
|
||||
@@ -161,7 +161,7 @@ database is to be stored.
|
||||
|
||||
I don’t want YouTube videos to be open with my web browser when I
|
||||
invoke ~elfeed-show-visit~, so I’ll advise this function to make it
|
||||
possible to modify the behavior of said function. Oh, and I already
|
||||
possible to modify the behaviour of said function. Oh, and I already
|
||||
made [[file:../../scripts.md#ytplay][a neat package]] for playing YouTube videos and friends through
|
||||
[[https://ytdl-org.github.io/youtube-dl/][youtube-dl]] or its superior fork [[https://github.com/yt-dlp/yt-dlp][yt-dlp]] in mpv.
|
||||
|
||||
@@ -495,7 +495,7 @@ configuration for the ~mu4e~ package itself.
|
||||
(find-file outfile))))
|
||||
#+end_src
|
||||
|
||||
Quick sidenote: on ArchLinux, you’ll need to install either ~mu~ or
|
||||
Quick sidenote: on Arch Linux, you’ll need to install either ~mu~ or
|
||||
~mu-git~ from the AUR in order to use mu4e. I also have a ~.desktop~ file
|
||||
to make it possible to open mu4e directly from my program picker. It
|
||||
uses the shell script ~emacsmail~ I’ve written [[file:bin.org::#Emacsmail-afffb7cd][here]].
|
||||
@@ -526,7 +526,7 @@ events shared with me on my personal mailbox. The answer is actually
|
||||
#+end_src
|
||||
|
||||
I’ll just configure a couple of things regarding these events, namely
|
||||
converting them to Orgmode and add them to my =~/org/notes.org= file,
|
||||
converting them to org-mode and add them to my =~/org/notes.org= file,
|
||||
and delete the email once I answered to the event.
|
||||
#+name: mu4e-ical-config
|
||||
#+begin_src emacs-lisp
|
||||
@@ -639,7 +639,7 @@ Next I need an inbox dedicated to the association I’m part of.
|
||||
As for the Emacs-doctor list, I need to match both the current, modern
|
||||
mailing list address but also its old address. The same applies for
|
||||
the emacs-devel mailing list as well as GitHub emails related to my
|
||||
package ~eshell-info-banner.el~ (*see here*). Here are the addresses to
|
||||
package ~eshell-info-banner.el~. Here are the addresses to
|
||||
match:
|
||||
|
||||
# Insert #Packages-Configuration-Emacs-built-ins-Eshell-Visual-configuratione7c2fl6184j0 equivalent in *see here*
|
||||
@@ -777,7 +777,7 @@ We can finally define our bookmarks! The code reads as follows:
|
||||
Sometimes, bookmarks are a bit too restrictive when I want to search
|
||||
for stuff. Simply jumping to a mail directory, or maildir, is more
|
||||
than enough. In mu4e, with my current setup, I can jump to any maildir
|
||||
with the shortcut ~Jo~ in normal-mode, and I just need to chose in a
|
||||
with the shortcut ~Jo~ in normal-mode, and I just need to choose in a
|
||||
list the maildir I want to jump to. But it can be faster.
|
||||
|
||||
With this piece of code, I can simply jump to my inbox maildir with
|
||||
@@ -1303,8 +1303,8 @@ reader?
|
||||
** PDF Tools
|
||||
~pdf-tools~ enables PDF support for Emacs, much better than its built-in
|
||||
support with DocView. Aside from the classical settings such as
|
||||
keybinds, I also enable the midnight colors by default; think of it as
|
||||
an equivalent of Zathura’s recolor feature which kind of enables a
|
||||
keybinds, I also enable the midnight colours by default; think of it
|
||||
as an equivalent of Zathura’s recolour feature which kind of enables a
|
||||
dark mode for PDFs.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package pdf-tools
|
||||
@@ -1467,7 +1467,7 @@ I also want to highlight these angular-style keywords in commit messages.
|
||||
display in the Magit buffer a list of TODOs found in the current
|
||||
project to remind you of what to do next.
|
||||
|
||||
First, let’s se tup our todo keywords with =hl-todo=. A good few todo
|
||||
First, let’s setup our todo keywords with =hl-todo=. A good few todo
|
||||
keywords are already defined in the =hl-todo-keyword-faces= variable.
|
||||
Why not use them? =hl-todo-mode= enables fontlock highlight of these
|
||||
keywords in a buffer. Let’s enable this mode globally.
|
||||
@@ -1508,7 +1508,7 @@ deactivate `magit-todos-mode', otherwise enable it."
|
||||
#+end_src
|
||||
|
||||
*** Forge
|
||||
Forge acts as an interface for GitHub, Gitlab, and Bitbucket inside
|
||||
Forge acts as an interface for GitHub, GitLab, and Bitbucket inside
|
||||
Magit. A lot of possibilities are present, you can read issues and
|
||||
pull requests, create them, and fork projects among other things.
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ major-mode.
|
||||
#+end_src
|
||||
|
||||
On the other hand, ~company-box~ is a Company front-end which offers
|
||||
colors, icons, documentation and so on. Very nice.
|
||||
colours, icons, documentation and so on. Very nice.
|
||||
|
||||
Declaring all the icons for the variable
|
||||
~company-box-icons-all-the-icons~ is quite verbose in Elisp, so I do it
|
||||
@@ -207,7 +207,7 @@ I warned you I’d use too much ~all-the-icons~, I did!
|
||||
#+end_src
|
||||
|
||||
A buffer popping at the bottom of the screen is nice and all, but have
|
||||
you considered a floating buffer in the center of your frame?
|
||||
you considered a floating buffer in the centre of your frame?
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ivy-posframe
|
||||
:defer t
|
||||
|
||||
@@ -134,7 +134,7 @@ behavior.
|
||||
~smartparens~ is a package similar to ~parinfer~, but while the latter is
|
||||
more specialized for Lisp dialects, ~smartparens~ works better with
|
||||
other programming languages that still uses parenthesis, but not as
|
||||
much as Lisp dialects; think for example C, C++, Rust, Javascript, and
|
||||
much as Lisp dialects; think for example C, C++, Rust, JavaScript, and
|
||||
so on.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package smartparens
|
||||
@@ -159,7 +159,7 @@ escaping your strings!
|
||||
** Writeroom
|
||||
On the other hand, ~writeroom~ allows the user to enter a
|
||||
distraction-free mode of Emacs, and I like that! But the default width
|
||||
is a bit too small for me, and I prefer not to go fullscren.
|
||||
is a bit too small for me, and I prefer not to go full-screen.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package writeroom-mode
|
||||
:defer t
|
||||
|
||||
@@ -11,7 +11,7 @@ Dired is Emacs’ built-in file manager. It’s really great, and replaces
|
||||
any graphical file manager for me most of the time because:
|
||||
- I am not limited to /x/ tabs or panes
|
||||
- All actions can be done with keybindings
|
||||
- I get a consistent behavior between Dired and Emacs, since it’s the
|
||||
- I get a consistent behaviour between Dired and Emacs, since it’s the
|
||||
same thing.
|
||||
I used to have an extensive configuration for Dired with a couple of
|
||||
additional packages to make it more usable. Dirvish rendered that
|
||||
@@ -97,18 +97,19 @@ otherwise some commands won’t work.
|
||||
" "))
|
||||
#+end_src
|
||||
|
||||
However, it is possible to instead use ~exa~ when it is available.
|
||||
Instead of making Emacs’ main thread to the file listing in a
|
||||
directory, we offload it to an external thread.
|
||||
However, it is possible to instead use =eza= when it is available (it’s
|
||||
a replacement to the unmaintained =exa=). Instead of making Emacs’ main
|
||||
thread to the file listing in a directory, we offload it to an
|
||||
external thread.
|
||||
#+name: dirvish-exa-offload
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(dirvish-define-preview exa (file)
|
||||
"Use `exa' to generate directory preview."
|
||||
:require ("exa")
|
||||
(dirvish-define-preview eza (file)
|
||||
"Use `eza' to generate directory preview."
|
||||
:require ("eza")
|
||||
(when (file-directory-p file)
|
||||
`(shell . ("exa" "--color=always" "-al" ,file))))
|
||||
`(shell . ("eza" "--color=always" "-al" ,file))))
|
||||
|
||||
(add-to-list 'dirvish-preview-dispatchers 'exa)
|
||||
(add-to-list 'dirvish-preview-dispatchers 'eza)
|
||||
#+end_src
|
||||
|
||||
Finally, some directories need to be set for Dired to store various
|
||||
@@ -243,9 +244,9 @@ window.
|
||||
(defalias 'openo #'find-file-other-window)
|
||||
#+end_src
|
||||
|
||||
The default behavior of ~eshell/clear~ is not great at all, although it
|
||||
The default behaviour of ~eshell/clear~ is not great at all, although it
|
||||
clears the screen it also scrolls all the way down. Therefore, let’s
|
||||
alias it to ~eshell/clear-scrollback~ which has the correct behavior.
|
||||
alias it to ~eshell/clear-scrollback~ which has the correct behaviour.
|
||||
#+name: eshell-alias-clear
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(defalias 'eshell/clear #'eshell/clear-scrollback)
|
||||
@@ -348,7 +349,7 @@ something more standard than fish:
|
||||
I like to have at quick glance some information about my machine when
|
||||
I fire up a terminal. I haven’t found anything that does that the way
|
||||
I like it, so [[https://github.com/Phundrak/eshell-info-banner.el][I’ve written a package]]! It’s actually available on
|
||||
MELPA, but since I’m the main dev of this package, I’ll keep track of
|
||||
Melpa, but since I’m the main dev of this package, I’ll keep track of
|
||||
the git repository.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package eshell-info-banner
|
||||
@@ -370,7 +371,7 @@ the git repository.
|
||||
#+end_src
|
||||
|
||||
Another feature I like is fish-like syntax highlight, which brings
|
||||
some more colors to Eshell.
|
||||
some more colours to Eshell.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package eshell-syntax-highlighting
|
||||
:after (esh-mode eshell)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* EXWM
|
||||
So, I’m finally slowly getting back to EXWM. I tried it a couple of
|
||||
years ago, but that was with the SpacemacsOS layer on Spacemacs, on a
|
||||
laptop which got accidentaly formatted before I could save my config
|
||||
laptop which got accidentally formatted before I could save my config
|
||||
and all… So it got me some time to come back. I’m still a bit worried
|
||||
about Emacs being single threaded, so if I get one blocking function
|
||||
blocking Emacs, my whole desktop will hang, but for now I haven’t had
|
||||
@@ -62,14 +62,14 @@ exec emacs --with-exwm
|
||||
#+end_src
|
||||
|
||||
** EXWM itself
|
||||
Now we come to the plat de résistance. Like with ~xelb~, I’m using its
|
||||
Now we come to the plat de resistance. Like with ~xelb~, I’m using its
|
||||
Git source to install it to make sure I get the right version --- the
|
||||
version available on the GNU ELPA is from the same source, true, but I
|
||||
don’t know at which rate it is updated. And more packages down the
|
||||
line will depend on this Git repository, so I might as well just clone
|
||||
it right now.
|
||||
|
||||
As you can see, I added in the ~:config~ secion to two hooks functions
|
||||
As you can see, I added in the ~:config~ section to two hooks functions
|
||||
that rename buffers accurately. While the average X window will simply
|
||||
get the name of the current X window, I want Firefox and Qutebrowser
|
||||
to be prefixed with the name of the browser. Actually, all these will
|
||||
@@ -123,7 +123,7 @@ want. However, when I exit one, I want to default back to normal-mode.
|
||||
(advice-add #'exwm-input-release-keyboard :after (lambda (&optional id) (evil-insert-state)))
|
||||
#+end_src
|
||||
|
||||
Secondly, I add ~i~, ~C-SPC~, and ~M-m~ as exwm prefix keys so they aren’t
|
||||
Secondly, I add ~i~, ~C-SPC~, and ~M-m~ as exwm prefix keys, so they aren’t
|
||||
sent directly to the X windows but caught by Emacs (and EXWM). I’ll
|
||||
use the ~i~ key in normal-mode to enter ~insert-mode~ and have Emacs
|
||||
release the keyboard so the X window can grab it. Initially, I had
|
||||
@@ -362,7 +362,7 @@ The complete configuration for the ~exwm~ package can be found below.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(defun create-bluetooth-device (raw-name)
|
||||
"Create a bluetooth device cons from RAW NAME.
|
||||
"Create a Bluetooth device cons from RAW NAME.
|
||||
The cons will hold first the MAC address of the device, then its
|
||||
human-friendly name."
|
||||
(let ((split-name (split-string raw-name " " t)))
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
Bufler is a package that organises and lists buffers in a much better
|
||||
way than how they are usually sorted. You can easily and quickly find
|
||||
buffers by their group, not only by their name, and THIS is great
|
||||
news! Also, no ~helm~ please! And for some reasons the keybindings are
|
||||
news! Also, no ~helm~ please! And for some reason, the keybindings are
|
||||
borked by default, so let’s redefine them, and let’s also rebind ~SPC~
|
||||
to ~p~ since it would conflict with my main ~general~ prefix.
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
* Misc
|
||||
** ArchWiki pages
|
||||
A small package I’ve written allows the user to view ArchLinux pages
|
||||
A small package I’ve written allows the user to view Arch Linux pages
|
||||
either in Emacs or in an external web browser. I prefer the defaults.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package archwiki
|
||||
@@ -114,11 +114,11 @@ quickly find files across my filesystem.
|
||||
:host github
|
||||
:repo "phundrak/quick-find-files.el"
|
||||
:build t)
|
||||
:config
|
||||
(setq quick-find-files-program 'fd
|
||||
quick-find-files-dirs-and-exts '(("~/org" . "org")
|
||||
("~/Documents/university" . "org"))
|
||||
quick-find-files-fd-additional-options "-L"))
|
||||
:custom
|
||||
(quick-find-files-program 'fd)
|
||||
(quick-find-files-dirs-and-exts '(("~/org" . "org")
|
||||
("~/Documents/university" . "org")))
|
||||
(quick-find-files-fd-additional-options "-L"))
|
||||
#+end_src
|
||||
|
||||
** Keycast
|
||||
@@ -255,7 +255,7 @@ Moreover, inside Emacs?
|
||||
|
||||
** Winum
|
||||
Winum allows Emacs to associate windows with a specific number and
|
||||
navigate through these windows by directly refering to their
|
||||
navigate through these windows by directly referring to their
|
||||
associated number! This allows for faster window configuration than
|
||||
just going to the frame above, then left, left, and up.
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
@@ -35,7 +35,7 @@ the ~citeproc~ package, a citation processor.
|
||||
:straight (:build t))
|
||||
#+end_src
|
||||
|
||||
Org is the main reason I am using Emacs. It is an extremely powerfu
|
||||
Org is the main reason I am using Emacs. It is an extremely powerful
|
||||
tool when you want to write anything that is not necessarily primarily
|
||||
programming-related, though it absolutely can be! Org can be a
|
||||
replacement for anything similar to LibreOffice Writer, LibreOffice
|
||||
@@ -488,7 +488,7 @@ The capture templates are set like so:
|
||||
** Custom functions
|
||||
*** Emphasize text
|
||||
Sometimes, I want to emphasize some text in my org-mode documents.
|
||||
It’s very possible to just go to the begining of the chosen text, add
|
||||
It’s very possible to just go to the beginning of the chosen text, add
|
||||
the marker, then go to the end of the text than needs emphasis and add
|
||||
another marker, and I’m sure most people are fine with that. But I
|
||||
also like being able to select a region and hit a keybind to emphasize
|
||||
@@ -574,7 +574,7 @@ the value `split-window-right', then it will be changed to
|
||||
#+end_src
|
||||
|
||||
** Exporters
|
||||
I want to disable by default behavior of ~^~ and ~_~ for only one
|
||||
I want to disable by default behaviour of ~^~ and ~_~ for only one
|
||||
character, making it compulsory to use instead ~^{}~ and ~_{}~
|
||||
respectively. This is due to my frequent usage of the underscore in my
|
||||
org files as a regular character and not a markup one, especially when
|
||||
@@ -614,12 +614,6 @@ exported HTML. Let’s disable that since I never use it.
|
||||
(setq org-html-validation-link nil)
|
||||
#+END_SRC
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
;; (use-package htmlize
|
||||
;; :defer t
|
||||
;; :straight (:build t))
|
||||
#+end_src
|
||||
|
||||
This package allows for live-previewing the HTML export of an org
|
||||
buffer in an XWidget Webkit browser window. But when testing it, it’s
|
||||
not great for large org files, I should keep its usage for smaller org
|
||||
@@ -700,11 +694,11 @@ coloring is ~engraved~.
|
||||
(setq org-latex-src-block-backend 'engraved)
|
||||
#+end_src
|
||||
|
||||
The default packages break my LaTeX exports: for some reasons, images
|
||||
are not loaded and exported in PDFs, so I needed to redifine the
|
||||
The default packages break my LaTeX exports: for some reason, images
|
||||
are not loaded and exported in PDFs, so I needed to redefine the
|
||||
default packages excluding the one that broke my exports; namely, I
|
||||
need to remove ~inputenc~, ~fontenc~ and ~grffile~. I also added some default
|
||||
packages:
|
||||
need to remove ~inputenc~, ~fontenc~ and ~grffile~. I also added some
|
||||
default packages:
|
||||
- ~cleveref~ for better references to various elements.
|
||||
- ~svg~ for inserting SVG files in PDF outputs
|
||||
- ~booktabs~ for nicer tables
|
||||
@@ -927,9 +921,9 @@ Finally, let’s make enabling and disabling stuff accessible:
|
||||
:PROPERTIES:
|
||||
:header-args:emacs-lisp: :tangle no :exports code :results silent
|
||||
:END:
|
||||
I currently have two custom formats for my Org-mode exports: one for general use
|
||||
(initialy for my conlanging files, hence its ~conlang~ name), and one for beamer
|
||||
exports.
|
||||
I currently have two custom formats for my Org-mode exports: one for
|
||||
general use (initially for my conlanging files, hence its ~conlang~
|
||||
name), and one for beamer exports.
|
||||
|
||||
Below is the declaration of the ~conlang~ LaTeX class:
|
||||
#+NAME: org-latex-class-conlang
|
||||
|
||||
@@ -64,9 +64,9 @@ it is.
|
||||
|
||||
*** Databases
|
||||
A really cool tool in Emacs for manipulating databases is ~emacsql~.
|
||||
It’s able to manipulate Sqlite databases by default, but it’s also
|
||||
It’s able to manipulate SQLite databases by default, but it’s also
|
||||
possible to manipulate MariaDB and PostgreSQL databases by installing
|
||||
additional packages. For now, I just need Sqlite and PostgreSQL
|
||||
additional packages. For now, I just need SQLite and PostgreSQL
|
||||
interfaces, so let’s install the relevant packages.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package emacsql-psql
|
||||
@@ -257,7 +257,7 @@ I also want all the visual enhancements LSP can provide.
|
||||
"r" #'lsp-ui-pook--select-next-file))
|
||||
#+end_src
|
||||
|
||||
And let’s enable some intergration with ~ivy~.
|
||||
And let’s enable some integration with ~ivy~.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package lsp-ivy
|
||||
:straight (:build t)
|
||||
@@ -491,7 +491,7 @@ language [[http://www.gnuplot.info/][Gnuplot]]. Let’s make some beautiful grap
|
||||
#+end_src
|
||||
|
||||
*** Graphviz
|
||||
[[https://graphviz.org/][Graphviz]], often known with ~dot~, allows to programatically create
|
||||
[[https://graphviz.org/][Graphviz]], often known with ~dot~, allows to programmatically create
|
||||
visual graphs and networks.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package graphviz-dot-mode
|
||||
@@ -1243,7 +1243,7 @@ Access pydoc through counsel.
|
||||
#+end_src
|
||||
|
||||
This generates Python documentation that is meant to be compatible
|
||||
with Sphinx, a documentation generaton for Python.
|
||||
with Sphinx, a documentation generation for Python.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package sphinx-doc
|
||||
:defer t
|
||||
@@ -1402,7 +1402,7 @@ modifications.
|
||||
#+end_src
|
||||
|
||||
Web mode is a sort of hybrid major mode that allows editing several
|
||||
languages in the same buffer, mainly HTML, CSS, and Javascript.
|
||||
languages in the same buffer, mainly HTML, CSS, and JavaScript.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package web-mode
|
||||
:defer t
|
||||
@@ -1540,7 +1540,7 @@ activate when I open ~.less~ files by default. Let’s fix that.
|
||||
**** Javascript
|
||||
:END:
|
||||
~javascript-mode~ is meh at best, while ~rjsx-mode~ (Real JSX) is much
|
||||
better: it supports both Javascript and ~.jsx~ files for React and
|
||||
better: it supports both JavaScript and ~.jsx~ files for React and
|
||||
Next.JS.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package rjsx-mode
|
||||
@@ -1577,7 +1577,7 @@ Next.JS.
|
||||
js2-idle-timer-delay 0.15))
|
||||
#+end_src
|
||||
|
||||
~js2-refactor~ is an amazing tool for refactoring Javascript code. I
|
||||
~js2-refactor~ is an amazing tool for refactoring JavaScript code. I
|
||||
mean, [[https://www.youtube.com/watch?v=-7yMWD1wUu4][look at this]]! And the video is only from 2013, and it still
|
||||
receives some commits!
|
||||
#+begin_src emacs-lisp
|
||||
@@ -1589,8 +1589,8 @@ receives some commits!
|
||||
:hook (rjsx-mode . js2-refactor-mode))
|
||||
#+end_src
|
||||
|
||||
Which Emacser prefers the command line over Emacs itself? I don’t.
|
||||
Let’s interact with NPM through Emacs then.
|
||||
Is there any Emacser who prefers the command line over Emacs itself? I
|
||||
don’t. Let’s interact with NPM through Emacs then.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package npm-transient
|
||||
:defer t
|
||||
@@ -1605,7 +1605,7 @@ Let’s interact with NPM through Emacs then.
|
||||
;; "n" #'npm-transient))
|
||||
#+end_src
|
||||
|
||||
And finally, here is a formatter for Javascript.
|
||||
And finally, here is a formatter for JavaScript.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package prettier-js
|
||||
:defer t
|
||||
@@ -1618,7 +1618,7 @@ And finally, here is a formatter for Javascript.
|
||||
|
||||
**** Typescript
|
||||
:END:
|
||||
Typescript is a safer alternative to Javascript. Let’s install its major mode then.
|
||||
Typescript is a safer alternative to JavaScript. Let’s install its major mode then.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package typescript-mode
|
||||
:defer t
|
||||
@@ -1712,78 +1712,7 @@ First, here is its major mode.
|
||||
#+end_src
|
||||
|
||||
For LSP to work, we need ~zls~ to be installed. In my case, as I am on
|
||||
ArchLinux, I can install it from the AUR, and my AUR helper is ~paru~.
|
||||
Arch Linux, I can install it from the AUR, and my AUR helper is ~paru~.
|
||||
#+begin_src fish :results raw :wrap "src text" :exports code
|
||||
paru --skipreview --noconfirm -S zls-bin 2>&1
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
#+begin_src text
|
||||
:: Resolving dependencies...
|
||||
:: Calculating conflicts...
|
||||
:: Calculating inner conflicts...
|
||||
|
||||
Aur (1) Old Version New Version Make Only
|
||||
aur/zls-bin 0.10.0-1 No
|
||||
|
||||
:: Proceed with installation? [Y/n]:
|
||||
|
||||
:: Downloading PKGBUILDs...
|
||||
PKGBUILDs up to date
|
||||
fetching devel info...
|
||||
==> Making package: zls-bin 0.10.0-1 (ven. 19 mai 2023 11:23:59)
|
||||
==> Retrieving sources...
|
||||
-> Downloading zls-LICENSE.txt...
|
||||
% Total % Received % Xferd Average Speed Time Time Time Current
|
||||
Dload Upload Total Spent Left Speed
|
||||
|
||||
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
|
||||
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
|
||||
100 1091 100 1091 0 0 3596 0 --:--:-- --:--:-- --:--:-- 3600
|
||||
-> Downloading zls-bin-0.10.0.tar.gz...
|
||||
% Total % Received % Xferd Average Speed Time Time Time Current
|
||||
Dload Upload Total Spent Left Speed
|
||||
|
||||
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
|
||||
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
|
||||
|
||||
56 1477k 56 827k 0 0 1164k 0 0:00:01 --:--:-- 0:00:01 1164k
|
||||
100 1477k 100 1477k 0 0 2012k 0 --:--:-- --:--:-- --:--:-- 27.5M
|
||||
==> Validating source files with sha256sums...
|
||||
zls-LICENSE.txt ... Passed
|
||||
==> Validating source_x86_64 files with sha256sums...
|
||||
zls-bin-0.10.0.tar.gz ... Passed
|
||||
==> Making package: zls-bin 0.10.0-1 (ven. 19 mai 2023 11:24:02)
|
||||
==> Checking runtime dependencies...
|
||||
==> Checking buildtime dependencies...
|
||||
==> Retrieving sources...
|
||||
-> Found zls-LICENSE.txt
|
||||
-> Found zls-bin-0.10.0.tar.gz
|
||||
==> Validating source files with sha256sums...
|
||||
zls-LICENSE.txt ... Passed
|
||||
==> Validating source_x86_64 files with sha256sums...
|
||||
zls-bin-0.10.0.tar.gz ... Passed
|
||||
==> Removing existing $srcdir/ directory...
|
||||
==> Extracting sources...
|
||||
-> Extracting zls-bin-0.10.0.tar.gz with bsdtar
|
||||
==> Sources are ready.
|
||||
zls-bin-0.10.0-1: parsing pkg list...
|
||||
:: zls-bin-0.10.0-1 is up to date -- skipping build
|
||||
loading packages...
|
||||
resolving dependencies...
|
||||
looking for conflicting packages...
|
||||
|
||||
Package (1) New Version Net Change
|
||||
|
||||
zls-bin 0.10.0-1 1,36 MiB
|
||||
|
||||
Total Installed Size: 1,36 MiB
|
||||
|
||||
:: Proceed with installation? [Y/n]
|
||||
checking keyring...
|
||||
checking package integrity...
|
||||
loading package files...
|
||||
checking for file conflicts...
|
||||
checking available disk space...
|
||||
:: Processing package changes...
|
||||
installing zls-bin...
|
||||
|
||||
@@ -122,10 +122,8 @@ of our symbols when the cursor is on it.
|
||||
#+end_src
|
||||
|
||||
** Ligatures
|
||||
The font I’m using (see *here*) supports ligatures, but Emacs in GUI
|
||||
mode does not. And of course, there’s a package for that.
|
||||
|
||||
# Insert equivalent of #Basic-configuration-Visual-Configuration-Fontsxfkjel6184j0 in *here*
|
||||
The font I’m using supports ligatures, but Emacs in GUI mode does not.
|
||||
And of course, there’s a package for that.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ligature
|
||||
@@ -175,9 +173,8 @@ The DoomEmacs modeline looks nice in my opinion, let’s use it.
|
||||
#+end_src
|
||||
|
||||
** Pixel-perfect alignment of Markdown and org-mode tables
|
||||
:END:
|
||||
Usually, I have no issue with the alignment of the tables I write in
|
||||
org-mode and (more rarely) Markdown. However, there are occurences
|
||||
org-mode and (more rarely) Markdown. However, there are occurrences
|
||||
where I’ll use a character that does not exactly respect my monospace
|
||||
font, which messes with the alignment of the table (often when I do
|
||||
linguistics stuff). A solution to this is the package ~valign~. A little
|
||||
@@ -215,7 +212,7 @@ sometimes there’s just too much. Is the first window source code? Is
|
||||
the other one just an open email? Oh, let’s not forget the ~*Messages*~
|
||||
buffer open next to another source buffer.
|
||||
|
||||
Solaire-mode applies a subtle but useful tweak to your current color
|
||||
Solaire-mode applies a subtle but useful tweak to your current colour
|
||||
scheme: the background of programming buffers is slightly lighter than
|
||||
the background of other buffers. (Or is it other buffers that have a
|
||||
slightly darker background? I’m not sure.)
|
||||
@@ -229,7 +226,7 @@ slightly darker background? I’m not sure.)
|
||||
** Theme
|
||||
You may have noticed I use the Nord theme pretty much everywhere on my
|
||||
computer, why not Emacs? In my opinion, its aurora variant is nicer
|
||||
than the default Nord theme since it is richer in colors --- just a
|
||||
than the default Nord theme since it is richer in colours --- just a
|
||||
personal preference.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package doom-themes
|
||||
@@ -248,9 +245,9 @@ for any language that has delimiters like brackets too.
|
||||
:hook (prog-mode . rainbow-delimiters-mode))
|
||||
#+end_src
|
||||
|
||||
** Y’all want some more /COLORS/?
|
||||
It is possible to make info buffers much more colorful (and imo easier
|
||||
to read) with this simple package:
|
||||
** Y’all want some more /COLOURS/?
|
||||
It is possible to make info buffers much more colourful (and, in my
|
||||
opinion, easier to read) with this simple package:
|
||||
#+begin_src emacs-lisp
|
||||
(use-package info-colors
|
||||
:straight (:build t)
|
||||
|
||||
Reference in New Issue
Block a user