`racket-mode` recently added `racket-hash-lang-mode` as an alternative
major mode.
Close: #7543
Co-authored-by: hlissner <hlissner@users.noreply.github.com>
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.
featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
The problem is that at this point, flycheck-mode might not be active
yet. Calling flycheck-disable-checker always call (flycheck-buffer)
which would result in an error: (user-error "Flycheck mode disabled")
* Fix visit docs for Racket & support racket-xp
- Fix Racket's +lookup/documentation in the same way as
f20f477a44
- Support the +xp feature which enables racket-xp. When it's not
enabled, default handlers to the traditional racket-repl
(which requires users to run code first)
* PR feedback
* Replace add-hook! with add-hook
Also consolidates all REPLs (opened through the :tools eval module)
under one popup rule, which inhibits ESC from prematurely closing
them (#1944), and cleans up after their buffers *only* if their handlers
weren't specified to :persist, e.g.
(set-repl-handler! 'some-mode #'some-repl-handler :persist t)
Also standardized ESS's REPL commands.
Introduces a select few of the localleader keybind standards proposed in
issue #1270, corrects a few typos and introduces more localleader
keybinds in general.
Co-authored-by: yuhan0 <>
`racket-smart-open-bracket-enable` has been replaced by a function that
inserts the right type of bracket (see
669275b3a6),
which we need to bind to [.
This update may potentially break your usage of add-hook! if you pass
the :local or :append properties to it. This is how they used to work:
(add-hook! :append 'some-mode-hook #'do-something)
Thsoe properties must now follow the hooks, e.g.
(add-hook! 'some-mode-hook :append #'do-something)
Other changes:
- Various add-hook calls have been renamed to add-hook! because I
incorrectly assumed `defun` always returned its definition's symbol,
when in fact, its return value is "undefined" (so sayeth the
documentation). This should fix#1597.
- This update adds the ability to add multiple functions to hooks
without a list:
(add-hook! 'some-mode-hook
#'do-something
#'do-something-else)
- The indentation logic has been changed so that consecutive function
symbols at indented at the same level as the first argument, but forms
are indent like a defun.
(add-hook! 'some-mode-hook
#'do-something
#'do-something-else)
(add-hook! 'some-mode-hook
(message "Hello"))
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.
Also changes def-package-hook! -> use-package-hook!
The old macros are now marked obsolete and will be removed when straight
integration is merged.
+ Uses alist variable to store config, rather than hooks
+ Added check for installed docsets in +lookup/documentation
+ Set docsets for various language modules (c-mode, c++-mode, css-mode,
scss-mode, sass-mode, web-mode, go-mode, racket-mode, emacs-lisp-mode,
js2-mode, rjsx-mode, typescript-mode, rust-mode, and php-mode)
+ Made *eww* popups for dash docsets larger
+ Renamed set-docset! => set-docsets! (set-docset! is aliased to
set-docsets!)
+ New +lookup/install-docset alias
Also adds doom|disable-delete-trailing-whitespace hook, which can be
used to disable this behavior on a per-buffer basis. If you want to turn
off this global behavior:
(remove-hook 'write-file-functions #'delete-trailing-whitespace)
+ Improve verbal mneumonics and enforce localleader conventions (e.g. h
= help, g = goto)
+ Remove keybinds that other features replace (like smartparens or
lookup handlers).
+ Alphabetize keybinds for easier skimming.
+ Removed highlight-quoted block because `highlight-quoted-mode` is already autoloaded by the package
+ Removed org-babel-do-load-languages because lang/org/+babel already has a built-in autoloader for ob-* packages.
+ Removed flycheck-mode from racket-mode hook because it is enabled globally in :feature syntax-checker
+ Removed highlight-numbers-mode from racket-mode-hook because it is enabled on prog-mode-hook in core-ui (as of #770)
+ Fix racket popup rule regexp
+ Remove popup rules that were redundant with the defaults
+ Remove racket-mode-specific company-frontends value, looks like personal preference, otherwise should be set in a separate hook function that is easily recognized and disabled, if the user desires.
+ Remove :interpreter and :mode properties because they are already registered by the racket-mode package.
+ Move racket-unicode-input-method-enable into :hook property (to defer the config)