Commit graph

494 commits

Author SHA1 Message Date
Kalle Lindqvist 90d40f5f65 auto-completion: use counsel-company to show completion candidates 2018-06-07 00:20:41 -04:00
Kalle Lindqvist 2ad98d77a1 auto-completion: add ivy-yasnippet (#10813) 2018-06-05 22:45:37 -04:00
syl20bnr 2df4db5c60 core: new function spacemacs/plist-get
Made to play well with modified plist. Replace spacemacs/mplist-get by
spacemacs/plist-get in spacemacs|add-company-backends
2018-06-04 01:19:44 -04:00
syl20bnr a698c8ba58 auto-completion: fix add-company-backends macro
We must always use spacemacs/mplist-get on an modified plist, mixing both
spacemacs/mplist-get and plist-get leads to undefined behavior as soon as a
keyword as multiple keywords.
2018-06-04 01:07:00 -04:00
pancho horrillo 3c20a65ff4 Fix typo in README.org
The sample `00:test_*.py` should read `00:test_.*.py`, as per https://github.com/mineo/yatemplate#description
2018-05-27 20:02:00 +03:00
syl20bnr 74e8114ed6 Fix code block without language in +completion/templates README.org 2018-05-24 01:40:30 -04:00
Miciah Dashiel Butler Masters 78297be625 Fix various typos
* Fix various isolated typos

"apppend" -> "append"

"availabe" -> "available"

"Descripti using ternon" -> "Description"

"you have not them" -> "you don't have them"

"new on" -> "new one"

"plained" -> "curved"

"repel" -> "REPL"

"vairable" -> "variable"

* Fix a few errors in the CoffeeScript layer readme

Add a missing "the".

Correct a reference to the layer as "javascript" to "coffeescript".

Fix the syntax on the link to CoffeeLint.

* Fix typos: "dofile" -> "dotfile"

* Fix typos: "formated" and "formating"

"formated" -> "formatted"

"formating" -> "formatting"

* hy: Fix docstrings in funcs.el

Fix copy-and-pasted docstring text for
spacemacs/hy-shell-eval-current-form-and-go and
spacemacs/hy-shell-eval-region-and-go.

* Fix typos: "indendation" -> "indentation"

* Fix typos: "the the", "a a"

Fix duplicated (or misplaced) articles.

* Fix typos: "wether" -> "whether"

* Fix typos: "intialize" -> "initialize"
2018-05-23 22:12:30 -04:00
Miciah Dashiel Butler Masters c18317ad05 shell: Restore correct value for company-idle-delay (#10728)
* shell: Restore correct value for company-idle-delay

In spacemacs//toggle-shell-auto-completion-based-on-path, re-enable
automatic suggestions by restoring company-idle-delay to the value of
auto-completion-idle-delay rather than to a hardcoded value.

* Document how to disable automatic suggestions

Document how to disable automatic suggestions, and mention that the Tab key
will still perform completion even with automatic suggestions disabled.
2018-05-23 00:27:08 -04:00
syl20bnr 04685e77ca templates: look for dotspacemacs-directory location first
Rename variable to templates-use-default-templates
2018-05-23 00:21:32 -04:00
Eivind Fonn 3d72cf2a53 Add templates layer (thanks YasuharuIida) 2018-05-22 23:46:07 -04:00
syl20bnr 9a3a1384ca helm: move functions to funcs.el 2018-05-21 01:18:37 -04:00
syl20bnr 9ff0d967d3 dump: require yasnippet while dumping
Unfortunately preactivating yasnippet while dumping double the loading time.
Not sure why exactly the loading time doubles, it should no be the case.

So for now we only require the library and let the hook for activate it.
2018-05-20 03:58:48 -04:00
syl20bnr 5d830fca43 dump: require some helm packages while dumping 2018-05-20 03:58:48 -04:00
Ting Zhou 8616f07b86 Add: use rjsx-mode for react framework
Fix: add yas-activate-extra-mode
Add: add lsp support for react layer
Add: Add rjsx-mode key-bindings doc
Clean: rename spacemacs//set-lsp-key-bindings to spacemacs//setup-lsp-jump-handler
Fix: remove buggy hooks
Clean: move fix-lsp-company-prefix to lsp layer
Fix: rjsx-mode company
Fix: rjsx-mode lsp backend
2018-05-18 01:25:29 -04:00
syl20bnr e5d8603290 Fix symbols's function definition is void: winum--window-list
fixes #10446
2018-05-18 01:25:29 -04:00
CeleritasCelery 2609538855 fix helm layer broken with smex package 2018-05-18 01:02:58 +03:00
duianto f4a3025174 Format symbol highlight transient state
Reduce the width of the listed key bindings by:
Moving the range and highlighted symbols counter to the right of the transient
state title.
Shorten some key description names.
Reduce three instances of "search" to just one.

And reorder the listed keys based on their search scope, small to large:
swoop, buffers, files, project.
2018-05-16 00:41:37 +03:00
syl20bnr 391bbc1498 fix backends when auto-completion-enable-snippets-in-popup is nil
fixes #10676
2018-05-14 21:32:53 -04:00
syl20bnr 40f41769bd auto-completion: add :call-hooks and rename :hooks to :append-hooks
Add these keywords to macro spacemacs|add-company-backends

:append-hooks controls wether we add the hooks to major mode hook variable
:call-hooks conrols wether we execute the created hooks function right away

Basically for multiple backends setup we want to pass :append-hooks to nil and
:call-hooks to t.
2018-05-12 02:26:37 -04:00
syl20bnr 40f28c7d12 auto-completion: fix duplicate addtion of backends
Reverting a buffer could put multiple entries of the same backend in the buffer
local `company-backends` variable.
This is due to the fact that we mutate `company-backends-xxxx-mode` variable
with:
         (setq ,backends-var-name
               (mapcar 'spacemacs//show-snippets-in-company
                      ,backends-var-name)))

Solution is to add a new variable that won't be mutated when we add the support
for snippets.
2018-05-12 02:03:33 -04:00
syl20bnr 439dafb4dd auto-completion: fix variables not set with multiple modes
When multiple modes where provided to macro spacemacs|add-company-backends along
with variables, only the first mode was taken into account as the `variables`
variable was nil after the first interation on `modes`.
2018-05-12 01:53:54 -04:00
Bet4 b0f77612e3 Call helm-mode when helm is initialized
Fixes #9826
2018-03-03 23:55:01 -05:00
syl20bnr ebe4c60264 Revert "Defer packages by default using use-package-always-defer"
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.

The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
2018-03-03 23:40:10 -05:00
Ayush Goyal d3bb27cbab Fix spacemacs/swiper-all-region-or-symbol function
spacemacs/swiper-all-region-or-symbol function doesn't work. This is probably
due to using old swiper api which has changed.
2018-03-03 15:02:21 +02:00
bmag f294d42ae5 use-package-always-defer: fix regressions in ivy layer
These changes were missed in commit 29c78ce841
2018-02-28 22:18:23 +02:00
Cormac Cannon 9cb48f2403 Added :commands section to export helm-xref-show-xrefs
Fixes a missing symbol error on my system.
2018-02-27 23:32:52 -05:00
syl20bnr e2b1cecb77 Update documentation for :defer t 2018-02-27 23:32:52 -05:00
syl20bnr 29c78ce841 Defer packages by default using use-package-always-defer
Warning now `:defer t` is implied, to force a package to load `:demand t` is
now necessary.
2018-02-27 23:32:52 -05:00
syl20bnr 13961e8ea1 helm: change default rg max-columns value to 512 and add doc 2018-02-24 19:49:39 -05:00
mike-work 658c34b9cc Configure rg max column number for search. 2018-02-24 19:49:39 -05:00
syl20bnr 2a5670e8df lsp: move helm-xref and ivy-xref ownership to helm and ivy layers 2018-02-18 22:48:12 -05:00
Muneeb Shaikh 6c476a3bd1 spacemacs-layouts: fix S/ivy-persp-switch-project
Fix #10177

counsel-projectile has updated custom actions mechanism[1] and
counsel-projectile-switch-project-actions is no more defined

Also,
 - moved counsel-projectile into spacemacs-layouts from ivy layer as
 perspective/layout based project switching depends on it instead of swiper
 - removed swiper from spacemacs-layouts

[1] a4e9a34d7f
2018-01-19 22:57:27 -05:00
Jack Kamm da64ca5a0b fix autoloading for spacemacs/helm-find-files #9826 2018-01-17 23:26:09 -05:00
syl20bnr 091800b25d auto-completion: use add-to-list instead of push
Also remove unneeded addtion of yasnippet-snippets directory as it is done
automatically in the package.

push is to avoid in :init blocks because it will add duplicated entries when
the user reload the configuration with SPC f e R.
2018-01-14 23:28:28 -05:00
syl20bnr c8984d102f auto-completion: sort packages configuration 2018-01-14 23:24:48 -05:00
Jack Kamm 4f0a5e3aee add yasnippet-snippets 2018-01-14 23:21:43 -05:00
syl20bnr 41e546f040 Move all use-package hook declaration to pre-init functions
Had to create dummy init functions at some places since the owner of a package
is the last layer that defines the init function of a package. And a package
can be installed only if it has an owner.
2018-01-10 23:57:18 -05:00
syl20bnr 014ed73109 ivy: change layer variable name for ivy-rich and add doc 2018-01-10 22:19:04 -05:00
Alejandro Catalina 43b35d5f05 Make ivy-rich a variable that controls whether to install it or not. 2018-01-10 22:10:26 -05:00
duianto ed0dfb73d0 Update Auto-completion docs, removed binding C-f
The `C-f` binding was removed by this PR:
Remove mapping <c-f> to select the frist completion. #10039
2018-01-10 22:07:50 -05:00
Chao Shen 031aaa164e Remove mapping <c-f> to select the frist completion. 2018-01-09 23:52:40 -05:00
syl20bnr 0ccc0067c7 helm: minor formating edit 2018-01-09 23:19:57 -05:00
Nir Friedman 4e7147375d Add better helm default multi action for files/buffers 2018-01-09 23:09:21 -05:00
Benjamin Hipple a08fe56671 autocomplete: Make idle-delay configurable
Adds an autocomplete-idle-delay layer variable that gets passed to company-idle-delay
or ac-delay.
2018-01-09 23:04:33 -05:00
Chirantan Ekbote 759a65cb71 Replace counsel--git-dir with (ivy-state-directory ivy-last)
abo-abo/swiper@4f57b5a9 removed the counsel--git-dir variable.  Code
that used that variable is now expected to use (ivy-state-directory
ivy-last) instead.  Update the code to reflect this change.

Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
2018-01-06 22:49:03 -05:00
Nikita Leshenko d0089a23de ivy: spacemacs-help: Fix candidate layers with no packages
When a layer doesn't have a package, its name was added to the candidate list as
a symbol instead of a string, breaking actions such as
layer-action-open-packages which expect a string.
2018-01-06 22:29:15 -05:00
syl20bnr 70925f3fba ivy: sort packages 2018-01-06 21:44:58 -05:00
Alan Ferguson 3467aa8433 ivy: add ivy-rich display transformer for ivy-switch-buffer 2018-01-06 21:40:53 -05:00
syl20bnr 46c5dfa4a7 cl-loop instead of loop 2018-01-06 21:38:13 -05:00
syl20bnr 14b206492b ivy: use post-init to add hook for org-ctrl-c-ctrl-c 2018-01-06 11:51:19 -05:00
syl20bnr 326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
smile13241324 a9e57f6c83 Fix documentation for sphinx, confluence, helm and ivy layer 2017-12-16 14:20:41 +02:00
syl20bnr 41e91a9dcf core: move all dotspacemacs-helm-* variables to layer variables
Add support for backward compatibility via a macro instrad of defvaralias as the
latter was not sufficient to support all the use-cases.
2017-10-08 10:29:34 -04:00
Ruslan Kamashev a7e30bfcb4 Fix typo (issue #9655) 2017-09-29 12:47:35 +03:00
syl20bnr 3bce69aba1 Fix warnings about unrecognized keys without helm or ivy layers
In perspective transient state. b and l keys in the docstring have no
corresponding functions declared whenever both helm and ivy layers are not
used.

Add two private variables to fix the issue:
- spacemacs--persp-display-buffers-func
- spacemacs--persp-display-perspectives-func

These variables are set to the correct functions by the helm and ivy layers via
a use-package hook.

Default is `ignore` function so b and l does nothing if both helm and ivy layers
are not used, TODO: we should find a better default function.
2017-09-26 00:10:00 -04:00
syl20bnr dc58801c7d core: refactor shadow mechanism
Shadowing is now control by layer property ':can-shadow' only.
can-shadow is a commutative relation, if layer1 can shadow layer2 then layer2
can shadow layer1.
the shadow operator is a binary operator accepting two layer names, it is not
commutative and the order of the operands is determined by the order of the
layers in the dotfile (like the ownership stealing mechanism).

If ':can-shadow' is set explicity to nil in the dotfile then the layer won't
shadow any layer.
For instance to install both ivy and helm layer:

   (setq dotspacemacs-configuration-layers
   '(
     ivy
     (helm :can-shadow nil)
     )

note that due to the commutative relation the above example can also be
written (in this case, ':can-shadow' should be read ':can-be-shawdowed'):

   (setq dotspacemacs-configuration-layers
   '(
     (ivy :can-shadow nil)
     helm
     )
2017-09-25 23:07:22 -04:00
syl20bnr 95699ee61c core: add layer shadowing system
Layers can now declare in their layers.el file that they shadow one or more
layers using the following functions:

- configuration-layer/shadow-layers
- configuration-layer/shadow-layer

Those function are commutative so:
    (configuration-layer/shadow-layer 'layer1 'layer2)
is the same as
    (configuration-layer/shadow-layer 'layer2 'layer1)
and means that
layer1 shadows layer2
and
layer2 shadows layer1

The typical use-case is helm and ivy layers. Helm shadows the ivy layer and
Ivy shadows the helm layer.

Shadowing is sensitive to the order of declaration of layers in the dotfile,
for instance:

    (setq dotspacemacs-configuration-layers '(
      helm
      ivy
     ))

means that ivy shadows helm so helm layer is effectively ignored,
whereas

    (setq dotspacemacs-configuration-layers '(
      ivy
      helm
     ))

