Commit graph

119 commits

Author SHA1 Message Date
Henrik Lissner
9d5e8fdda4
completion/helm: use ;;;###package cookies 2019-05-20 21:09:11 -04:00
Henrik Lissner
a7069b93f2
Remove vestigial imenu-anywhere remappings 2019-05-20 21:09:10 -04:00
Henrik Lissner
a4c5396558
Add better-jumper
Replaces evil's jumplist; makes its functionality available for non evil
users.
2019-04-24 18:16:04 -04:00
Henrik Lissner
77e4cc4d58
💥 Remove :feature category
:feature was a "catch-all" category. Many of its modules fit better in
other categories, so they've been moved:

- feature/debugger -> tools/debugger
- feature/evil -> editor/evil
- feature/eval -> tools/eval
- feature/lookup -> tools/lookup
- feature/snippets -> editor/snippets
- feature/file-templates -> editor/file-templates
- feature/workspaces -> ui/workspaces

More potential changes in the future:

- A new :term category for terminal emulation modules (eshell, term and
  vterm).
- A new :os category for modules dedicated to os-specific functionality.
  The :tools macos module would fit here, but so would modules for nixos
  and arch.
- A new :services category for web-service integration, like wakatime,
  twitter, elfeed, gist and pastebin services.
2019-04-24 18:16:04 -04:00
Henrik Lissner
0f8baf3f3e
Minor comment tweaks 2019-04-17 11:19:37 -04:00
Andrew Whatson
ee11262aca Fix wrong-number-of-args in project-search-from-cwd 2019-04-17 00:32:35 +10:00
Henrik Lissner
b6611d215f
Fix wrong-num-of-args error on SPC *
Adds QUERY and DIRECTORY args to +{ivy,helm}/project-search
2019-04-14 13:39:30 -04:00
Henrik Lissner
3c01de8876
Fix #1320: generalize SPC *
Was formerly using ripgrep, and only ripgrep.
2019-04-10 20:14:50 -04:00
Henrik Lissner
ce22e21853
Refactor helm commands 2019-03-02 02:04:11 -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
a89a2aa70c
completion/{helm,ivy}: fix stringp error
Cause by the expectation that doom-project-root would never return
nil (which was changed to return nil if not in a valid project, due to
an update upstream, in projectile).
2018-12-11 18:59:30 -05:00
Aria
d378fdbed0 Clean up after swoop removal
removed in 7f5e778b0c
2018-12-08 19:17:52 +11:00
Henrik Lissner
9d374b3bfb
Fix "not in project" projectile error #1037
helm-projectile-find-file doesn't respect
projectile-require-project-root by hard-coding it's no-project error
handling into its helm-projectile-* functions. This means if you try to
use helm-projectile-find-file in a non-project you get this error. So we
use helm-find-files for non-projects instead.
2018-12-05 14:16:42 -05:00
Henrik Lissner
11793be240
completion/helm: fix void-variable error #954
The grep backend assumes helm-projectile is available and references its
variables, but in some cases, it won't be (e.g. if a search command is
used early enough after startup).
2018-10-17 12:13:03 -04:00
Henrik Lissner
0312f8656a
completion/helm: remove +helm-global-prompt
This could hide helpful prompt text.

Addresses #923
2018-10-03 00:02:01 -04:00
Henrik Lissner
394633b5d8
Leave lifecycle management of helm buffers to helm
Could cause buffer processes to get killed, inadvertently.
2018-10-01 19:58:23 -04:00
Henrik Lissner
53fe7a1f04 Refactor Project API to reflect changes upstream
projectile-project-root no longer returns `default-directory` if not in
a project (it returns nil). As such, doom-project-* functions (and their
uses) have been refactored.

+ doom-project-p & doom-project-root are aliases for
  projectile-project-p & projectile-project-root.
+ doom-project-{p,root,name,expand} now has a DIR argument (for
  consistency, since projectile-project-name and
  projectile-project-expand do not).
+ The nocache parameter is no longer necessary, as projectile's caching
  behavior is now more sane.
