Compare commits

...

3 Commits

View File

@ -1,4 +1,4 @@
#+title: Emacs setup for use with LaTeX, Lisp, Org, and Python
#+title: Emacs setup for use with Go, LaTeX, Lisp, Org, and Python
#+author: Gerard Vermeulen
#+latex_class: article-local
#+latex_class_options: [11pt,a4paper,english,svgnames]
@ -19,7 +19,7 @@
:CUSTOM_ID: sec:copying
:END:
This README contains my Emacs setup for use with LaTeX, Lisp, Org, and Python.
This README contains my Emacs setup for use with Go, LaTeX, Lisp, Org, and Python.
Copyright \copy 2021-2023 Gerard Vermeulen.
@ -37,7 +37,7 @@ the section entitled "GNU Free Documentation License".
:CUSTOM_ID: sec:quick-start
:END:
This setup requires at least Emacs-29.0.60. Backup the =user-emacs-directory=
This setup requires at least Emacs-29.0.90. Backup the =user-emacs-directory=
(defaults often to =~/.emacs.d= on =Linux=, =Unix=, or =Darwin=) and execute the
commands in listing [[lst:prepare-user-emacs-directory-with-https][prepare the =user-emacs-directory= without =ssh= access]] or
in listing [[lst:prepare-user-emacs-directory-with-ssh][prepare the =user-emacs-directory= with =ssh= access]]. After invoking
@ -219,8 +219,8 @@ recommendation of [[info:emacs#Saving Customizations][saving customizations (inf
;;; Code:
(require 'cl-lib)
(when (version< emacs-version "29.0.60")
(error "This `init.el' requires at least Emacs-29.0.60"))
(when (version< emacs-version "29.0.90")
(error "This `init.el' requires at least Emacs-29.0.90"))
(setopt
after-save-hook #'executable-make-buffer-file-executable-if-script-p
@ -641,10 +641,6 @@ and [[lst:3rd-window-management]] implement a selection of his recommendations.
#+begin_src emacs-lisp -n :results silent
(with-eval-after-load 'emacs
;; https://www.masteringemacs.org/article/demystifying-emacs-window-manager
(when (version< "29.0.0" emacs-version)
(setopt switch-to-buffer-in-dedicated-window 'pop
switch-to-buffer-obey-display-actions t))
(add-to-list 'display-buffer-alist
`(,(rx (or "*Apropos*"
"*Help*"
@ -3526,7 +3522,7 @@ inclusion (info)]] and [[info:org#Noweb Reference Syntax][noweb (info)]] tricker
\fancyhf{}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[C]{\emph{
Emacs setup for use with \LaTeX{}, Lisp, Org, and Python -- Gerard Vermeulen
Emacs for Go, \LaTeX{}, Lisp, Org, and Python -- Gerard Vermeulen
}
}
\renewcommand{\headrulewidth}{0.4pt}
@ -3546,7 +3542,7 @@ inclusion (info)]] and [[info:org#Noweb Reference Syntax][noweb (info)]] tricker
\fancyhf{}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[C]{\emph{
Emacs setup for use with \LaTeX{}, Lisp, Org, and Python -- Gerard Vermeulen
Emacs for Go, \LaTeX{}, Lisp, Org, and Python -- Gerard Vermeulen
}
}
\renewcommand{\headrulewidth}{0.4pt}
@ -3920,7 +3916,7 @@ Listing [[lst:configure-writegood-mode]] configures [[https://github.com/bnbeckw
:END:
[[https://github.com/joaotavora/eglot#readme][Emacs polyGLOT (Eglot)]] is an Emacs language-server-protocol client that stays
out of your way. [[info:eglot#Top][Eglot (info)]] is a builtin since Emacs-29.0.60. The following
out of your way. [[info:eglot#Top][Eglot (info)]] is a builtin since Emacs-29.0.90. The following
listings contribute to a programming language mode independent [[https://github.com/joaotavora/eglot][Eglot]]
configuration:
1. Listing [[lst:minimal-eglot-setup][minimal Eglot setup]] ensures installation of [[https://github.com/joaotavora/eglot][Eglot]], shows how to get
@ -4833,7 +4829,7 @@ print(1+1);
The [[https://www.emacswiki.org/emacs/PythonProgrammingInEmacs][Python Programming in Emacs]] wiki page lists options to enhance Emacs's
built-in ~python-mode~. Here, the focus is on two Emacs packages and four Python
packages:
1. [[#sec:eglot][Eglot - Emacs polyGLOT: a builtin LSP client since Emacs-29.0.60]]. The
1. [[#sec:eglot][Eglot - Emacs polyGLOT: a builtin LSP client since Emacs-29.0.90]]. The
maintainer also contributes to Emacs itself and has a deep understanding of
[[https://sheer.tj/the_way_of_emacs.html][the Way of Emacs]]. He refuses to add new features without seeing how they fit
into [[https://sheer.tj/the_way_of_emacs.html][the Way of Emacs]] as this discussion on [[https://github.com/joaotavora/eglot/issues/523][org-mode source code blocks]]
@ -5611,6 +5607,9 @@ configures =code-cells=.
(keymap-set map "C-c C-c" #'code-cells-eval))))
#+end_src
*** TODO Look into: editing facilities
1. [[https://github.com/douglasdavis/numpydoc.el/blob/main/numpydoc.el][Emacs extension to insert numpy style docstrings in function definitions]]
** [[https://en.wikibooks.org/wiki/Scheme_Programming][Scheme Programming]]
:PROPERTIES:
:CUSTOM_ID: sec:scheme-programming
@ -5633,9 +5632,6 @@ curl https://3e8.org/pub/chicken-doc/chicken-doc-repo-5.tgz | sudo tar zx
(setopt geiser-chez-binary (executable-find "chez")))
#+end_src
*** TODO Look into: editing facilities
1. [[https://github.com/douglasdavis/numpydoc.el/blob/main/numpydoc.el][Emacs extension to insert numpy style docstrings in function definitions]]
* [[https://github.com/emacs-tw/awesome-emacs#library][Libraries]]
:PROPERTIES:
:CUSTOM_ID: sec:libraries