means that helm shadows ivy so ivy layer is effectively ignored.

This mechanism can be turned off using the :can-shadow keyword:

    (setq dotspacemacs-configuration-layers '(
      ivy
      (helm :can-shadow nil)
     ))

means that both ivy and helm layers will be installed (not recommended in this
case)

Note that the `:can-shadow` mechanism will be fully implemented in a next
commit.
2017-09-21 23:56:09 -04:00
bmag 84751cbc53 counsel: rename git dir variable
counsel--git-grep-dir was renamed upstream to counsel--git-dir.
2017-09-10 19:54:33 +03:00
bmag f221d7ed73 helm-bookmarks: don't change keys to early
helm-bookmark-map might not be available yet when helm-mode is enabled, so don't
change bindings until it is available. (fixes a void-variable error)
2017-09-07 13:49:55 +03:00
syl20bnr b804aef694 yasnippet: fix check for dotspacemacs-directory-snippets-dir
An error occurred when dotspacemacs-directory was nil.
2017-08-27 22:44:18 -04:00
Wojciech Wojtyniak 24ed4bce59 Check if dotspacemacs-directory-snippets-dir exists before adding it
dotspacemacs-directory-snippets-dir contains a path to a directory with yas
snippets in ~/.spacemacs.d (or arbitrary picked dotspacemacs direcotry).
However, while it's not always present (user has to create it manually)
it is always checked while yas is loaded which generates errors.

