Compare commits
12 Commits
33e63ccda2
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 735ef5225f | |||
| bd69a49bb5 | |||
| 111f9b710d | |||
| 686d6c94b6 | |||
| 33b44f11a0 | |||
| 314dd4aad6 | |||
|
|
e154958555 | ||
|
|
761d721b01 | ||
|
|
aa38142263 | ||
|
|
bb56509a21 | ||
| 05127bceae | |||
| 396beb4262 |
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[submodule "fasm-mode"]
|
||||||
|
path = fasm-mode
|
||||||
|
url = https://github.com/GabrielFrigo4/fasm-mode
|
||||||
110
config.org
110
config.org
@@ -399,6 +399,18 @@
|
|||||||
(setq org-adapt-indentation t)
|
(setq org-adapt-indentation t)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
* Multiple Cursors
|
||||||
|
I have been converted by Tsoding.
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package multiple-cursors
|
||||||
|
:config
|
||||||
|
(global-set-key (kbd "C-S-c C-S-c") 'mc/edit-lines)
|
||||||
|
(global-set-key (kbd "C->") 'mc/mark-next-like-this)
|
||||||
|
(global-set-key (kbd "C-<") 'mc/mark-previous-like-this)
|
||||||
|
(global-set-key (kbd "C-c C-<") 'mc/mark-all-like-this))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
* Language Integrations
|
* Language Integrations
|
||||||
** Generic
|
** Generic
|
||||||
Generally, 8-character-wide tabs are not my thing.
|
Generally, 8-character-wide tabs are not my thing.
|
||||||
@@ -541,12 +553,6 @@
|
|||||||
(use-package rust-mode)
|
(use-package rust-mode)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Then =rust-analyzer= via LSP does the rest :)
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(add-hook 'rust-mode-hook #'lsp-deferred)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Lisps
|
** Lisps
|
||||||
*** Common Lisp
|
*** Common Lisp
|
||||||
Use SLIME and Quicklisp for Common Lisp (SBCL).
|
Use SLIME and Quicklisp for Common Lisp (SBCL).
|
||||||
@@ -791,13 +797,6 @@
|
|||||||
(use-package crontab-mode)
|
(use-package crontab-mode)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Python
|
|
||||||
Going to use LSP for Python:
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(add-hook 'python-mode-hook #'lsp-deferred)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Ada
|
** Ada
|
||||||
*** Old ada-mode
|
*** Old ada-mode
|
||||||
Unfortunately, the =ada-mode= on ELPA is hot garbage. It requires
|
Unfortunately, the =ada-mode= on ELPA is hot garbage. It requires
|
||||||
@@ -1049,6 +1048,55 @@
|
|||||||
(add-hook 'before-save-hook 'gofmt-before-save)))
|
(add-hook 'before-save-hook 'gofmt-before-save)))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Forth
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package forth-mode)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Fasm
|
||||||
|
The =fasm-mode= package wasn't on MELPA or ELPA, so I've instead
|
||||||
|
added it as a submodule of this repo. We therefore need to add it
|
||||||
|
to the load path:
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(let* ((home (getenv "HOME"))
|
||||||
|
(path (concat home "/.emacs.d/fasm-mode")))
|
||||||
|
(add-to-list 'load-path path))
|
||||||
|
(autoload 'fasm-mode "fasm-mode")
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
And then use it for =.asm= files:
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(add-to-list 'auto-mode-alist '("\\.asm\\'" . fasm-mode))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** OCaml
|
||||||
|
For some reason the OCaml support package is called =tuareg=??
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package tuareg)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
OCaml also has its own build system, Dune. There's also a mode for
|
||||||
|
Dune's files:
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package dune)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Vala
|
||||||
|
=vala-mode= provides everything I need:
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package vala-mode)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** ASN.1
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package asn1-mode)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
* Tool Integrations
|
* Tool Integrations
|
||||||
** Git
|
** Git
|
||||||
=magit= is truly a wonderful creation! Add keybinding for
|
=magit= is truly a wonderful creation! Add keybinding for
|
||||||
@@ -1089,6 +1137,16 @@
|
|||||||
leave it at that for now as I'm not sure precisely what behaviour
|
leave it at that for now as I'm not sure precisely what behaviour
|
||||||
I'd want.
|
I'd want.
|
||||||
|
|
||||||
|
Magit also doesn't seem to provide a means of specifying the =-S=
|
||||||
|
flag for commit signing (only =--gpg-sign==) so I need to add that:
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(eval-after-load 'magit
|
||||||
|
'(progn
|
||||||
|
(transient-append-suffix 'magit-commit "-C"
|
||||||
|
'("-S" "Sign commit" "-S"))))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** Docker
|
** Docker
|
||||||
I use docker quite a lot, unfortunately, so it's nice to be able to
|
I use docker quite a lot, unfortunately, so it's nice to be able to
|
||||||
spawn containers etc from Emacs. The =docker= package provides a
|
spawn containers etc from Emacs. The =docker= package provides a
|
||||||
@@ -1365,6 +1423,23 @@
|
|||||||
|
|
||||||
I think that's all I need for now!
|
I think that's all I need for now!
|
||||||
|
|
||||||
|
** Maxima
|
||||||
|
Maxima is an absolutely amazing tool for mathematical symbolic
|
||||||
|
processing. And to make matters better, it's lispy. It's giving
|
||||||
|
old school expert system but make it actually astonishingly useful
|
||||||
|
type shit.
|
||||||
|
|
||||||
|
The =maxima= package provides good Emacs integration, with syntax
|
||||||
|
highlighting for the DSL and a nice inferior process mode for the
|
||||||
|
interpreter. Files for the DSL conventionally have the ".mac"
|
||||||
|
extension, so want to open those files in =maxima-mode=.
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package maxima
|
||||||
|
:mode ("\\.mac\\'" . maxima-mode)
|
||||||
|
:interpreter ("maxima" . maxima-mode))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
* Backup and Autosave
|
* Backup and Autosave
|
||||||
** Keep $PWD Tidy
|
** Keep $PWD Tidy
|
||||||
Emacs' default behaviour of dumping temporary files in the current
|
Emacs' default behaviour of dumping temporary files in the current
|
||||||
@@ -1429,6 +1504,15 @@
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Misc
|
* Misc
|
||||||
|
** Global key for [[help:align-regexp][align-regexp]]
|
||||||
|
I didn't know it was a thing but now that I do, I need a
|
||||||
|
keybinding. Hopefully it doesn't conflict with too many things
|
||||||
|
haha.
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(global-set-key (kbd "C-c a") 'align-regexp)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** God mode
|
** God mode
|
||||||
God mode essentially makes Emacs a bit more VI-like by introducing
|
God mode essentially makes Emacs a bit more VI-like by introducing
|
||||||
a mode where modifier keys are implicitly held down, thereby
|
a mode where modifier keys are implicitly held down, thereby
|
||||||
|
|||||||
1
fasm-mode
Submodule
1
fasm-mode
Submodule
Submodule fasm-mode added at d6578064bc
Reference in New Issue
Block a user