Commit graph

209 commits

Author SHA1 Message Date
Henrik Lissner
1ef581d376
Load company (+auto) on post-self-insert-hook
This is a little later than pre-command-hook, but makes more sense.
Needs more testing though!
2018-06-05 12:04:43 +02:00
Henrik Lissner
cd0e9826ac
Remove company-statistics package
Was a little slow, not terribly helpful and would clash with certain
company backends (like company-lsp).
2018-06-03 23:28:44 +02:00
Henrik Lissner
0018d1c809
Change default company-backends to capf+yasnippet
And list their results separately.
2018-06-03 23:27:06 +02:00
Henrik Lissner
80bd587d87
Move :company-backend setting to autoload.el
This decouples the company module from module load-order.
2018-06-01 14:54:13 +02:00
Henrik Lissner
5e49239ff2
Give feedback on +company/toggle-auto-completion 2018-05-31 15:59:52 +02:00
Henrik Lissner
3b85720c9c
Fix incorrect uses of add-to-list 2018-05-28 12:26:03 +02:00
Henrik Lissner
5b31fd9505
Use company-dabbrev-code in prog-modes & company-dabbrev everywhere else 2018-05-28 00:08:14 +02:00
Henrik Lissner
09cb4f6716
Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
Henrik Lissner
94f9e43f25
Rewrite :defer semantics
:defer now supports a hook, a cons cell with (SYMBOL . INTEGER) where
SYMBOL is a hook and INTEGER is a number of idle seconds before the
package is autoloaded, or just the integer (as per the default behavior
of :defer).

