Commit graph

50 commits

Author SHA1 Message Date
Henrik Lissner
5b48c21762
app/irc: fix & improve feedback from =irc #1121
Hopefully prevents =irc from nooping.
2019-02-16 17:00:31 -05:00
Henrik Lissner
fb8a378d72
app/irc: fix =irc nooping without preset networks #1121
=irc would do nothing if no networks were pre-set with set-irc-server!.
2019-02-11 15:20:21 -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
b56639e31b
Remove deprecated set! & def-setting! macros 2019-01-05 17:48:46 -05:00
Henrik Lissner
e8465bb5ff
app/irc: rewrite README 2019-01-05 16:32:37 -05: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
e8834710c2
Docs: improve irc documentation
Explain how `+pass-user-fields` works and show a basic example for
configuring a pass entry to be used by circe.

Show how to connect to IRC and show a list of commands that can be used
in circe buffers.
2018-06-23 15:32:00 +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
Henrik Lissner
bac286e8e2
Remove blank autoload files 2017-11-05 01:16:35 +01:00
Henrik Lissner
d2d71795e5 Merge branch 'develop'
* develop: (64 commits)
  Prepare for v2.0.5
  Temporarily disable doom-themes-visual-bell-config
  Fix neotree always changing root
  Update changelog
  Fix wrong-type-argument error from +org/insert-item
  Make +ivy-buffer-transformer autoloadable
  General refactor & cleanup
  Correct troubleshooting link in README
  org: set org-ellipsis to downward chevron
  Add elfeed-(show|search)-mode to evil-snipe-disabled-modes
  Autoload json library
  Rethink smartparens config #181
  README: expand troubleshooting
  Fix wiki links in README (again)
  Correct intro in README
  Fix wiki links in README
  Prevent private commands from affecting projectile cache
  Remove recentf-filename-handlers fix for projectile-recentf-files
  lang/sh: remove unused setup.sh
  Convert +ivy/switch-buffer to transformers + add mode icons #169
  ...
2017-09-03 23:32:23 +02:00
Henrik Lissner
cbabf6849c
Standardize module READMEs 2017-08-21 20:13:31 +02:00
Benjamin Andresen
00180310df Add: app/irc: (=irc) if irc workspace exists switch to that
don't connect to the networks again
2017-08-06 17:01:32 +02: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
Benjamin Andresen
679615899d app/irc: one place +irc-connections var wasn't updated
it's now handled in circe-network-options
2017-06-24 20:25:44 +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
360eef0602 app/irc: fix +irc/ivy-jump-to-channel
not it works when buffer-names are indented below server
2017-06-16 23:52:36 +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
81f475da64
Fix mapcar used for effect 2017-06-12 19:07:40 +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
d73da8f995 clean ups (init.exampl.el + app/irc readme) 2017-06-11 15:56:55 +02:00
Benjamin Andresen
9645945465 app/irc: initial commit 2017-06-11 15:55:22 +02:00