Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Always open tracking pull request to notify me about commits to upstream master #5

Draft
wants to merge 435 commits into
base: deliberately-stale
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
435 commits
Select commit Hold shift + click to select a range
0415df9
Turn off anaconda-eldoc-mode along with anaconda-mode
purcell Aug 29, 2020
80289b4
Ignore smex-items file
purcell Aug 29, 2020
a3b9393
Tidy up init-elpa
purcell Sep 12, 2020
ea6b2ba
Disable counsel-yank-pop
purcell Sep 12, 2020
bcba894
Stop using cua-selection-mode
purcell Sep 12, 2020
02db6b1
Reformat init-editing-utils
purcell Sep 12, 2020
edd084a
I just don't use expand-region
purcell Sep 12, 2020
754a3ce
Previous formulation of maybe-require-package was better
purcell Sep 12, 2020
42f270c
Don't test so many version on MacOS
purcell Sep 12, 2020
b5b1503
Fix broken matrix spec
purcell Sep 12, 2020
ce57d8b
Make tab completion bring up company
purcell Sep 26, 2020
bf65ab2
Add ocaml support
purcell Oct 14, 2020
5dd4bce
Ignore gccemacs native compilation cache dir
purcell Oct 18, 2020
63cd121
Change C-c C-l in ruby-mode to work more like in other langs
purcell Oct 18, 2020
0fc6ff7
Prefix more personal functions with "sanityinc/"
purcell Oct 18, 2020
b47e7ef
Add docstring
purcell Oct 18, 2020
69a47ae
Make httprepl understand images
purcell Oct 18, 2020
60a0adb
Resize windows and frames pixelwise if possible
purcell Oct 18, 2020
82de7b9
Use so-long for very large files when available
purcell Oct 18, 2020
1d21132
Remove some multiple-cursors bindings I don't use
purcell Oct 18, 2020
b8948ae
Make "q" kill the debugger, not bury it
purcell Oct 18, 2020
cdb7f8a
Enable merlin xref backend in ocaml buffers
purcell Oct 26, 2020
75b3c24
Ensure ~/.emacs.d/site-lisp is in load-path
purcell Nov 16, 2020
4c81c50
Small tidy-up of init-site-lisp
purcell Nov 17, 2020
8344796
Fix incorrect org command bindings
purcell Jan 5, 2021
e3b067a
More reliably enable delete-selection-mode
purcell Jan 10, 2021
90b8fd2
Switch from ivy/counsel to selectrum/consult/embark
purcell Jan 13, 2021
1392c8c
Add basic support for the J programming language
purcell Jan 13, 2021
0c23b05
Require Emacs 25.1
purcell Jan 13, 2021
965e592
Bump version of github action
purcell Jan 13, 2021
a4115c2
Don't fail fast in CI build
purcell Jan 13, 2021
89f3354
Revert "Switch from ivy/counsel to selectrum/consult/embark" for now
purcell Jan 13, 2021
cd2be4d
Switch from ivy+counsel+smex to selectrum+consult+embark+prescient
purcell Jan 14, 2021
99961e1
Don't restore counsel-mode or ivy-mode via desktop.el
purcell Jan 14, 2021
df2c303
Merge pull request #766 from purcell/ivy-to-selectrum
purcell Jan 15, 2021
c59be0a
Remove commented-out cruft
purcell Jan 15, 2021
a2d8d6e
Trim unnecessary parts out of selectrum config
purcell Jan 15, 2021
0aac95b
For conditionals, need `maybe-require-package`
purcell Jan 15, 2021
0e9861d
Default to embark-act-noexit
purcell Jan 15, 2021
23c40e6
Fix config for embark-consult
purcell Jan 15, 2021
a423aab
Provide sanityinc/consult-ripgrep-at-point for M-? binding
purcell Jan 26, 2021
a238c39
Disable some auto-compile cleanup to minimise org startup time
purcell Jan 26, 2021
640d0af
embark-act-noexit has been removed upstream
purcell Feb 9, 2021
18816a9
Allow require-package to upgrade a package if min-version given
purcell Feb 17, 2021
e78c2b9
Workaround for company menu with page-break-lines is now redundant
purcell Feb 22, 2021
ed11943
Work around selectrum minibuffer height issue
purcell Feb 22, 2021
c53fc4f
Add support for ocaml's "dune" build tool
purcell Mar 4, 2021
61fb604
Update note about using pyvenv, see #774
purcell Mar 12, 2021
5f324a7
Pre-declare url-show-status var in startup script
purcell Mar 12, 2021
0cd0ca8
Zap-up-to-char has been autoloaded for 5 years now
purcell Mar 16, 2021
9f506ab
move-dup commands have been renamed
purcell Mar 16, 2021
2f068fc
Support company margin icons
purcell Mar 29, 2021
0b5c4b5
Prefer consult-goto-line to goto-line-preview
purcell Mar 31, 2021
90aef26
Add Emacs 27.2 to CI
purcell Mar 31, 2021
130b24e
Tweaks to consult config
purcell Apr 1, 2021
f36c1db
Use new dune-format package extracted from this config
purcell Apr 12, 2021
476728f
Remove defunct company-elm package
purcell Apr 12, 2021
cde8b07
Divide code sections consistently
purcell Apr 12, 2021
090b799
init-ocaml: remove merlin-mode code no longer required since upstream…
purcell Apr 12, 2021
4b16a4c
init-ocaml: better handling of merlin-company
purcell Apr 12, 2021
5fc677d
init-ocaml: add incantations for using ocamllsp with eglot
purcell Apr 12, 2021
7fc76f7
Don't remap yank-pop to consult-yank-replace
purcell Apr 23, 2021
bad8ac6
Don't automatically preview consult ripgrep commands
purcell Apr 23, 2021
2739790
Clarify why users should update packes regularly
purcell Apr 23, 2021
47b66ae
Update copyright year
purcell Apr 23, 2021
55c2d42
Don't override company-format-margin-function
purcell May 13, 2021
0d980c8
Switch from selectrum to vertico for minibuffer completion
purcell May 25, 2021
fce8029
Drop daemons package, which I don't use
purcell May 25, 2021
962b988
Don't override default company backends
purcell May 25, 2021
2e24253
Define function inside conditional block which uses it
purcell May 25, 2021
fae9938
Use manual rather than automatic previews with affe-grep
purcell May 27, 2021
c23b081
Drop redundant setting of obsolete marginalia-annotators var
purcell May 28, 2021
cfa5feb
Better defaults for completion-styles, for more natural ordering
purcell May 29, 2021
5e2cda9
Only override completion-styles in minibuffer
purcell Jun 20, 2021
7b55c41
More neatly and completely disable file-jumping consult previews
purcell Jun 27, 2021
7271557
Work around consult-customize insisting customized commands are loaded
purcell Jun 27, 2021
8583325
Remove stack-exec-path-mode, which I no longer use
purcell Jul 5, 2021
adf337d
Fix deprecated params passed to define-minor mode (fixes #780)
purcell Jul 5, 2021
03bcd27
Drop obsolete cl-lib-highlight package
purcell Jul 19, 2021
58ba9e0
Fix dangling reference to removed stack-exec-path-mode
purcell Aug 10, 2021
85ce260
Use locate-user-emacs-file where applicable
purcell Aug 22, 2021
ee74d75
Don't load ob-* modules that can't be located
purcell Oct 9, 2021
64695dd
Prefer cl-incf to incf
purcell Oct 21, 2021
4699f24
Use new bundled git-modes package
purcell Oct 21, 2021
195386b
Don't load company backend for nixos-options until nix-mode is needed
purcell Oct 21, 2021
b3ac702
Add "-" arg to make black reformatter read from stdin
arthurl Nov 6, 2021
a42311c
Merge pull request #796 from arthurl/arthur/fix-black-reformatter-config
purcell Nov 7, 2021
e81e69a
Fix consult-buffer error
moonpole Feb 9, 2022
dc8a9e3
Merge pull request #801 from moonpole/master
purcell Feb 12, 2022
adc5d50
$PATH for PGTK window
archer-n Mar 3, 2022
86d99e3
Merge pull request #804 from archer-n/master
purcell Mar 4, 2022
7c58616
Switch from flycheck to flymake (but with flymake-flycheck)
purcell Mar 13, 2022
5ebfbeb
Add eglot config for LSP, and remove some pre-LSP tool support
purcell Mar 13, 2022
e3ea4fa
Note provision of LSP support with eglot
purcell Mar 13, 2022
23eb550
Avoid problematic wrangling of flymake-eldoc-function
purcell Mar 13, 2022
a3689ba
Require a relatively recent flymake
purcell Mar 13, 2022
d5a8f36
Remove unnecessary setting of js2-basic-offset
purcell Mar 13, 2022
f80fbe5
Add slime contrib path
purcell Mar 14, 2022
88aa603
Don't try to maintain any pointers to other configs
purcell Mar 14, 2022
259323b
Switch from browse-at-remote to git-link
purcell Mar 14, 2022
521829c
Ignore "~/.emacs.d/projects" save file
purcell Mar 14, 2022
44a30d5
Handle stringy min-versions in require-package
purcell Mar 31, 2022
4befed1
Drop racer from rust config
purcell Apr 8, 2022
0101e9e
Let docstrings and flymake popups coexist in the echo area
purcell Apr 15, 2022
840cd1d
Drop modification of racer-mode-hook
purcell Apr 28, 2022
b484cad
Don't override eldoc-documentation-function in Emacs < 28
purcell May 10, 2022
5ed2eee
Switch from company to corfu for completion
purcell Jul 22, 2022
6a22755
Don't set completion-styles locally in minibuffer
purcell Jul 22, 2022
e23ae9e
Account for csv-mode requiring newer Emacs versions
purcell Jul 22, 2022
03bd3ce
orderless isn't compatible with older emacsen
purcell Jul 22, 2022
ac935b1
Add Emacs 28.1 to CI
purcell Jul 22, 2022
a3a98a1
Emphasise that basic functionality may break in older Emacsen
purcell Jul 23, 2022
6190c87
Drop support for Emacs 25.x
purcell Jul 23, 2022
b0cc9ea
Disable corfu-auto in eshell-mode
purcell Aug 26, 2022
a8f2a45
Show flymake message first in eldoc, so it isn't hidden when using eglot
purcell Sep 8, 2022
aeb16fe
Prefer load-library to featurep when checking for available ob- libs
purcell Nov 18, 2022
f454802
Set ledger-mode-should-check-version to nil
purcell Nov 23, 2022
80ead24
Remove beacon to stop CI from breaking (see #87)
purcell Nov 25, 2022
6eec82f
Update config for corfu info popups
purcell Nov 29, 2022
a9e0eb8
Allow extra args in advised function
purcell Jan 17, 2023
289a748
[minibuffer] Fix "Invalid preview key" message in minibuffer
c6c7 Feb 13, 2023
3661217
Merge pull request #836 from c6c7/master
purcell Feb 13, 2023
678073d
When using rg for projectile file lists, print with nulls
purcell Feb 24, 2023
0297f15
Bind C-h A to describe-face
purcell Mar 29, 2023
fc2aa35
Use "nil" as the language server for nix-mode
purcell Mar 29, 2023
7507f17
Don't override RET binding globally, just rely on electric-indent
purcell Jun 6, 2023
1b18fd2
Prefer derived-mode-p when checking major-mode
purcell Jun 8, 2023
2e1c51d
Remove now-redundant eglot server override for tuareg-mode
purcell Jun 8, 2023
e76fb18
Remove default binding of RET in paredit-mode
purcell Jun 8, 2023
9b7ddc5
Upgrade granularity of magit diffs
purcell Jun 8, 2023
5f1ef30
Prefer "when" to "if" with no "else" branch
purcell Jun 28, 2023
9d80c30
Unconditionally load corfu-popupinfo
purcell Jul 10, 2023
6c88ee2
Add keybinding for flymake-show-buffer-diagnostics
purcell Jul 28, 2023
04ad959
Add basic treesitter support
purcell Aug 2, 2023
29f07b5
Fix snippet for treesitter remapping of js2-mode
purcell Aug 2, 2023
b53dc60
Alter clojure-ts-mode-hook along with clojure-mode-hook
purcell Aug 2, 2023
1506a90
Make treesitter auto-configuration code clearer
purcell Aug 2, 2023
048f7bd
Add Emacs 29.1 to CI, don't fail if Emacs HEAD fails
purcell Aug 2, 2023
9819951
Fix actions
purcell Aug 2, 2023
76a7050
Only run CI on Linux
purcell Aug 2, 2023
5050cb5
Fix bindings inside when-let
purcell Aug 2, 2023
f67b76f
Add dependabot config to get automatic Actions updates
purcell Aug 2, 2023
7ce2be5
chore(deps): bump actions/checkout from 2 to 3
dependabot[bot] Aug 2, 2023
989e37d
Merge pull request #847 from purcell/dependabot/github_actions/action…
purcell Aug 2, 2023
5d11407
Switch back from affe to consult-ripgrep
purcell Aug 4, 2023
e4ee065
Turn off consult preview for my consult-ripgrep wrapper too
purcell Aug 9, 2023
db0ebae
Don't set defunct consult config var
purcell Aug 9, 2023
2c76710
Restore M-<up> binding for paredit
purcell Aug 9, 2023
7a34484
More aggressively try to load treesit to judge its presence
purcell Aug 10, 2023
b9ec84c
Avoid duplicate flymake checkers when using flymake-flycheck
purcell Aug 10, 2023
6163387
When we have clojure-ts-mode, prefer clojurescript-ts-mode too
purcell Aug 11, 2023
e4df223
Add flymake-actionlint
purcell Aug 11, 2023
4bc86df
Remove defunct local patch for dash-at-point
purcell Aug 11, 2023
d71e9be
Add corfu-terminal-mode
purcell Aug 11, 2023
2f49e47
Properly enable paredit in lispy modes: had been unintentionally broken
purcell Aug 11, 2023
5f8d650
Enable pixel-scroll-precision-mode if available
purcell Aug 13, 2023
86befb5
No subword-mode in clojure-mode
purcell Aug 13, 2023
8d3ccb2
Remove misleading lists of lispy-modes
purcell Aug 13, 2023
1fe8f0d
Soft-fail when corfu-terminal is uninstallable, e.g. in Emacs 27
purcell Aug 14, 2023
7b174a5
Be more cautious before loading treesitter config
purcell Aug 16, 2023
4291138
Remove defunct references to init-*.el files
purcell Aug 17, 2023
aa0d9d9
Use nix-ts-mode, drop unused nix-related packages, tidy up treesitter…
purcell Aug 21, 2023
97f5438
Set up xref-js2 in all the JS modes
purcell Aug 23, 2023
b6e5c6c
Fix mistake in prior commit
purcell Aug 23, 2023
ba42e33
Use add-hook for eldoc-documentation-functions
purcell Aug 26, 2023
bc039c5
Suppress flycheck backend for shellcheck: we have a flymake equivalent
purcell Aug 26, 2023
1a0ca90
Enable slime-autodoc, remove slime load-path hacks
purcell Aug 26, 2023
ef94ad7
Move lua config to its own init-lua.el
purcell Aug 26, 2023
9eacae9
Use rename-visited-file instead of rename-this-file-and-buffer when a…
purcell Aug 26, 2023
2e29e5f
chore(deps): bump actions/checkout from 3 to 4
dependabot[bot] Sep 5, 2023
aae26a2
Merge pull request #851 from purcell/dependabot/github_actions/action…
purcell Sep 5, 2023
324d049
Remove obsolete patch
purcell Aug 29, 2023
c6ff1f2
Set use-short-answers
purcell Oct 15, 2023
5669488
Ignore forge sqlite DBs
purcell Oct 15, 2023
d2cf337
Avoid setopt for now (fixes #852)
purcell Oct 23, 2023
34acf91
Add Emacs 28.2 to CI matrix
purcell Oct 23, 2023
28194a0
Better setup for nix-ts-mode
purcell Oct 29, 2023
4407496
Use new flymake-flycheck-auto function
purcell Oct 29, 2023
91371a6
Fix outdated "pev" link in init-sql.el
purcell Oct 29, 2023
699a47d
Prefer qwerty style for switch-window shortcuts
purcell Oct 29, 2023
8c7aaff
Check quietly for treesitter grammar presence
purcell Nov 1, 2023
49d4940
Add flymake-ruff for Python
purcell Nov 1, 2023
a108411
Fix bootstrapping issue in Emacs 29 with seq
purcell Nov 1, 2023
cdaf016
Move seq fix for bootstrapping issue
purcell Nov 2, 2023
577b105
Better workaround for seq-25 loading woes in first-time startup
purcell Nov 2, 2023
bab418c
Add very basic config for eat
purcell Nov 6, 2023
0fec996
Preserve default binding of M-w in eat-semi-char-mode
purcell Nov 8, 2023
3dc9b7b
Link from workarount to corresponding emacs bug
purcell Nov 9, 2023
4685c9e
Only apply workaround for "seq" reloading bug in Emacs 29.1
purcell Nov 10, 2023
ba83201
Drop psc-ide for purescript
purcell Nov 22, 2023
5c6f0fa
Choose different display-fill-column-indicator-character
purcell Nov 22, 2023
39f4067
Add "just" support
purcell Nov 22, 2023
d185dd4
Use consult-line for "occur" during isearch
purcell Nov 22, 2023
72ac822
Add ruff-format
purcell Nov 22, 2023
1cf308d
Switch from slime to sly
purcell Nov 22, 2023
f3fbd87
Add key bindings "C-M-[" and "C-M-]" for navigating between diff-hl h…
purcell Nov 26, 2023
7f0b8ee
Tidy up some treesitter initialisation
purcell Nov 30, 2023
93c60dd
Don't rely on `flymake-ruff-program` too early
purcell Dec 11, 2023
4ea0b79
Also unbind M-. in js-ts-mode (see #850)
purcell Dec 11, 2023
cd915db
Drop faulty reference to set-up-sly-hippie-expand
purcell Dec 14, 2023
c7f85d6
Enable repeat-mode
purcell Dec 23, 2023
b1ac6a9
Only use M-S-up / M-S-down for moving lines with move-dup
purcell Dec 23, 2023
9cb7f5c
Add config for puni
purcell Dec 23, 2023
f3815e6
Better incantation for adding M-w to eat-semi-char-non-bound-keys
purcell Dec 23, 2023
ac39b97
Simplify uiua config
purcell Dec 23, 2023
e2ae3cd
Drop consult-flycheck, since this config uses flymake primarily
purcell Jan 2, 2024
45dc1f2
Fix a couple of messy file footers, fixes #857
purcell Jan 11, 2024
4daee43
Remove defunct macro alias
purcell Jan 25, 2024
0b82e28
Performance tuning tweaks
purcell Jan 26, 2024
d7e5e9c
Enable package-native-compile
purcell Jan 26, 2024
1a01db7
Don't override C-o
purcell Jan 26, 2024
376071d
Enable goto-address-prog-mode in conf-mode
purcell Jan 26, 2024
86c0fb2
Better formulation of form that sets use-short-answers
purcell Jan 26, 2024
9bc1af1
Add Emacs 29.2 to CI matrix
purcell Jan 30, 2024
674341e
Remove skewer, which is now defunct
purcell Jan 30, 2024
40c0228
Drop coffeescript support
purcell Jan 30, 2024
be928bf
Drop add-node-modules-path: use envrc + direnv instead
purcell Jan 30, 2024
ff33830
Ignore projectile cache file
purcell Jan 31, 2024
2b60ba7
Drop support for Emacs < 27.1
purcell Jan 31, 2024
dd3c9e3
More conservatively set the upper gcmh threshold
purcell Jan 31, 2024
af51a95
Disable fullframe for ibuffer (fixes #860)
purcell Jan 31, 2024
6c1962a
Use display-buffer-alist instead of the fullframe package
purcell Feb 1, 2024
00cbf19
Remove defunct workaround for clashing key binding
purcell Feb 1, 2024
5f26d55
Restore window config like fullframe did, but much more simply
purcell Feb 1, 2024
125632d
Remove unused package git-blamed
purcell Feb 1, 2024
0f5934b
Don't check package signatures during startup test
purcell Feb 2, 2024
ec76d10
Better way to change signature setting in startup test
purcell Feb 2, 2024
1f70144
Fix suppression of GCMH modeline lighter
purcell Feb 5, 2024
592e455
Actually fix gcmh startup + mode lighter
purcell Feb 5, 2024
233eb63
init-common-lisp.el was obsolete, and only init-sly.el is useful now
purcell Feb 6, 2024
f080949
Enable cider in clojure-ts-mode too
purcell Feb 12, 2024
0088f4f
No need to blank out major-mode-remap-alist before modifying
purcell Feb 14, 2024
0b68206
Remove ruby filename pattern that is already upstream
purcell Apr 26, 2024
cea0841
Upstream envrc now checks for direnv availability
purcell Apr 26, 2024
40d0898
Add Emacs 29.3 to CI matrix
purcell Apr 26, 2024
adf0e27
README tweaks
purcell Apr 26, 2024
217afde
Use nixfmt package
purcell Aug 2, 2024
6972ba9
Prefer nixd to nil for LSP with Nix code
purcell Aug 2, 2024
9dcdb02
Ensure there's an auto-mode-alist entry for nix-ts-mode
purcell Aug 2, 2024
247d6e1
Use ocaml-ts-mode and enable LSP for it
purcell Aug 2, 2024
c6916a8
git-commit is now part of magit, and shouldn't be installed directly
purcell Sep 4, 2024
3e376aa
Add init-zig.el
purcell Sep 25, 2024
e1c7c3c
Mark MELPA as unsigned
purcell Sep 25, 2024
4add524
Enable line numbers for YAML too
purcell Sep 25, 2024
5c21480
Don't enable Corfu in Emacs 28.1, due to strange error there
purcell Sep 25, 2024
d40ad68
Fix condition for enabling corfu
purcell Sep 26, 2024
d45c7cc
Fix use of prefix arg in consult-ripgrep wrapper
purcell Nov 3, 2024
c12e9af
Don't keep adding the same keybinding to eat-semi-char-non-bound-keys
purcell Nov 6, 2024
317994e
Remove twitter link
purcell Nov 7, 2024
7a725b2
Add just-ts-mode
purcell Nov 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
patreon: sanityinc
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
commit-message:
prefix: "chore"
include: "scope"
33 changes: 33 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: CI

on:
pull_request:
push:
paths-ignore:
- '**.md'

jobs:
build:
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental }}
strategy:
matrix:
emacs_version:
- 27.1
- 27.2
- 28.1
- 28.2
- 29.1
- 29.3
experimental: [false]
include:
- emacs_version: snapshot
experimental: true
steps:
- uses: purcell/setup-emacs@master
with:
version: ${{ matrix.emacs_version }}

- uses: actions/checkout@v4
- name: Check startup
run: ./test-startup.sh
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ CVS
cookies
/newsticker
\#*
/tree-sitter
/elpa
/elpa-*
site-lisp/package/
Expand Down Expand Up @@ -48,3 +49,12 @@ site-lisp/package/
/rake.cache
/plantuml.jar
/magithub
.cache/
/forge-database.sqlite
/transient
/.lsp-session-v1
/smex-items
/eln-cache/
/projects
/forge-*.sqlite
/projectile.cache
32 changes: 0 additions & 32 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2006-2018, Steve Purcell
Copyright (c) 2006-2021, Steve Purcell
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
56 changes: 28 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[![Build Status](https://travis-ci.org/purcell/emacs.d.png?branch=master)](https://travis-ci.org/purcell/emacs.d)
[![Build Status](https://github.com/purcell/emacs.d/workflows/CI/badge.svg)](https://github.com/purcell/emacs.d/actions)
<a href="https://www.patreon.com/sanityinc"><img alt="Support me" src="https://img.shields.io/badge/Support%20Me-%F0%9F%92%97-ff69b4.svg"></a>

# A reasonable Emacs config
Expand All @@ -13,42 +13,47 @@ Emacs itself comes with support for many programming languages. This
config adds improved defaults and extended support for the following, listed
in the approximate order of how much I use them, from most to least:

* Haskell / Elm
* Haskell / Purescript / Elm / OCaml
* Ruby / Ruby on Rails
* SQL
* CSS / LESS / SASS / SCSS
* Javascript / Typescript / Coffeescript
* Javascript / Typescript
* HTML / HAML / Markdown / Textile / ERB
* Rust
* Common Lisp (with Slime)
* Python
* Rust
* Clojure (with Cider and nRepl)
* Common Lisp (with Slime)
* PHP
* Erlang

In particular, there's a nice config for *autocompletion* with
[company](https://company-mode.github.io/), and
[flycheck](http://www.flycheck.org) is used to immediately highlight
syntax errors in Ruby, Python, Javascript, Haskell and a number of
other languages.
Included is a nice setup for in-buffer autocompletion with
[corfu](https://github.com/minad/corfu), and minibuffer completion using
[vertico](https://github.com/minad/vertico).

`flymake` (re-using backends from [flycheck](http://www.flycheck.org))
is used to immediately highlight syntax errors in Ruby, Python,
Javascript, Haskell and a number of other languages.

LSP support is provided using `eglot`.

Various popular Emacs tools are included and configured here, such as
`magit`, `docker.el`, `projectile`, `org-mode` etc., but the focus is moderate

## Supported Emacs versions

The config should run on Emacs 24.4 or greater and is designed to
degrade smoothly - see the Travis build - but note that much newer
versions are required for an increasing number of key packages, so to
get full functionality you should use the latest Emacs version
available to you.
Use the latest released Emacs version available to you. The author
typically uses the latest stable version.

Some Windows users might need to follow
[these instructions](http://xn--9dbdkw.se/diary/how_to_enable_GnuTLS_for_Emacs_24_on_Windows/index.en.html)
to get TLS (ie. SSL) support included in their Emacs.
The config should run on Emacs 27.1 or greater and is designed to
degrade smoothly - see the CI build - but many enhancements may be
unavailable if your Emacs is too old, and in general you should try
to use the latest stable Emacs release like I do.

## Other requirements

To make the most of the programming language-specific support in this
config, further programs will likely be required, particularly those
that [flycheck](https://github.com/flycheck/flycheck) uses to provide
on-the-fly syntax checking.
that flycheck or flymake use to provide on-the-fly syntax checking.

## Installation

Expand All @@ -67,8 +72,9 @@ running `M-x package-refresh-contents` before doing so.

## Updates

Update the config with `git pull`. You'll probably also want/need to update
the third-party packages regularly too:
Update the config with `git pull`. You'll probably also want/need to
update the third-party packages regularly too, because that's what I
do, and the config assumes it:

<kbd>M-x package-list-packages</kbd>, then <kbd>U</kbd> followed by <kbd>x</kbd>.

Expand Down Expand Up @@ -100,10 +106,6 @@ config remains compatible with the latest package and Emacs versions.
*Please note that I cannot provide support for customised versions of
this configuration.*

## Similar configs

You might also want to check out `emacs-starter-kit` and `prelude`.

## Support / issues

If you hit any problems, please first ensure that you are using the latest version
Expand All @@ -121,5 +123,3 @@ versions (see "Updates" above). If you still experience problems, go ahead and
[💼 LinkedIn profile](https://uk.linkedin.com/in/stevepurcell)

[✍ sanityinc.com](http://www.sanityinc.com/)

[🐦 @sanityinc](https://twitter.com/sanityinc)
16 changes: 16 additions & 0 deletions early-init.el
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
;;; early-init.el --- Emacs 27+ pre-initialisation config

;;; Commentary:

;; Emacs 27+ loads this file before (normally) calling
;; `package-initialize'. We use this file to suppress that automatic
;; behaviour so that startup is consistent across Emacs versions.

;;; Code:

(setq package-enable-at-startup nil)

;; So we can detect this having been loaded
(provide 'early-init)

;;; early-init.el ends here
Loading