Commit graph

56 commits

Author SHA1 Message Date
Henrik Lissner
ad6a3d0f33
refactor: deprecate featurep! for modulep!
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.
2022-08-14 20:43:35 +02:00
Itai Y. Efrat
24eaa1317c completion/selectrum -> completion/vertico, part 2
- Rename module from `:completion selectrum` to `:completion vertico`
- Rename all files involved
- Do *not* yet rename all the functions, as that messes up git's rename
  detection.
2021-07-25 02:51:15 +03:00
Itai Y. Efrat
24f2efd8ca selectrum: refactor +irc/selectrum-jump-to-channel 2021-07-25 02:50:42 +03:00
Itai Y. Efrat
693eb3c9a4 selectrum: add +irc/selectrum-jump-to-channel 2021-07-25 02:50:42 +03:00
Itai Y. Efrat
5ddf8b9b51 featuregate ivy dependent autoloads for irc, pass
previously these functions would get autoloaded even when another
completion framework was active
2021-05-21 00:51:11 +03:00
Henrik Lissner
7da9628d96
app/irc: proc +irc-defer-notifications later
Otherwise it happens too soon for the user to customize
+irc-defer-notifications from their config.el.
2020-10-30 19:23:08 -04:00
Henrik Lissner
611ddb2263
Refactor & comment #1862 fix
Relevant to #2727
2020-03-27 15:14:15 -04:00
Hanno Perrey
8648c9ad91 syntactic and cosmetic changes 2020-03-27 09:50:35 +01:00
Hanno Perrey
4f39bf36f0 stops overriding circe default servers
circe-network-defaults is filled with predefined server details
e.g. for Freenode.net and those defaults should not be wiped here
2020-03-15 17:36:21 +01:00
Hanno Perrey
a64a893fa0 adds workaround for circe TLS connections (#1862)
- OpenSSL versions > 1.1.0 break the assumptions of tls.el of where the
info block stops
- this makes circe hang on TLS connections (jorgenschaefer/circe#340)
- tls.el is no longer maintained therefore this adds a
workaround in circe-mode buffers
2020-03-15 17:32:32 +01:00
Henrik Lissner
12094788d7
Fix references to :tools fly{spell,check} 2020-01-14 03:04:26 -05:00
Sean Farley
da78751ce4 irc: turn off smartparens mode for circe buffers
Users probably don't want ":-(" to be autocompleted as ":-()" so let's
turn of smartparens for chatting.
2019-12-23 12:08:13 -08:00
Henrik Lissner
2b1c60fbd4
app/irc: refactor & fix #1616 2019-07-29 15:05:26 +02:00
Henrik Lissner
a3e262c7ac
💥 Refactor add-hook! macro & change arg order
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"))
2019-07-26 20:17:29 +02:00
Henrik Lissner
82ae3a73f3
def-advice!->defadvice! & conform to new advice conventions
This commit does two things:

- Renames def-advice! to defadvice!, in the spirit of naming convenience
  macros after the function/macro they enhance or replace.
- Correct the names of advice functions to indicate visibility and
  intent. A public advice function like doom-set-jump-a is meant to be
  used elsewhere. A private one like +dired--cleanup-header-line-a
  shouldn't -- it likely won't work anywhere but the function(s) it was
  made to advise.
2019-07-23 17:24:56 +02:00
Henrik Lissner
76cacb5bfe
💥 Rename def-package! -> use-package!
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.
2019-07-23 12:50:45 +02:00
Henrik Lissner
c795a988e6
Conform many modules to new conventions 2019-07-23 12:30:47 +02:00
Henrik Lissner
9a02bd8ac8
Minor refactors across the board
- when-let* -> when-let
- Fix projectile-locate-dominating-file for connected remote files
2019-06-26 14:31:06 +02:00
Henrik Lissner
69ed1a4a99
feature/{syntax-checker,spellcheck} -> tools/fly{check,spell} 2019-02-22 00:25:30 -05:00
Sean Farley
30fad8b08b irc: fix lui track bar not being enabled
It seemed I mistakenly put this in an `evil` block and didn't notice.
2019-02-05 11:06:21 -08:00
Henrik Lissner
5c1edde613
app/irc: general refactor 2019-01-23 15:54:12 -05:00
Sean Farley
fe44a3c435 irc: remap tracking-next-buffer to +irc/tracking-next-buffer
This prevents default keybindings from using `tracking-next-buffer' so
that a user doesn't accidentally end up in a weird mixed workspace.
2019-01-22 13:56:34 -08:00
Sean Farley
274d9a6c0c irc: add +irc/tracking-next-buffer
This way the user won't accidentally switch to the next unread buffer in
the wrong workspacee and end up in a weird state.
2019-01-21 17:48:55 -08:00
Sean Farley
ffc9e0f48e irc: enable tracking last read message 2019-01-21 17:17:24 -08:00
Sean Farley
7f205130af irc: add +irc|add-circe-buffer-to-persp
A convenience function that prevents a new circe buffer (e.g. a new
message pop up) from being added automatically to whichever is current
workspace and instead adds it to the irc workspace.
2019-01-21 17:13:52 -08:00
Sean Farley
8a0098ee52 irc: add +circe-buffer-p
This allows us to list the circe buffers as real when they are added to
the +irc--workspace-name.
2019-01-21 17:12:59 -08:00
Henrik Lissner
65290d3d2f
app/irc: re-nest keybinds
And restore missing circe-command-NAMES keybind.
2018-12-22 04:36:51 -05:00
Henrik Lissner
4daa9271a0
Introduce general.el & rewrite map!
+ Now uses an overriding keymap for leader keys, so that it is always
  available, even outside of normal/visual states. In insert/emacs
  states, or in sessions where evil is absent, an alternative prefix is
  used for leader/localleader keys. See these variables:
  + doom-leader-prefix
  + doom-leader-alt-prefix
  + doom-localleader-prefix
  + doom-localleader-alt-prefix
+ Keybinds now support alternative prefixes through the new :alt-prefix
  property. This is useful for non-evil users and non-normal evil
  states. By default, this is M-SPC (leader) and M-SPC m (localleader).
+ Removed +evil-commands flag from config/default (moved to
  feature/evil/+commands.el).
+ config/default/+bindings.el has been split into
  config/default/+{evil,emacs}-bindings.el, which one is loaded depends
  on whether evil is present or not. The latter is blank, but will soon
  be populated with a keybinding scheme for non-evil users (perhaps
  inspired by #641).
+ The define-key! macro has been replaced; it is now an alias for
  general-def.
+ Added unmap! as an alias for general-unbind.
+ The following modifier key conventions are now enforced for
  consistency, across all OSes:
    alt/option      = meta
    windows/command = super
  It used to be
    alt/option      = alt
    windows/command = meta
  Many of the default keybinds have been updated to reflect this switch,
  but it is likely to affect personal meta/super keybinds!

The map! macro has also been rewritten to use general-define-key. Here
is what has been changed:

+ map! no longer works with characters, e.g. (map! ?x #'do-something) is
  no longer supported. Keys must be kbd-able strings like "C-c x" or
  vectors like [?C-c ?x].
+ The :map and :map* properties are now the same thing. If specified
  keymaps aren't defined when binding keys, it is automatically
  deferred.
+ The way you bind local keybinds has changed:

    ;; Don't do this
    (map! :l "a" #'func-a
          :l "b" #'func-b)
    ;; Do this
    (map! :map 'local "a" #'func-a
                      "b" #'func-b)

+ map! now supports the following new blocks:
  + (:if COND THEN-FORM ELSE-FORM...)
  + (:alt-prefix PREFIX KEYS...) -- this prefix will be used for
    non-normal evil states. Equivalent to :non-normal-prefix in general.
+ The way you declare a which-key label for a prefix key has changed:

    ;; before
    (map! :desc "label" :prefix "a" ...)
    ;; now
    (map! :prefix ("a" . "label") ...)

+ It used to be that map! supported binding a key to a key sequence,
  like so:

    (map! "a" [?x])  ; pressing a is like pressing x

  This functionality was removed *temporarily* while I figure out the
  implementation.

Addresses: #448, #814, #860
Mentioned in: #940
2018-12-22 04:14:43 -05:00
Henrik Lissner
cdf745e72a
map!: remove buffer-local :desc properties
which-key labels are registered globally, and will not work for
buffer-local keybinds. Until general is brought in, we'll have to suffer
label-less localleader keybinds.
2018-10-07 21:34:24 -04:00
Henrik Lissner
7d3ffdff06
Remove third line in section headers
This is truly important stuff. We've saved many lives with this update.
2018-09-09 09:58:19 -04:00
Henrik Lissner
2ad1280e4e
Add set-irc-server! autodef & move :irc setting 2018-06-24 22:23:08 +02:00
Mark Redeman
a8c31db7be
Remove the SPC o I keybinding to open IRC 2018-06-24 00:01:07 +02:00
Mark Redeman
7a6407eb92
Add: reasonable default keybindings for circe
The =+irc/send-message= function was added so that we can send private
messages using =SPC m m= or =M-x= with =+irc/send-message=.
2018-06-23 14:44:40 +02:00
crshd
baa405babb Disable lui-mode line wrapping regardless of :feature spellcheck 2018-06-04 09:17:04 +02:00
Henrik Lissner
1e81a35461
Minimize dependence on map!
This is in preparation for general.el integration coming in 2.1.1. It is
very likely that map! will change (and even more, be split into several
macros). Not much, but change none-the-less. Specifically, the state
keywords (e.g. :nvi, :n, :i) will be removed in favor of a :state
property that takes a list, e.g. (normal visual insert).

In any case, both map! and general are also relatively expensive
compared to define-key and evil-define-key* (and the new define-key!
macro), so use that when we can.

This also means changes to either API won't affect Doom's modules in the
long term.
2018-06-03 15:46:00 +02:00
Benjamin Andresen
4f4176c646 Add: app/irc: include disconnect hook code 2018-04-02 08:08:13 +02:00
Benjamin Andresen
fbf80489da Document: app/irc: add docstrings for all variables 2018-04-02 08:07:44 +02:00
Benjamin Andresen
082b63610c Add: app/irc: pretty up a few more kinds of messages 2018-04-02 07:53:51 +02:00
Henrik Lissner
8e875bfa0e
Phase out doom-kill-buffer 2018-01-04 03:01:35 -05:00
Henrik Lissner
76a4ae459d
Fix obsolete (when|if)-let messages in Emacs 26 2017-12-10 14:49:52 -05:00
Henrik Lissner
07088d3dcf
Removed s.el dependency (prefer built-in) 2017-12-09 14:40:14 -05:00
Henrik Lissner
f8e8dbad8f
General minor refactor 2017-12-08 23:14:12 -05:00
Henrik Lissner
9d81bc5a8b
Major refactor: use-package-always-defer = nil & use :hook
Possibly breaking change: packages are no longer deferred by default.

Addresses #286
2017-12-08 23:14:11 -05:00
Henrik Lissner
79cf78d1c6
Allow new :irc settings to shadow old ones 2017-11-10 00:17:49 +01:00
Benjamin Andresen
2286a6404f Add: app/irc: make truncate nick character customizable 2017-08-06 17:01:30 +02:00
Benjamin Andresen
6fb8d0164b
Add: app/irc: scroll to bottom on any input
more generalized which allows this to work for Emacs mode or for pastes.

Code inspired and adapted by eshell.
2017-07-26 13:02:14 +02:00
Henrik Lissner
6a5bd216e5
Appease byte-compiler senpai 2017-07-14 18:19:08 +02:00
Benjamin Andresen
ca3184b685 app/irc: get rid of non-interactive #'end-of-buffer warning 2017-06-24 20:25:47 +02:00
Henrik Lissner
928812da8a
Make def-setting! behave more like defmacro
set! used to aggressively evaluate its arguments (at expansion-time),
even if placed inside an after! block. This causes unavoidable errors if
those arguments use functions/variables that don't exist yet.

Fixes #112
2017-06-19 00:32:44 +02:00
Henrik Lissner
96998e40d3
app/irc: general refactor 2017-06-18 23:43:08 +02:00