Also fixes an issue where switch-buffer-deffered packages (like
smartparens) wouldn't load.
2018-05-15 10:54:45 +02:00
Henrik Lissner
a631c10d05
Exploit new :defer input|buffer across various modules 2018-05-14 20:45:47 +02:00
Henrik Lissner
1ee9a1893f
completion/company: company-frontends bug fixed upstream 2018-05-10 19:27:14 +02:00
Henrik Lissner
3488821b2e
completion/company: minor quoting refactor
Sharp-quote function and use backquotes in pcase (better Emacs <25
compatibility).
2018-05-08 17:57:27 +02:00
Henrik Lissner
7d7c978877
completion/company: enable company-mode in eshell-mode 2018-05-08 16:18:30 +02:00
Henrik Lissner
bfc684c024
completion/company: Emacs version check for company-box #566 2018-05-07 22:38:35 +02:00
Henrik Lissner
7ee689c57c
completion/company: reduce contrast of company-box icon colors 2018-04-23 04:30:44 -04:00
Henrik Lissner
2b0c681d7a
completion/company: refactor icons & add colors 2018-04-23 04:24:42 -04:00
Henrik Lissner
779184a9ee
completion/company: remove company-quickhelp
Quickhelp is unreliable and doesn't look very good. I'm searching for an
alternative.
2018-04-23 03:42:19 -04:00
Henrik Lissner
5e007ada08
completion/company: use company-pseudo-tooltip-frontend instead 2018-04-23 02:37:58 -04:00
Henrik Lissner
cf99f29ee0
completion/company: add company-box package 2018-04-23 00:53:18 -04:00
Henrik Lissner
aef9724324
Add doom*shut-up advisor to core-lib 2018-04-23 00:03:28 -04:00
Henrik Lissner
97812583f0
completion/company: add company-box config & +childframe flag 2018-04-22 23:41:53 -04:00
Henrik Lissner
6bdaf2afbb
completion/company: refactor +auto implementation 2018-04-22 23:41:20 -04:00
Henrik Lissner
c583a89a15
completion/company: allow minor modes in :company-backend 2018-04-22 23:40:09 -04:00
Henrik Lissner
148f0a6e34
completion/company: set variables sooner (easier to override) 2018-04-18 18:22:23 -04:00
Henrik Lissner
57efa1b864
Update & fix unit tests 2018-03-02 20:46:45 -05:00
Henrik Lissner
c788224946
completion/company: company-tooltip-limit = 14 2018-02-02 20:47:32 -05:00
Henrik Lissner
b488e4085f
completion/company: add +company/toggle-auto-completion command 2018-02-02 20:47:32 -05:00
Henrik Lissner
08b2cc8ea3
completion/company: add +auto flag (for as-you-type completion) 2018-02-01 16:38:28 -05:00
Henrik Lissner
2d9e63d5bb
General & minor refactoring 2018-01-07 00:15:58 -05:00
Henrik Lissner
e87b788078
Update & reformat module readmes for v2.0.9
+ completion/ivy
+ completion/company
+ feature/evil
+ feature/eval
+ feature/snippets
+ feature/workspaces
+ tools/neotree
2018-01-01 13:21:53 -05:00
Henrik Lissner
8ad2666f8f
Refactor and fix unit tests, plus isolate them better 2017-12-31 14:58:45 -05:00
Henrik Lissner
ea7f0ddcc3
Add no-byte-compile to completion/company unit test file 2017-11-09 00:34:32 +01:00
Amoriello Hutti
f27d1b954c disable company for gud-mode 2017-10-06 21:55:06 -07:00
Henrik Lissner
cbabf6849c
Standardize module READMEs 2017-08-21 20:13:31 +02:00
Henrik Lissner
1fe1758335
Ensure idempotent company-dict init 2017-06-30 03:19:09 +02:00
Henrik Lissner
3801da0db1
Add company-(dabbrev|ispell) to default backends
Partially addresses #134
2017-06-30 03:18:31 +02:00
Henrik Lissner
0b3db8fcdd
Add completion/company test 2017-06-28 23:36:18 +02:00
Henrik Lissner
0a34d8627e
Fix duplicate backends by :company-backend #135 2017-06-28 23:10:53 +02:00
Henrik Lissner
451f2d6301
Ensure idempotence when setting company-transformers 2017-06-28 16:29:10 +02:00
Henrik Lissner
a7dc91e7bf
Improve :company-backend setting according to #125
(set! :company-backend MODES &rest BACKENDS)
2017-06-28 12:26:49 +02:00
Henrik Lissner
18ad96d156
Fix :company-backend 2017-06-24 16:43:39 +02:00
Henrik Lissner
c8757b85f7 Fix :company-backend not overwriting past settings
In case you want to alter a mode's company-backend later or in a private
module.
2017-06-24 02:25:15 +02:00
Henrik Lissner
14e69ca830
Fix max-lisp-eval-depth in :company-backend #115
Mode was inadvertantly run like a function in the :company-backend
setting macro.
2017-06-19 12:08:38 +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
9b47d987aa
Add +company/dabbrev-code-previous 2017-06-09 01:09:20 +02:00
Henrik Lissner
c7254e7bdc
Major optimization refactor, across the board
+ enable lexical-scope everywhere (lexical-binding = t): ~5-10% faster
  startup; ~5-20% general boost
+ reduce consing, function calls & garbage collection by preferring
  cl-loop & dolist over lambda closures (for mapc[ar], add-hook, and
  various cl-lib filter/map/reduce functions) -- where possible
+ prefer functions with dedicated opcodes, like assq (see byte-defop's
  in bytecomp.el for more)
+ prefer pcase & cond (faster) over cl-case
+ general refactor for code readability
+ ensure naming & style conventions are adhered to
+ appease byte-compiler by marking unused variables with underscore
+ defer minor mode activation to after-init, emacs-startup or
  window-setup hooks; a customization opportunity for users + ensures
  custom functionality won't interfere with startup.
2017-06-09 00:47:45 +02:00
Henrik Lissner
fbe782df22 Heavily redesign keybinding design
+ SPC and SPC m as leader/localleader (spacemacs-ey)
+ Move all custom keybindings to private +bindings.el file
+ Redesign+rearrange keybindings
2017-05-28 02:48:20 +02:00
Henrik Lissner
10ea06b661 General cleanup + refactor 2017-05-25 20:12:43 +02:00
Henrik Lissner
e1f60b2bfd Update READMEs & add new ones 2017-05-25 20:09:12 +02:00
Henrik Lissner
99bf1c04fb Don't let derived modes inherit company backends 2017-05-23 21:19:15 +02:00