+ Removed some projectile advice/hacks that are no longer necessary.
+ Updated unit tests
2018-09-28 21:13:27 -04:00
Henrik Lissner
5ef94de541 Minor refactor, reformat & comment revision 2018-09-18 21:39:54 -04:00
Henrik Lissner
86d51dd056
Add +doom-dashboard-mode to swiper-font-lock-exclude
It breaks the dashboard
2018-09-09 09:58:22 -04:00
Henrik Lissner
22a94fc41a
Make helm/ivy project search api more consistent
+{helm,ivy}/*-from-cwd no longer accepts a third DIRECTORY argument.
2018-09-09 09:58:21 -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
48c77b1126
Move helm-css-scss package to lang/web/+css 2018-09-09 09:58:18 -04:00
Henrik Lissner
36bdf7782b
completion/helm: don't hide minibuffer input line
Some helm sources don't display input in the headerline, despite
helm-echo-input-in-header-line's value, making your input invisible.
2018-08-31 23:44:21 +02:00
Henrik Lissner
5021b0dbb6
completion/helm: fix undefined helm/grep* 2018-08-28 19:35:56 +02:00
Henrik Lissner
9eee22e3fc
completion/helm: redesign keybindings
A more vim-friendly (and spacemacs-friendly) keybinding scheme.

May address #829
2018-08-24 01:47:44 +02:00
Henrik Lissner
619ac43017
completion/helm: unbind <left>/<right> #829
Disables special behavior on <left>/<right> and <M-left>/<M-right>,
which are strange.
2018-08-24 01:08:39 +02:00
Henrik Lissner
627aae436d
completion/helm: add helm-ff-fuzzy-matching
Also resorts the fuzzy-match variable list.
2018-08-24 01:07:55 +02:00
Henrik Lissner
ee73d6c9af
Minor reformatting & comment tweaks 2018-08-21 03:34:39 +02:00
Henrik Lissner
154b3c331b
helm: remap find-library -> helm-locate-library
Is superior to find-library
2018-08-21 02:56:54 +02:00
Henrik Lissner
1a6519aa45
Display search command & directory in helm header
Displays the full command (minus formatting options) and target
directory rather than the unhelpful "The Silver Searcher", even if we're
using ripgrep or pt.
2018-08-17 03:56:45 +02:00
Henrik Lissner
c27ab26fd9
Refactor +helm-file-search & show prompt 2018-08-15 23:34:22 +02:00
Henrik Lissner
c69543fecc
Fix helm not cooperating with other popups
Like the compilation window
2018-08-15 23:32:53 +02:00
Henrik Lissner
11b8ee55a1
Use helm-do-ag instead of helm-ag #805
Fixes project search matching against the leading file name.

And ensures modeline remains disabled.
2018-08-15 21:19:59 +02:00
Henrik Lissner
9d7f8c359e
Add docstrings to helm project search commands 2018-08-13 21:47:56 +02:00
Henrik Lissner
90fa4a8c37
Add helm-ag-fuzzy-match support 2018-08-13 21:47:55 +02:00
Henrik Lissner
5714ff423a
Fix evil jumplist after jumping to ag match
helm-ag would formerly add multiple entries to the jump list. It now
only adds one, and recenters the window when jumping to an ag match.
2018-08-13 21:47:55 +02:00
Henrik Lissner
7d617f1541
Refactor helm project search API
+ Heavily refactored +helm-file-search
+ Removed -z flag from all engines by default
+ Changed the behavior of the universal argument for from-cwd
  interactive commands (e.g. +helm/rg-from-cwd). It used to enable
  recursive searches, but now enables inclusion of hidden and compressed
  files in the search instead. *-from-cwd searches are always recursive
  now.
+ Now generates +helm/X and +helm/X-from-cwd commands dynamically.
+ Split +helm/project-search into +helm/project-search-from-cwd.
  Universal arguments are passed from these commands to their delegated
  engine command.
2018-08-13 03:47:33 +02:00
Henrik Lissner
b0c71c2492
Add +helm/workspace-mini command & bind to SPC b b
+ Rename +helm/persp-buffer-list to +helm/workspace-buffer-list
+ Silence compiler warnings when feature/workspaces is disabled
+ Throw error if feature/workspaces is disabled and these commands are
  called.
2018-08-13 03:47:30 +02:00
Henrik Lissner
3b4fd56cac
Force helm posframe to respect min-(width|height)
And enable solaire-mode if available, and unused in origin buffer (to
make it easier to see posframe over non-solaire-mode buffers).
2018-08-11 01:59:37 +02:00
Henrik Lissner
7a216692e8
Don't modify helm-echo-input-in-header-line
This variable isn't reliable; some sources change it, making it
difficult to see our input.
2018-08-10 19:31:22 +02:00
Henrik Lissner
01dcc248cf
Improve posframe/modeline focus fix
switch-to-buffer is more reliable than select-window
2018-08-09 12:57:46 +02:00
Henrik Lissner
3d363d4cb1
completion/helm: refactor posframe support (again) 2018-08-07 14:42:58 +02:00
Henrik Lissner
85e837e06a
Fix wrong-type-arg: integerp by posframe
Due to destructive advice.

Fixes #787
2018-08-07 12:57:21 +02:00
Douglas Wilson
fd13df48a5 Fix helm-execute-persistent-action
With (helm +childframe) in doom! section, without this patch
execute-persistent-action opens an extra non-child frame. This
doesn't play nicely with my tiling window manager.

This patch is taken from helm-posframe, and seems to fix it.
2018-08-07 08:31:50 +12:00
Henrik Lissner
d5363a5a2e
Fix recursive helm error in helm-buffers-list 2018-08-06 11:56:50 +02:00
Henrik Lissner
2aaea3a0d5
Use helpful for helm-apropos 2018-08-06 00:31:24 +02:00
Henrik Lissner
b56404f0ce
Correct docstring for +helm-project-search-engines
Re:git-grep/grep fallback
2018-08-06 00:31:24 +02:00
Henrik Lissner
bd0b7d2341
Remove wgrep from completion/helm (unused package) 2018-08-06 00:31:24 +02:00
Henrik Lissner
d04efc9774
helm-imenu: don't autojump to symbol at point 2018-08-06 00:31:23 +02:00
Henrik Lissner
9c11ee9eef
Fix workspace-restricted helm-buffers-list
Now SPC b b and SPC b B can both enjoy the power of helm-buffers-list,
while the former is restricted to the buffers in the current workspace.
2018-08-06 00:31:23 +02:00