This diffs forces checking whether the assumed path exists before adding
it to the yas-snippet-dirs.
2017-08-27 22:26:51 -04:00
JAremko 06301b2212 Improve exporting/testing 2017-08-18 20:50:21 +03:00
d12frosted c35b5b3dc3
set ivy-use-selectable-prompt to t
Following #8571.
2017-08-01 16:51:19 +03:00
d12frosted 6f5c50127f
remove duplication of key bindings in ivy readme 2017-07-30 14:52:55 +03:00
d12frosted 3c408b45a4
mention C-M-j key binding for using current input in ivy mini buffer
Fixes #8571
2017-07-29 20:33:41 +03:00
bmag 9e2da0037c Ivy: add counsel-mark-ring 2017-07-09 18:19:38 +03:00
James Wang 804bdb817b counsel-find-file: Bind `find-file-other-window' to "j"
By default, "M-o w" binding has already been used by ivy package. So we bind
`find-file-other-window' to "M-o j" here.
2017-07-07 12:32:21 +02:00
Eivind Fonn f4b53d2a4f Rename :depends to :requires 2017-07-03 09:54:53 +02:00
syl20bnr e2e532bb49 core: change <function>p to <function>-p suffixes for consistency
Also defined aliases for backward compatibility with `usedp` functions.
2017-07-02 10:09:39 -04:00
Eivind Fonn ebc6ba015e Implement directory search for ivy as well 2017-07-01 12:41:26 +02:00
Tim Jäger 0b2dfd0297 Implement helm-dir-search
This is equivalent to helm-file-search with the current directory as the scope
2017-07-01 12:41:03 +02:00
Eivind Fonn 08561d8631 core: implement :depends for package declarations
This replaces the older pattern
:toggle (configuration-layer/package-usedp ..)

This implementation ensures that :disabled-for honors dependent packages, i.e.
if package a depends on package b, which is owned by layer c, and layer c is
disabled for layer d, then neither package a nor b will be configured for layer
d. Previously, this was only true for package a, but not b.

This commit also fixes:

- configuration-layer/describe-package now shows which post-init and pre-init
  functions are disabled, if any
- Does not recreate all layer objects unconditionally when calling
  configuration-layer/discover-layers. Previously, this led to all layers being
  recreated after e.g. `SPC h SPC`, without any of the dotfile information.
  Since this information is now necessary for
  configuration-layer/describe-package, it’s important that we don’t clear the
  indexed layers when invoking this function.
2017-06-22 11:53:05 +02:00
Paulo Schneider 92b0f47c20 Fix docstring for searching in files with Helm
Although the functions search in files, the description references opened
buffers.

Addresses issue #9025.
2017-06-12 12:22:56 +02:00
David Florness 81dd44ef72 Fix typo 2017-06-04 21:39:56 -05:00
Aaron Jensen ed64e5fa29 Prefer .spacemacs.d/snippets over .emacs.d/private/snippets 2017-05-24 12:41:44 +02:00
Kristoffer Haugsbakk 79ed1a6b4b Use proper markup for code in readmes
By convention, code markup (`~`) is reserved for keybindings in Org-based
documentation in Spacemacs.  Verbatim markup (`=`) is reserved for code and
other code-like things.  So change several readmes to reflect this convention.

Use verbatim markup for things like (non-exhaustive list):

- Emacs Lisp functions, modes, buffers, etc.
- Environment variables
- Directory paths
- Code in general
2017-05-24 11:57:17 +02:00
MadAnd 8fea6f134d ivy: Use new API to register additional transient state bindings
This is a follow-up commit after #8155 has been merged. It applies the same
changes to code of the `ivy` layer. It is not part of #8155 because there was
no `ivy` layer when that PR was submitted.
2017-05-24 09:12:48 +02:00
Eivind Fonn 909d23f412 Use symbols instead of strings 2017-05-23 16:04:40 +02:00
MadAnd 5eeaed75d9 transient-state: Improve handling of additional bindings
Add two new functions: `spacemacs/transient-state-register-add-bindings`
and `spacemacs/transient-state-register-remove-bindings` to prevent layer
authors and end users from dealing with the underlying variables' subtleties.
2017-05-23 16:03:03 +02:00
JAremko 6c5a0b2b14 update docs to the new toc-org format 2017-05-22 18:35:37 +03:00
Aaron Jensen c4ce10ad82 helm/ivy: Limit rg results to 150 columns
Emacs doesn't handle long line lengths very well. If you accidentally rg a file
a file that has very long line lengths it can freeze emacs. This prevents rg
from returning any results with more than 150 characters. Instead, it will
indicate that there were results in that file but they were elided.
2017-05-07 22:07:42 -04:00
JAremko c1e4556882 Format and cleanup docs. Fix links. 2017-04-28 23:29:14 -04:00
Muneeb Shaikh f93730b19c ivy: counsel-faces -> counsel-describe-face
Mistakenly added `counsel-faces` while the intended command that should go under
`SPC h d F` is `counsel-describe-face`.
2017-04-28 22:24:21 -04:00
Adrian Staniec 29605f57eb add perm. highlight and swoop/swiper to Symbol Highlight Transient State 2017-04-23 19:42:32 -04:00
Kristoffer Haugsbakk a9a8f1e905 docs: correct keybinding for helm-resume
The keybinding has changed from `SPC h l` to `SPC r l`; see the changelog, entry
0.200.0 (2016/10/02). So correct the documentation to reflect that.

`SPC h l` is currently bound to `helm-spacemacs-help-layers` (on branch
`develop`).
2017-04-20 23:13:37 -04:00
Kristoffer Haugsbakk 31a11abd54 Use RET instead of return for return key
It is an Emacs-wide convention to use `RET` when referring to the act of
pressing the return key.  Spacemacs seems to follow that convention as well.  So
fix some Org files that were deviating from this convention.

In particular, replace usages of `<return>` and `return` with `RET`.

Also update the description of an `M-RET` keybinding[1] based on the docstring
of `ido-select-text`.

