Commit graph

499 commits

Author SHA1 Message Date
Henrik Lissner
323e0adf45
Minor refactors & reformatting across the board 2019-10-17 01:47:58 -04:00
Henrik Lissner
d5d85d1b03
completion/ivy: make counsel-compile projectile-aware 2019-10-17 01:45:30 -04:00
Henrik Lissner
1826421cba
completion/ivy: persist counsel-compile-history 2019-10-17 01:43:37 -04:00
Henrik Lissner
d5e6c8813e
completion/ivy: use counsel-compile
Wrote wrappers to replace compile and projectile-compile-project.
2019-10-17 01:41:37 -04:00
Henrik Lissner
46b7945015
completion/ivy: extend +ivy-task-tags
To support the new tag list used in ui/hl-todo. These were derived from
https://github.com/bbatsov/emacs-lisp-style-guide
2019-10-15 22:24:56 -04:00
Henrik Lissner
f779c3b781
completion/company: remove unneeded transient hook 2019-10-14 02:54:44 -04:00
Henrik Lissner
5999fee7c3
completion/company: load company earlier
Potentially addresses #1696, #1687, #1686, #993
2019-10-12 19:31:59 -04:00
Henrik Lissner
9c548a60e3
completion/ivy: load counsel earlier 2019-10-12 19:31:05 -04:00
Henrik Lissner
6ba7c97501
Remove the_platinum_searcher support
I'm reducing the scope of our project search so we can eventually focus
on ripgrep. By specializing I can extend Doom's features for project
searching.
2019-10-10 22:02:18 -04:00
Jakub Darul
d74ed618ce moved company-files-regexps change from org/config to company/conif 2019-10-10 20:34:52 +02:00
Jakub Darul
9a79f3815f moved comapny files regexp for org mode to org/config.el 2019-10-10 10:04:30 +02:00
Jakub Darul
596e7c97a9 added company-files support for file links in org mode 2019-10-09 23:21:33 +02:00
Henrik Lissner
de6afec944
Merge pull request #1851 from alexandergraul/add-openSUSE-prerequisites
Add openSUSE prerequisite instructions
2019-10-03 12:09:37 -04:00
Alexander Graul
b7a98cc788 Add openSUSE prerequisite instructions
These instructions were tested on openSUSE Tumbleweed and openSUSE Leap
15.1. There are some modules left that are not documented yet, but this
already improves the sitution for common openSUSE users.
2019-10-03 16:01:35 +02:00
Henrik Lissner
ad1a7fd1ad
completion/helm: conditionally install helm-org 2019-09-29 02:00:47 -04:00
Henrik Lissner
3a026c0a8c
completion/helm: fix void-variable helm-completing-read-handlers-alist error 2019-09-29 01:58:22 -04:00
Henrik Lissner
a8e7c4fd45
Move helm-org config to completion/helm 2019-09-28 23:08:44 -04:00
Henrik Lissner
0690bac82f
completion/company: update plugin list in readme 2019-09-26 14:26:48 -04:00
Henrik Lissner
30f15189e4
Merge pull request #1810 from rgrinberg/use-mdfind-counsel-locate-mac
Use mdfind for counsel-locate on a Mac
2019-09-22 14:29:13 -04:00
Henrik Lissner
19ef103392
completion/helm: add mdfind support to helm-locate 2019-09-22 13:33:26 -04:00
Henrik Lissner
f4d17707e7
config/default: bind SPC f l to locate
This will be remapped to counsel-locate or helm-locate if the ivy/helm
modules are enabled.
2019-09-22 12:09:51 -04:00
Rudi Grinberg
5c76bfce75 Use mdfind for counsel-locate on a Mac
This is the more sensible option as locate isn't configured by default
and spotlight is turned on by default.

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2019-09-23 00:35:57 +09:00
Henrik Lissner
e10cd8cf2e
Insult byte-compiler's mom
Yeah, that shut him up.
2019-09-20 23:10:53 -04:00
Henrik Lissner
20eb5ce4f6
Bind SPC / f to locate/counsel-locate 2019-09-15 16:21:10 -04:00
Henrik Lissner
6bd2eaf2c8
completion/helm: remove obsolete advice
Doesn't appear to be needed anymore.
2019-08-22 18:56:25 -04:00
Henrik Lissner
6a67572e1d
Fix 'no such live buffer' errors from helm +childframe 2019-08-22 18:54:30 -04:00
Henrik Lissner
2cd1c43217
Suppress errors in +ivy--set-jump-point-maybe-h 2019-08-17 16:04:26 -04:00
Henrik Lissner
1dcbdc8dfb
completion/ivy: optimize counsel-file-jump
Instead of `find`, force it to use fd or ripgrep, if available.
2019-08-06 19:43:54 -04:00
Henrik Lissner
40eb9cf17e
Replace helm-projectile-* commands with +helm/* #1589 2019-07-29 21:23:51 +02:00
Henrik Lissner
19ecf8e46a
Correct last inline hook defuns
See a3e262c7 for rationale
2019-07-28 16:10:53 +02:00
Rudi Grinberg
7c523f2c15 Uniquify completion candidates of whole lines
If the same line is present more than once in the buffer, it will be
offered more than once as a candidate. This commit deletes duplicate
lines from the completion list.

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2019-07-28 01:19:45 +07: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
d7ed52f3c7
Add ui/hydra module
And conforms all existing hydras to the naming convention for
interactive commands, e.g.

  +vc-gutter-hydra -> +vc/gutter-hydra
2019-07-22 23:51:12 +02:00
Henrik Lissner
060ede0e2e
General, minor reformatting across the board
And an offering of blood to our great lord Byte Compiler-sama.
2019-07-22 02:37:45 +02:00
Henrik Lissner
b90dede1ab
💥 Replace package.el/quelpa with straight #374
There are a few kinks to iron out, but for the most part it's done. Doom
Emacs, powered by straight. Goodbye gnutls and elpa/quelpa issues.

This update doesn't come with rollback or lockfile support yet, but I
will eventually include one with Doom, and packages will be (by default,
anyway) updated in sync with Doom.

Relevant threads: #1577 #1566 #1473
2019-07-22 02:30:40 +02:00
Henrik Lissner
149b2617b0
💥 revise hook/var fns naming convention (2/2)
This is second of three big naming convention changes. In this commit,
we change the naming conventions for hook functions and variable
functions:

1. Replace the bar | to indicate a hook function with a -h suffix, e.g.

     doom|init-ui -> doom-init-ui-h
     doom|run-local-var-hooks -> doom-run-local-var-hooks-h

2. And add a -fn suffix for functions meant to be set on variables,
   e.g.

     (setq magit-display-buffer-function #'+magit-display-buffer-fn)

See ccf327f8 for the reasoning behind these changes.
2019-07-22 02:30:38 +02:00
Henrik Lissner
51d3b1b424
💥 revise advice naming convention (1/2)
This is first of three big naming convention updates that have been a
long time coming. With 2.1 on the horizon, all the breaking updates will
batched together in preparation for the long haul.

In this commit, we do away with the asterix to communicate that a
function is an advice function, and we replace it with the '-a' suffix.
e.g.

  doom*shut-up -> doom-shut-up-a
  doom*recenter -> doom-recenter-a
  +evil*static-reindent -> +evil--static-reindent-a

The rationale behind this change is:

1. Elisp's own formatting/indenting tools would occasionally struggle
   with | and * (particularly pp and cl-prettyprint). They have no
   problem with / and :, fortunately.
2. External syntax highlighters (like pygmentize, discord markdown or
   github markdown) struggle with it, sometimes refusing to highlight
   code beyond these symbols.
3. * and | are less expressive than - and -- in communicating the
   intended visibility, versatility and stability of a function.
4. It complicated the regexps we must use to search for them.
5. They were arbitrary and over-complicated to begin with, decided
   on haphazardly way back when Doom was simply "my private config".

Anyhow, like how predicate functions have the -p suffix, we'll adopt the
-a suffix for advice functions, -h for hook functions and -fn for
variable functions.

Other noteable changes:
- Replaces advice-{add,remove}! macro with new def-advice!
  macro. The old pair weren't as useful. The new def-advice! saves on a
  lot of space.
- Removed "stage" assertions to make sure you were using the right
  macros in the right place. Turned out to not be necessary, we'll
  employ better checks later.
2019-07-22 02:27:45 +02:00
Henrik Lissner
854d8ce00a
Fix (null uniquify-buffer-name-style) errors from ivy
Errors out in Emacs 25.x
2019-07-17 16:14:38 +02:00
Henrik Lissner
fb16afb4f2
ivy-prescient-retain-classic-highlighting = t
Because prescient's highlighting turns any assumptions themes make
about ivy's faces on their head, making them look odd.
2019-07-11 17:23:20 +02:00
Henrik Lissner
a201409fdd
Minor refactors across the board 2019-07-10 21:27:12 +02:00
Henrik Lissner
683683736d
Cancel previous company popup when invoking another
Enables uses to switch between backends, e.g. C-x C-s followed by C-x
C-n in insert mode.
2019-07-09 16:12:44 +02:00
Henrik Lissner
563629cbd3
Remove unneeded autoloads 2019-07-06 23:22:27 +02:00
Henrik Lissner
750f45328a
Mark helm/ivy search engine autoloads interactive
Otherwise they don't show up in M-x
2019-07-02 23:17:19 +02:00
Henrik Lissner
9a8faf1df3
completion/ivy: don't ignore order in file search 2019-07-02 13:12:21 +02:00
Henrik Lissner
281ea56643
completion/company: refactor backend resolution
Makes it easier to change company-backends retrospectively (with a hook
or setq-hook!). Also simplifies how backend defaults are stored (no more
of this :derived and :exact business).

Also updates unit tests.
2019-06-29 01:39:23 +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
b5c5b7f10d
Move posframe+persp-mode fix to ui/workspaces 2019-06-26 14:31:06 +02:00