Commit graph

38 commits

Author SHA1 Message Date
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
Benjamin Andresen
b002883d40 app/irc: don't interfere with insert mode unless before prompt 2017-06-16 23:52:29 +02:00
Henrik Lissner
01dc170e5b
app/irc: clean up timer & notifications on quit 2017-06-12 14:37:14 +02:00
Henrik Lissner
b3dafe96d3
app/irc: general rewrite (#103)
+ Refactor initialization process.
+ Refactor for consistency.
+ Add +irc-defer-notifications (for ZNC users).
+ Rewrote =irc (opens separate workspace + auto-connects to registered
  networks).
+ Add +irc/connect (connect to specific network).
+ Add +irc/quit (kill whole circe session).
+ Add +irc/ivy-jump-to-channel command.
+ Rewrite README.
+ Silence QUIT/PART default messages; they're cute, but no thanks.
+ Truncate nicks non-destructively.
+ Jump to prompt when entering insert mode (with evil).
+ Activate solaire-mde in channel buffers to visually distinguish them
  from server buffers.
2017-06-12 14:22:35 +02:00
Henrik Lissner
470117d538
app/irc: fix lui-mode-map typo 2017-06-11 19:33:40 +02:00
Henrik Lissner
d2b514e1ba
Consistency refactor
For consistency with other app modules:

+ Refactor out s.el dependency
+ Reorder variables (public then private)
+ Use add-hook! instead of add-hook+lambda
+ Optimization: replace mapcar+closure with cl-loop (reduces allocations)
+ Replace evil-set-initial-state with (set! :evil-state ...), which is
  ignored if :feature evil is disabled.
2017-06-11 16:15:36 +02:00
Benjamin Andresen
9645945465 app/irc: initial commit 2017-06-11 15:55:22 +02:00