[1]: Suggested-by: bmag <bmag@users.noreply.github.com>
2017-04-20 23:09:46 -04:00
Muneeb Shaikh 52ffc018b1 ivy: Add counsel-faces 2017-04-20 22:43:26 -04:00
ralesi 9b24a38eb9 Ivy: Multiple loading improvements and additional alternates
* Don't list imenu if it isn't loaded
* Add recentf config to :post-init function
* Add :init and :config sections for counsel and ivy for accessibility
* Add projectile alt actions to invalidate cache
* Add recentf alt actions to refresh and delete items
* Load flx since it is listed
2017-04-17 23:39:35 -04:00
syl20bnr 7554affd49 Remove additional CUSTOM_IDs from docs 2017-04-17 19:36:38 -04:00
syl20bnr 62167f708d tests: move html-export test to doc /tests/doc directory 2017-04-17 19:25:43 -04:00
duianto 94703a64be Remove "pr" 'projectile-recentf from ivy layer
problem: "pr" 'projectile-recentf is defined in both the Ivy layer
and spacemacs-base/packages.el

solution: remove it from the Ivy layer.
2017-04-17 17:43:05 -04:00
syl20bnr a4be86cb5d Update documentation to remove explicit mentions to helm
Move some helm explicit sections the helm layer README.
2017-04-16 11:14:59 -04:00
person808 489f391fb5 Add beginners tutorial to ivy-spacemacs-help. 2017-04-16 11:14:59 -04:00
Somelauw c5066d6100 Add documentation for ivy 2017-04-16 11:14:59 -04:00
John Wood 86829c5467 Add Helm layer README
Add a README.org to the Helm layer to fix `helm-spacemacs-help-layers`
(`SPC h l`). There is little actual documentation -- it just links to
the official docs as well as the Helm wiki and the Helm guide.

Issue #8679
2017-04-16 11:14:59 -04:00
Somelauw 4361254e06 Fix #8698 2017-04-13 12:04:30 +02:00
syl20bnr 2fba8eeba8 Remove unecessary parenthesis in comments 2017-04-12 23:35:23 -04:00
tinysong 41de690a55 fix url jump error 2017-04-12 23:34:00 -04:00
MadAnd 33f3cf1293 ivy: add 2 missing bindings "SPC fel" and "SPC hi"
These are available with Helm and Counsel has similar counterparts.
2017-04-12 23:23:09 -04:00
Somelauw a8f68c0cca Add escape and M-SPC bindings to ivy
- escape quits the minibuffer
- M-SPC enters transient state

See conventions at
https://github.com/syl20bnr/spacemacs/blob/master/doc/CONVENTIONS.org
2017-04-12 23:21:51 -04:00
Steven Allen 6b7aa70428 Late expand completion backends in the spacemacs|add-company-backends macro
Otherwise, the Haskell layer throws an eager expansion error because
`layers/+lang/haskell/funcs.el`, which calls this macro, is loaded before
`layers/+completion/auto-completion/config.el`, which defines
`spacemacs-default-company-backends`.
2017-04-11 23:51:29 -04:00
duianto 743471996f Update auto-completion layer readme.org: dead link
Problem:  The auto-complete link: auto-complete.org leads to a domain
          for sale page.
Solution: Change the link to the auto-complete github page.
2017-03-26 13:25:59 -04:00
Robert O'Connor e9ff9f09c6 Remove trailing whitespace from all files 2017-03-26 13:06:43 -04:00
syl20bnr 12827c03d8 core: add :hooks property to spacemacs|add-company-backends
Allow to control wether to hook the generated hook functions or not.
2017-03-19 12:40:36 -04:00
bmag b6e553bd06 rg: explicitly request line numbers
rg tries to be smart about printing line numbers in its output (if running
inside a TTY or not). On Windows, sometimes (always?) it chooses not to print
line number. However, we always want line numbers, so we need to pass -n flag.

Also fix a minor grammar mistake.
2017-03-09 09:00:39 +02:00
Aaron Jensen 0c8af9686c Fix ivy wgrep and helm-ag when used with rg
wgrep does not know how to handle column numbers, which the `--vimgrep` flag
adds.
2017-02-20 08:39:42 +02:00
syl20bnr 1cfb90e030 auto-complete: add fuzzy package
Needed for fuzzy completion with auto-complete
2017-02-02 14:56:44 -05:00
syl20bnr 7d75e651a4 Remove limitation of number of candidates for helm-themes
Fixes #4062
2017-02-02 00:08:59 -05:00
syl20bnr 6b6d365b96 Speed up SPC h SPC by moving FAQ source in its own feature
Getting FAQ candidates requires org to be loaded which in turn requires to
load magit (via orgit) etc...

This commit moves the FAQ helm source to a new feature helm-spacemacs-faq and
removes the FAQ source from SPC h SPC so the FAQs are only available as a helm
source via SPC h f.

But we have still the FAQ org file entry in SPC h SPC so it is easy to open
the file from the main help key binding.
2017-01-15 22:19:56 -05:00
syl20bnr c1274fe580 Remove spacemacs-base/helm-spacemacs-deprecated 2017-01-15 22:19:56 -05:00
syl20bnr 3162f0e19b core: factorize code in configuration-layer/make-all-packages 2017-01-15 22:19:56 -05:00
syl20bnr fb27ede558 Bump year in copyright headers
Happy New Year 2017!
2017-01-05 23:08:17 -05:00
d12frosted a1fcb13803
fix spacemacs|add-company-backends usage example 2017-01-05 08:59:27 +02:00
Nikolai Myllymäki 1899666592
Show correct headline for beginners tutorial in SPC h SPC 2017-01-04 20:26:48 +02:00
Aaron Jensen 10c59bb142
ivy: Add C-c C-e to edit counsel-ag search results 2017-01-04 19:26:33 +02:00
syl20bnr 74fdbb6795 Refactor and simplify company backends declaration
Enabling a company backend for a specific mode was a tedious tasks with code
scattered at different locations, one for local variable definitions, one for
company hook function definitions and another where the backends were pushed to
the local variables (which was problematic, since we ended up pushing the same
backends over and over again with `SPC f e R`, pushes have been replaced by
add-to-list calls in the new macro).

All these steps are now put together at one place with the new macro
spacemacs|add-company-backends, check its docstring for more info on its
arguments.

This macro also allows to define arbitrary buffer local variables to tune
company for specific modes (similar to layer variables via a keyword :variables)

The code related to company backends management has been moved to the
auto-completion layer in the funcs.el file. A nice side effect of this move is
that it enforces correct encapsulation of company backends related code. We can
now easily detect if there is some configuration leakage when the
auto-completion layer is not used. But we loose macro expansion at file loading
time (not sue it is a big concern though).

The function spacemacs|enable-auto-complete was never used so it has been
deleted which led to the deletion of the now empty file core-auto-completion.el.

