Commit graph

53 commits

Author SHA1 Message Date
syl20bnr
97cd83e169 Apply GPLv3 terms explicitly to all elisp files 2021-03-25 22:59:32 -04:00
syl20bnr
d55a9e2e67 Update header for year 2021 2021-03-25 22:59:32 -04:00
duianto
3fe675d588 [auto-completion] Fix obsolete: helm-c-yas-space-match-any-greedy
Fixes:
Got a warning when trying to insert YASnippet. #12648
https://github.com/syl20bnr/spacemacs/issues/12648
2021-03-22 11:15:45 +01:00
Maximilian Wolff
d16a8c3a7c
[auto-completion] Remove standard transformers
These try to modify the completions on a global basis.
This is causing a lot of issues with more intelligent
backends, which tend to do this in a more efficient
way already.

I have removed the global bindings for these now.
Layers should make `company-transformers` buffer local
and add specific versions of these when required.
2021-03-21 22:20:55 +01:00
Maximilian Wolff
8f854da649
Make auto-completion activate/deactivate smartparens properly
auto-completion did not respect the smartparens-mode
defined in the dotfile when disabling/restoring it.

In addition when starting a yasnippet expansion
smartparens-mode was not properly restored resulting
in having smartparens always disabled.

This PR tries to fix both issues. Though judging from
the comments this could kill `hippie-expand` expansion.
However as yasnippet is more common I think this is
to be preferred.
2021-03-16 22:21:40 +01:00
Robert O'Connor
82ba73a1c0
update copyright to 2020 2020-09-23 21:25:01 +02:00
syl20bnr
e3acd91118 [core] Rename spacemacs|require to spacemacs|require-when-dumping 2020-09-20 21:17:21 -04:00
Maximilian Wolff
d314cc7eef
Make auto-complete more configurable and efficient for lsp
To optimise performance of lsp mode in emacs 27 and above
I have introduced a new dotfile variable to define the size
of data read from external processes. The default I have
set to the recommended setting from lsp-mode.

In addition I have introduced a new layer variable for
auto-complete-layer to define the minimum prefix length.

I have also added instructions to auto-complete's readme
how to set these variables to the recommended settings
for lsp-mode.

Changes inspired from #13507
2020-05-15 22:22:28 +02:00
wangtianshu
38a9f7c395 [auto-completion] Don't install company-statistics unless necessary 2020-02-07 20:14:37 +01:00
Nikita Leshenko
aaa11a6823 Convert case' to cl-case' to fix cl-lib related errors
Broken since PR #13059
2019-12-18 12:08:05 +01:00
Tianyao Chou
06786b4e66 Add company-box and basic setup
add auto-completion-enable-help-tooltip support

add auto-completion-use-company-box option and update document

add company-box config source url, remove empty line and join single line parenthesis

hide company-box mode line

update CHANGELOG.develop

hide doc popup when selection changed

add all-the-icon in auto-completion-packages

move icons config to auto-completion/init-all-the-icons according to duianto's advice
2019-10-18 13:20:55 +02:00
br3athein
72d2e7d09d Revert "Disable ac-ispell untill it's restored in melpa"
This reverts commit c290645261.
2018-08-09 22:28:27 +01:00
Codruț Constantin Gușoi
c290645261 Disable ac-ispell untill it's restored in melpa
It seems like the package is missing. We waited a while thinking it will be fixed but
people are starting to get annoyed by this. To be re-enabled once the upstream issue
is resolved.

Refs: https://github.com/melpa/melpa/issues/5657
2018-08-02 11:04:12 +01:00
syl20bnr
6220ace290 core: rework environment variables and PATH management
See updated DOCUMENTATION.org and FAQ.org for more info.

* add core-env.el
* add library load-env-vars.el
* add bootstrap package dotenv-mode.el
* remove spacemacs-environment from bootstrap layer
* remove dotspacemacs variable dotspacemacs-import-env-vars-from-shell
* remove dotspacemacs variable dotspacemacs-improt-env-vars-shell-file-name
* add new key binding SPC f e e to open spacemacs.env file
* add new key binding SPC f e E to reload environment variable from env file
* add new key binding SPC f e C-e to re-initialize the env file from shell.
2018-06-25 02:55:28 -04:00
Kalle Lindqvist
bba3a782cb auto-completion: make helm-company use proper spacemacs idioms 2018-06-07 00:20:41 -04:00
Kalle Lindqvist
eb4bc581c2 auto-completion: ensure the counsel block adds company hook in time 2018-06-07 00:20:41 -04:00
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
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
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
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
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
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
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
syl20bnr
326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05: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
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
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
Aaron Jensen
ed64e5fa29 Prefer .spacemacs.d/snippets over .emacs.d/private/snippets 2017-05-24 12:41:44 +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
fb27ede558 Bump year in copyright headers
Happy New Year 2017!
2017-01-05 23:08:17 -05: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
3357153e36 Fix company-quickhelp in daemon mode 2016-08-30 16:00:07 +02: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
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
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
62fc64f745 core: special toggle API for minor modes 2016-05-31 22:33:44 -04:00
syl20bnr
a2de9a63af Use :toggle keyword instead of when forms 2016-05-29 22:39:21 -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
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
74ff0c2c70 auto-completion: fix definition of navigation key bindings 2016-04-21 23:26:20 -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