The example in LAYERS.org regarding auto-completion is now out of date and has
been deleted. An example to setup auto-completion is provided in the README.org
file of the auto-completion layer.
2017-01-02 00:39:04 -05:00
Nir Friedman bca0e4b6f6
Use helm ag file with interactive input 2016-12-22 17:47:58 +02:00
d12frosted 3e60792136
ivy delete file with confirmation 2016-12-22 15:53:28 +02:00
ralesi 1c8cb4a58c
Delete alternate actions is too invasive 2016-12-22 15:52:57 +02:00
Kristoffer Haugsbakk 3a61f8e6de Add verbatim markup to paths
By convention, filepaths are marked up with `=`.  Also add this markup to the
string `ViewLogMode`.
2016-11-25 12:23:39 +02:00
Aron Griffis 385c12743a Add ripgrep support
* Add rg to helm completion layer
* Add rg to ivy layer
* Prepend rg to dotspacemacs-search-tools
* Add rg to documentation
2016-11-11 15:22:03 +02:00
Bryan Gilbert 7581662d7e rebind 'SPC f b' to 'counsel-bookmark' when using ivy 2016-11-05 12:27:56 +02:00
Eivind Fonn 977a29316b Fix unbound holy-mode error 2016-10-29 15:11:36 +02:00
Xiao Hanyu 0de0705e88 Typo fix
Just a typo fix for auto-completion layer.
2016-10-27 11:06:19 +08:00
Bryan Gilbert b515253026 move helm specific layout transient state keybindings to helm layer 2016-10-23 19:44:35 +02:00
Bryan Gilbert 389d722996 close layout transient state upon entering layout buffer select when 2016-10-23 19:44:35 +02:00
Diego Berrocal 704e103394 Add open packages.el shortcut in spacemacs-help
I find myself wanting to open the package.el and f3 is just too far away
in my keyboard. And I thought maybe this would be something people might
want. Also maybe we could have special binding for actions? like `C-1`
`C-2`, etc
2016-10-17 14:03:21 +02:00
bmag 0e1491c434 Make ivy restrict buffers to layout
Also create separate non-restricted-buffer-list (`SPC B b`) for helm and
ivy.
2016-10-17 13:45:43 +02:00
Bryan Gilbert 59897e2abd Fixed layout transient state not closing on layer select in ivy layer 2016-10-17 13:14:04 +02:00
syl20bnr 703f78c2b8 Cleanup pass on file spacemacs-base/funcs.el
- Apply `/` and `//` rules (double / is for private functions)
- Add missing `spacemacs/` prefixes
- Move functions used outside of spacemacs-base layer to
  core/core-funcs.el
- Remove unused functions

Commit originally intented to only rename linum-update-window-scale-fix
to spacemacs/linum-update-window-scale-fix :-)
2016-10-09 13:14:41 -04:00
Adam Sokolnicki 51c49531e3
Re-map "pp" to counsel-projectile-switch-project
Move counsel-projectile to "p SPC" as the original package suggests.
2016-09-23 10:47:13 +03:00
Eivind Fonn d5baec4b44 Fix SPC sj binding 2016-09-07 14:50:31 +02:00
syl20bnr 03f9f9f700 core: contain side effects when loading packages for SPC h SPC
Fixes some edge cases like SPC f e R performed after SPC h SPC which
could wrongly install or uninstall packages.

Side effects is contained using the variable
configuration-layer--package-properties-read-onlyp, if non nil then
properties value of a package cannot be overwritten.
2016-09-05 20:54:07 -04:00
MadAnd a7232d53e7 Fix auto complete with key sequence in Hybrid mode
Implement handling of `evil-hybrid-state-map` keymap to make completion
with a key sequence work in Hybird state.
2016-08-30 16:18:13 +02:00
bmag 6d454a2313 auto-completion: manual help tooltip and minor fix
New value `manual` for auto-completion-enable-help-tooltip enables the
user to display help tooltip on-demand. Other values remain the same:
nil for no tooltip at all, t (or any non-nil non-manual value) for
automatic tooltip.

Minor fix: call `company-quickhelp-mode` just once, because it's a
global minor-mode.
2016-08-30 16:10:27 +02:00
Eivind Fonn 886aac6386 Fix C-k not working in company-quickhelp-mode 2016-08-30 16:00:19 +02:00
Eivind Fonn 3357153e36 Fix company-quickhelp in daemon mode 2016-08-30 16:00:07 +02:00
YeJun Su 87bddc0dac Replace "ivy-recentf" with "counsel-recentf"
As the tip says: ‘ivy-recentf’ is an obsolete command (as of 0.8.0); use ‘counsel-recentf’ instead.
2016-08-30 15:04:47 +08:00
d12frosted ca8d717f6d
fix typo in auto-completion layer readme 2016-08-27 13:08:32 +03:00
syl20bnr e4b15b16de Dispatch function spacemacs/jump-in-buffer to layers
Use imenu init and post-init functions to leverage the layer system and
get better isolation of configuration.
2016-08-25 20:42:01 -04:00
MadAnd 309e6eb4bb Fix smartparens after nested snippet expansions
Current implementation, #1644, doesn't handle the nested snippet
expansion properly, so you end up with smarparens disabled. Very
annoying.

I improved the implementation to remember the current state of
smartaperns before a top-level snippet expansion and preserve on any
nested snippet expansions.

Also, some housekeeping of the related code:
* Move hook handlers to the `funcs.el`.
* Add comments about yasnippet hooks subtleties relevant to the issue.

Fixes #1512
2016-08-08 13:42:45 +02:00
Eivind Fonn 989dd3d774 Rename variable w/ spacemacs prefix 2016-08-05 21:26:26 +02:00
bmag cea0819ca4 Move helm-popwin config to helm layer 2016-08-05 21:24:47 +02:00
Jeremy Bi 4b682ce1b3 Reduce yas loading warning 2016-08-05 08:47:36 +08:00
syl20bnr 1c4f685b13 core: refactor layer system
TL;DR Should get 20~25% speed improvement on startup, should get a big
improvement when using ivy or helm SPC h SPC. Users with layers.el files
in their layers must use `configuration-layer/declare-used-layer`
instead of `configuration-layer/declare-layer`

The implementation of the layer system made heavy use of `object-assoc`
and `object-assoc-list` functions which are not efficient. This PR
mainly replaces those object lists with hash maps in order to index the
objects by their name and achieve an O(1) access time.

The old object lists `configuration-layer--layers` and
`configuration-layer--packages` have been each by two variables each:
- `configuration-layer--indexed-layers` which is a hash-map of all the
layer objects and `configuration-layer--used-layers` which is a list of
all _used_ layers symbols,
- symmetrically `configuration-layer--indexed-packages` which is a
hash-map of all the package objects and
`configuration-layer--used-packages` which is a list of all _used_
packages symbols.

The hash map `configuration-layer--layer-paths` is gone, now we create
directly layer objects when discovering the layers and set the :dir
property. Note that previously the layer paths were the parent directory
of the layer, now :dir is the layer path.

The function `configuration-layer//make-layer` is now similar to its
counterpart `configuration-layer//make-package` in the sense that it
takes an optional `obj` to be able to override its properties.

The functions `configuration-layer/declare-layer` and
`configuration-layer/declare-layers` now takes an optional parameter
`usedp` in order to declare used or not used layers. For convenience
new functions have been added: `configuration-layer/declare-used-layer`
and `configuration-layer/declare-used-layers`, users _must_ update all
occurrences of `configuration-layer/declare-layer` by
`configuration-layer/declare-used-layers` in their `layers.el` files.

`helm-spacemacs-help` and `ivy-spacemacs-help` are updated to match the
changes in `core-configuration-layer.el`.

Rename some variables to make them more explicit:
`configuration-layer-no-layer` -> `configuration-layer-exclude-all-layers`
`configuration-layer-distribution` -> `configuration-layer-force-distribution`
2016-07-28 23:26:54 -04:00
Ista Zahn 84580b1d80 User configurable default company-backends 2016-07-26 16:33:42 +09:00
bmag 2f6bf80275 Fix void-function spacemacs//restore-previous-display-config error
Move usage of spacemacs//restore-previous-display-config from helm layer
to spacemacs-completion layer. (It's already defined there)
2016-07-25 12:33:40 +09:00
d12frosted 5c5ca4e7a3
add open config action to layer spacemacs help 2016-07-17 09:57:13 +03:00
d12frosted c64d04f944
fix ivy-spacemacs-help//layer-action-add-layer 2016-07-16 11:37:09 +03:00
d12frosted 28220ef979
fix ivy layer help actions 2016-07-16 11:28:59 +03:00
Muneeb Shaikh 5ae1013854 ivy: remove extra projectile-switch-project binding 2016-07-14 20:37:05 +05:30
Muneeb Shaikh 212944ac2b
ivy: fix open spacemacs doc function
fix #6513
2016-07-08 09:04:24 +03:00
liuxiang 43c760df88 Bind "C-c C-e" to spacemacs/helm-find-files-edit for helm-files buffer. 2016-07-05 00:23:16 -04:00
zilongshanren 94969fd81d fix break API changes for ivy 0.8
fix describe packages

refine

rename car cdr to cadr

fix SPC h l
2016-07-05 00:23:16 -04:00
Eivind Fonn 4aa01559af helm: Set projectile-completion-system 2016-07-05 00:23:16 -04:00
Muneeb Shaikh db162af3d8 Set projectile-completion-system to helm
It is inconsistent when using helm as default completion and command
such as `SPC m r f c` opens up ido in rails project.
2016-07-05 00:23:16 -04:00
Exaos-memes 904f7ea665 Define new variable: spacemacs-start-directory.
With this new variable, user can load spacemacs anywhere, e.g.
"~/.emacs.d/spacemacs/". Only user's cache directory is still hard-coded
as "~/.emacs.d/.cache/". If user want to use spacemacs this way, drop
one line as the below in "~/.emacs.d/init.el":

    (setq spacemacs-start-directory "~/.emacs.d/spacemacs/")
    (load-file (concat spacemacs-start-directory "init.el"))
2016-06-23 00:19:34 -04:00
ralesi 560f86f997
Fix :owner reference in ivy-spacemacs-help 2016-06-22 07:44:15 +03:00
Eivind Fonn 92b48eadea 💣 Drop support for Emacs 24.3
Spacemacs now needs at least 24.4 to launch.
2016-06-20 22:05:56 -04:00
syl20bnr 117dcba0ed Revert "Drop support for Emacs 24.3"
This reverts commit 31bab70397 making
a new commit to put TheBB as the author.
2016-06-20 22:05:12 -04:00
syl20bnr 31bab70397 💣 Drop support for Emacs 24.3
Spacemacs now needs at least 24.4 to launch.
2016-06-20 21:55:36 -04:00
Eivind Fonn 2a6ffc72d9 ivy: Support GNE
Implement a keymap for Spacemacs’ counsel search that supports saving
the results to a buffer (bound on F3 as in helm). Ensure that the new
buffer supports the GNE API.
2016-06-18 19:21:26 -04:00
Eivind Fonn 194af58f3c helm: Support GNE
Advice the save-buffer functions to use the GNE API in that buffer.
2016-06-18 19:21:26 -04:00
syl20bnr 4f5d7670f1 core: fix typo with configuration-layer--inhibit-warnings 2016-06-10 23:41:33 -04:00
syl20bnr cc91842bd8 helm: improve SPC h SPC
As it was the case during the good old days when spacemacs was still a
baby, SPC h SPC now list correctly all the pre/init/post functions and
the associsted layer. It also now list properly the current owner of
a package so it is easy to find the owner of a package by narrowing
with `packagename owner`.

This new old functionality is possible by leveraging the last
improvements to the layer system (see previous commits).

TODO: update the sources for Ivy
2016-06-10 22:48:41 -04:00
syl20bnr 775c1f78db ivy: create missing layers.el file
Was triggering an error if ivy and smex layer were both used at the
same time and smex layer stole ownership of smex package.
Fixes #6281
2016-06-10 20:53:23 -04:00
syl20bnr 81fbb9a292 Format README files with spacefmt 2016-06-10 00:09:42 -04:00
syl20bnr f5799ab1ec ahs: move b, f and / key bindings to helm and ivy
Correctly augment the docstring based on the presence of b,f and /
bindings using dynamic hint.
b,f and / are not available if none of helm or ivy layers are used.
2016-06-09 22:50:24 -04:00
ralesi 2a07a7fd76 Add custom evil-register listing with ivy. 2016-06-09 21:27:30 -04:00
Laszlo Szekeres a89573eb85 Enable make completion with ivy
Invoking "make" or "project compilation" (<kbd>SPC c m</kbd>, <kbd>SPC c
c</kbd>) is currently not supported in ivy mode. The PR re-enables them
by adding helm-make to the ivy packages with ivy completion method.
2016-06-07 23:19:32 -04:00
Markus Koller 58bb7d122f spacemacs-base: Always kill buffers with SPC b d
Fixes #4929
2016-06-05 21:22:50 -04:00
Eivind Fonn ffd9ffc537 helm-help: pass toggle candidates as list
This ensures that the status is evaluated in the buffer where help was
invoked, rather than in the helm buffer.
2016-06-02 22:47:56 -04:00
Muneeb Shaikh 7f22bf1fc8 completion/ivy: fix projectile-switch-project-action 2016-06-02 15:44:34 +05:30
ralesi bb37cb9b9a ivy: spacemacs-help
* Provide dired functionality for package and layer lists.
2016-06-01 21:38:35 -04:00
d12frosted d404490ed1 [ivy] add delete and remove file actions 2016-06-01 21:36:45 -04:00
zilongshanren f06129c0f3 add ivy-hydra packages 2016-06-01 21:32:48 -04:00
syl20bnr 8f45a94095 ivy: perspective -> persp-mode and layout
Fix wrong package name.
Replace `perspective` words by `layout`
2016-05-31 23:39:47 -04:00
ralesi 1ef6f10643 Provide custom actions for ivy and counsel-search 2016-05-31 23:26:21 -04:00
syl20bnr 4dead4cca7 Use use-package hooks for helm and ivy projectile setup
It allows the configuration function for projectile to be agnostic of
other packages.

Also fix wrong `SPC p s` key binding (it is `SPC p p`).
2016-05-31 23:19:54 -04:00
syl20bnr 47988be186 ivy: use :toggle keywork for counsel-projectile 2016-05-31 23:09:55 -04:00
ralesi 0c3ab2f3d1 Use counsel-projectile for projects with ivy. 2016-05-31 23:07:57 -04:00
Eivind Fonn 845c42d252 core: add predicate function for toggles
Also use output in Spacemacs help sources
2016-05-31 22:33:44 -04:00
Eivind Fonn 62fc64f745 core: special toggle API for minor modes 2016-05-31 22:33:44 -04:00
syl20bnr 5e448a60ed Remove loading of funcs.el and config.el for helm and ivy spacemacs help 2016-05-29 22:39:56 -04:00
syl20bnr a2de9a63af Use :toggle keyword instead of when forms 2016-05-29 22:39:21 -04:00
syl20bnr 818867e012 Fix package sources for ivy and helm 2016-05-29 21:12:54 -04:00
sooheon ec3ea5b41e Move custom-set-faces out of company config
Keep it in a recommendation in the README for the layer. Eval'ing the
custom-set-faces directly in the config makes it difficult to revert the
customizations.
2016-05-27 00:32:05 -04:00
sooheon 15e6290151 Make check for company-mode explicit, not implicit
People may have company-mode installed without necessarily using the
auto-completion layer.
2016-05-27 00:32:05 -04:00
syl20bnr 519d42e7c6 ivy: remove pcre2el from package list 2016-05-27 00:32:05 -04:00
sooheon cd848d7e28 We don't need to declare pcre2el in ivy 2016-05-27 00:32:05 -04:00
syl20bnr 1f993bddf6 Rename spacemacs-helm and spacemacs-ivy layers to helm and ivy
For ivy users: be sure to update your dotfile by replacing spacemacs-ivy
by ivy
2016-05-15 22:24:27 -04:00
syl20bnr 70aa0105a4 Move default config for ivy to spacemacs-completion
Use a custom package name. Also dispatch functions to funcs.el files.
Disable ivy-hydra for now.

With this default configuration users using helm instead of ivy still
get a good ivy base configuration (UI and Key bindings).
2016-05-15 22:03:25 -04:00
syl20bnr cbda059ea0 Move default config for helm to spacemacs-completion
Use a custom package name. Also dispatch functions to funcs.el files.
With this default configuration users using ivy instead of helm still
get a good helm base configuration (UI and Key bindings).
2016-05-15 22:02:18 -04:00
ralesi ddffb9445b pcre2el is not loaded in spacemacs-base, but needed for ivy-ag support. 2016-04-28 15:12:49 +02:00
syl20bnr 74ff0c2c70 auto-completion: fix definition of navigation key bindings 2016-04-21 23:26:20 -04:00
syl20bnr 3ede905745 Apply doc-fmt to various READMEs 2016-04-21 22:25:51 -04:00
syl20bnr e1a6f39e0b auto-completion: move functions to funcs.el 2016-04-21 21:35:27 -04:00
syl20bnr 667a7f61a4 auto-completion: support emacs style for navigation in company 2016-04-21 21:29:20 -04:00
sooheon da8b0294c5 Wrap company kb changes in check for user prefs
Only use evilified bindings in company-active-map if user wants vim
style or hjkl bindings.
2016-04-21 21:15:56 -04:00
sooheon 291ec69a7d ivy: don't override prefix-help-command
counsel-descbinds is accessible through SPC-?, and shadowing the C-h key
for which key makes pagination impossible. As this deviates from
which-key defaults, this should be up to user to config, not a base in
spacemacs-ivy.
2016-04-21 21:09:11 -04:00
sooheon 190962bc4b Colorize spacemacs/counsel-search results
Use counsel-git-grep-transformer for search results.
2016-04-17 00:37:47 -04:00
sooheon 8a64b2c28d Let counsel-search respect ivy-count-format
There is no reason to hardcode the formatting string for this search
function in particular.
2016-04-17 00:37:47 -04:00
Eivind Fonn 787fc435f7 Revert "hotfix: use stable version of yasnippet"
This reverts commit 3717864408.
2016-04-10 17:55:36 +02:00
syl20bnr 3717864408 hotfix: use stable version of yasnippet 2016-04-09 10:14:47 -04:00
tyuuni b364697125 spacemacs-helm: Fix typo (,r . ,r)
Fix a little bug.
2016-04-08 18:04:51 -04:00
Eivind Fonn bb46ced71c Fix bookmark binding conflict 2016-04-06 11:28:24 +02:00
person808 4010c63276 Change theme search keybinding to SPC T s.
Unify the bindings of spacemacs-helm and spacemacs-ivy. The new mnemonic
for both ivy and helm is `Themes/select`.
2016-04-01 00:26:20 -04:00
syl20bnr 3b0c1fd93d Convert org doc files with doc-fmt 2016-03-30 22:59:55 -04:00
syl20bnr 16afe67907 core: enhance lazy installation of layer
Now Spacemacs will ask for layer installation when opening a file with
a known file type.
The auto-mode-alist entries are added by the file auto-layer.el in
the layers directory.

Easy insert of forms for lazy initialization can be done with the
interactive function configuration-layer//insert-lazy-install-form.

Change default value of dotspacemacs-enable-lazy-installation to t.
2016-03-25 01:03:37 -04:00
syl20bnr 9d0558992c layers directory: create new categories
+chat
+checkers
+emacs
+intl
+os
+pair-programming
+tags
+theme
+web-services
2016-03-23 21:39:43 -04:00
syl20bnr 2d61e5304e core: add support for :variables keyword in dotspacemacs-editing-style
Add variable `hybrid-mode-enable-hjkl-bindings` to enable hjkl
navigation in hybrid mode.

example:

dotspacemacs-editing-style '(hybrid :variables
                                     hybrid-mode-enable-hjkl-bindings t
                                     hybrid-mode-default-state 'normal)
2016-03-16 22:43:50 -04:00
syl20bnr 82fdd9a511 Use evil in holy-mode
Motivation

While disabling Evil in holy-mode makes its implementation shorter and
sounds elegant on the paper, in practice it puts a big burden on the
configuration parts which need to know if Evil is enable or not. This is
a bad separation of concerns and the bunch of fixes that we were forced
to do in the past weeks shows this issue. Those fixes were about
removing the knowledge of the activation of Evil by implementing new
dispatching functions to be used by layers, this is cumbersome and makes
Spacemacs layer configuration more subtle which is not good. There was
additional bad consequences of the removal of Evil state like the
impossibility to use Evil lisp state or iedit states, or we would have
been forced to implement a temporary activation of Evil which is
awkward.

Instead I reintroduce Evil as the central piece of Spacemacs design thus
Evil is now re-enabled in holy-mode. It provides the abstraction we need
to isolate editing styles and be able to grow the Spacemacs
configuration coverage sanely. Layers don't need to check whether the
holy mode is active or not and they don't need to know if Evil is
available (it is always available). We also don't need to write
additional dispatching functions, this is the job of Evil, and I think
it provides everything for this. Ideally configuration layer should be
implemented with only Evil in mind and the holy-mode (and hybrid-mode)
should magically make it work for Emacs style users, for instance we can
freely use `evil-insert-state` anywhere in the code without any guard.

Evil is now even more part of Spacemacs, we can really say that
Spacemacs is Emacs+Evil which is now an indivisible pair. Spacemacs
needed this stable API to continue on the right track.

While these changes should be rather transparent to the user, I'm sorry
for this experimental period, I failed to see all the implications of
such a change, I was just excited about the possibility to make Evil
optional. The reality is that Spacemacs has to embrace it and keep its
strong position on being Emacs+Evil at the core.

Implementation

- insert, motion and normal states are forced to emacs state using an
advice on `evil-insert-state`, `evil-motion-state` and
`evil-normal-state` respectively. These functions can be used freely in
the layer configuration.
- A new general hook `spacemacs-editing-style-hook` allow to hook any
code that need to be configured based on the editing style. Functions
hooked to this hook takes the current style as parameter, this
basically generalize the hook used to setup hjkl navigation bindings.
- ESC has been removed from the emacs state map.
- Revert unneeded changes
  - Revert "evil: enter insert-state only from normal-state"
    commit bdd702dfbe.
  - Revert "avoid being evil in deft with emacs editing style"
    commit f3a16f49ed.

Additional changes

All editing style packages have been moved to a layer called
`spacemacs-editing-styles`

Notes

I did not have time to attack hybrid mode, I should be able to do it
later.
2016-03-13 21:16:55 -04:00
Eivind Fonn 0585c4047b Fix indentation 2016-03-12 17:55:29 +01:00
M. Tong d2d82e2312 Fix error when using `spacemacs/counsel-search' wihout initial input. 2016-03-12 17:54:43 +01:00
syl20bnr d52eb414bb Remove dotspacemacs-use-ido
Users should now bind ido commands themselves.
2016-03-10 23:13:19 -05:00
Ista Zahn 2d353a329e Default to using helm for files and buffers. 2016-03-10 23:13:19 -05:00
syl20bnr 9e47cf1f97 Fix C-c C-e key binding in helm-find-files 2016-03-10 23:13:19 -05:00
Aaron Jensen da66ac312f spacemacs-helm: Add C-c C-e to switch to wdired
Fixes #3724
2016-03-10 23:13:19 -05:00
Muneeb Shaikh dfceb3deb9 spacemacs-ivy: escape special chars in counsel input 2016-03-09 20:12:01 -05:00
Muneeb Shaikh c955014102 spacemacs-ivy: hide lighter counsel 2016-03-06 19:50:17 -05:00
justbur 5da4ce9d6c counsel: Use counsel-mode
Minor mode that remaps all built-in Emacs commands that have a counsel
replacement.
2016-03-05 21:01:46 +01:00
Allen Li 36bb3328bf Bind helm-ag--update-save-results
This updates the helm-ag results buffer, very useful.
2016-03-05 20:51:54 +01:00
justbur 39e06feba9 Use unless-debug version of condition-case
It's not possible to get full backtraces in these instances when an
error is signaled, and I think we should generate full backtraces when
debug-on-error is enabled as a general rule.

I had to make this change at one place to track down the root of problem
2 in #5200.
2016-03-03 20:30:30 +01:00
d12frosted 39273ce87b fix spacemacs/swiper-region-or-symbol 2016-02-25 20:31:14 +01:00
person808 cbf42bbff2 Change ivy-spacemacs-face to match counsel-M-x. 2016-02-23 20:50:39 +01:00
syl20bnr fd9326486a core: new function configuration-layer/describe-package
Add actions for both helm and ivy.

TODO:
- see TODO in function body
- replace SPC h d p (list all packages, use spacemacs describe when
it is a layer package, otherwise use vanilla describe).
2016-02-22 02:29:43 -05:00
syl20bnr 83fa2996a6 ivy: put ivy-resume on SPC r l
As helm-resume
2016-02-16 23:58:44 -05:00
justbur 3e494749f1 counsel: Add spacemacs//counsel-occur
Puts counsel occur buffers in grep mode for easy transition to wgrep
mode.
2016-02-16 23:58:07 -05:00
justbur 3ac7efeb90 ivy: Add wgrep package
Can be used with counsel-git-grep to edit results in an occur buffer.
Handy!

Add wgrep bindings
",w" to enter wgrep mode
",," to commit changes
",a" to abort

counsel: Fix command output for wgrep
wgrep doesn't work with the column number in the command output
2016-02-16 23:57:28 -05:00
justbur 19c262ea0c ivy: Fix counsel-git-grep-region-or-symbol 2016-02-16 23:57:27 -05:00
justbur e94a80db49 ivy: Promote ivy-occur-mode-map
Prevent evil normal state keys from shadowing the ivy occur buffer keys
2016-02-16 23:57:27 -05:00
justbur d0cec17919 ivy: spacemacs layouts support
- port helm-perspectives
- port persp switch buffer
- port persp-close[kill]-other to use ivy
- layouts-ts: Make help more consistent
- layouts-ts: Reorganize docstring
Instead of one big list, try to organize into sections to make it easier
to find the right key
2016-02-16 23:55:23 -05:00
justbur 95a1583c73 ivy: After enabling ivy-mode disable ido-mode 2016-02-16 23:53:43 -05:00
justbur 0b997316d0 helm: Move helm-apropos to spacemacs-helm 2016-02-16 23:53:43 -05:00
justbur f6b82ee90d helm/ivy: Use hook to update hjkl navigation
Introduce hjkl-completion-navigation-functions to hold the functions to
disable and enable hjkl navigation for ivy and/or helm. The hook is run
with args to indicate whether to enable or disable.
2016-02-16 23:53:43 -05:00
justbur cf90c8ee07 ivy: Add custom transient state
Replace the hydra usually bound to C-o
2016-02-16 23:53:42 -05:00
justbur 1762b85869 ivy-help: Show no package layers under SPC h SPC
See #4540
2016-02-16 23:53:42 -05:00
justbur 3f7501fe92 ivy: Use ivy for auto-highlight-symbol search 2016-02-16 23:53:42 -05:00
Bailey Ling 204b6af424 helm should always be fuzzy by default 2016-02-16 23:18:39 -05:00
justbur aab007d225 evil-jumper: Remove obsolete package
The functionality is now incorporated into the evil core and this
package has been marked as obsolete.
2016-02-16 21:23:07 -05:00
Marat Safin 8d21d236e2 ivy: projectile-vc binding 2016-02-01 00:09:47 -05:00
Balaji Sivaraman e19abfc559 Fix/delete dead references to HOWTOs.org file 2016-01-31 23:04:47 -05:00
Balaji Sivaraman 2b1ed603dc Change all references of micro-state in codebase to transient-state 2016-01-31 23:04:47 -05:00
Fabien Dubosson 42bc71dcac Add helm-projectile-find-file-dwim
Complete #4144 in supporting `spacemacs-helm`
2016-01-31 22:12:49 +01:00
Xue Fuqiao 4958f7fc10 Fix "the point" problems
Point is a proper name when it refers to the current editing location.
Moreover, point designates a place *between* two characters (or before the first
character, or after the last character), rather than a particular character.

References:

* http://lists.gnu.org/archive/html/emacs-devel/2008-10/msg00414.html
* https://www.gnu.org/software/emacs/manual/html_node/elisp/Point.html#index-point
2016-01-31 21:48:52 +01:00
justbur 4660a57788 helm: Update helm-nagivation ts docstring 2016-01-26 01:21:01 -05:00
justbur e97af03ff7 Call new micro-state a transient state 2016-01-26 01:21:00 -05:00
justbur 102e2e8b45 helm: Translate helm-navigation micro-state 2016-01-26 01:20:59 -05:00
justbur 90df083ad3 spacemacs-base: Add hydra package 2016-01-26 01:20:59 -05:00
justbur 1bf4052f37 counsel: Allow command line args in search
If " -- " appears in the search string split the search string on the
first occurrence with everything before treated as args to the search
and everything after treated as part of the regex.
2016-01-26 01:20:58 -05:00