Commit Graph

43 Commits

Author SHA1 Message Date
f3b71b0495 fix regex in lsp-file-watch-ignored-directories in elixir module 2021-05-14 21:31:41 +02:00
1197d640f1 Defer adding to LSP ignore list
It was attempting to add to the LSP list too early and erroring,
this adds an after! call to make it wait
2021-05-05 12:33:33 -04:00
7955234308 Improve Elixir module keymaps
Added more major-mode keymappings to expose more of the functionality of
Alchemist.el to the user and generally make the Elixir mode a lot more
useful feeling.
2021-05-04 18:15:42 -04:00
80992a0cae Update config.el 2020-11-14 15:35:07 -07:00
3de0d4074d Update modules/lang/elixir/config.el 2020-11-14 15:34:30 -07:00
9d46c212af Updates for formatting and init hook 2020-11-12 08:58:19 -07:00
95ef7f33b1 Add exunit mode modeled after rspec-mode 2020-10-22 18:39:59 -06:00
7081d833f6 Move :ui pretty-code to :ui ligatures
Includes a major refactor of the module.
2020-08-20 02:14:32 -04:00
6a64f37435 Minor refactors & revision across the board 2020-07-31 01:39:24 -04:00
ad6da92fcf Update config.el 2020-07-22 19:05:48 -06:00
03add77b75 Elixir formats long numbers with an underscore 2020-07-22 10:10:05 -06:00
169f9a6121 General, minor refactor & reformatting 2020-03-27 01:25:30 -04:00
5276762daa Update feature check of flycheck in elixir mode
This patch updates the check for enabling flycheck bindings to the new
module location.
2020-01-14 08:53:30 +01:00
9b25582be1 Reduce list of root files projectile searches for
And define them on a per-module basis. This reduces the number of file
checks it performs, particularly for non-project files.

Might help #1317
2019-10-19 22:22:49 -04:00
2d365619cd General refactor & cleanup, across the board 2019-09-13 22:00:34 -04:00
887a36aacf Add support for Elixir LSP via elixir-ls
- Document Elixir with LSP via elixir-ls
- Add ~+lsp~ flag to ~:lang elixir~
2019-07-26 22:17:01 +03:00
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
d59405b282 Minor comment revision & refactors 2019-07-23 00:30:45 +02:00
7c9e96da87 General module refactor 2019-03-02 02:04:11 -05:00
69ed1a4a99 feature/{syntax-checker,spellcheck} -> tools/fly{check,spell} 2019-02-22 00:25:30 -05:00
d6cb0ec5f5 General cleanup & minor refactoring 2018-12-22 04:25:15 -05:00
c2bce8cee4 lang/elixir: src_block{,_end} commented out 2018-12-06 17:09:00 +11:00
1dc3e5289b lang/elixir: add pretty-symbols 2018-12-06 17:05:50 +11:00
3a23ff56cd General formatting & minor refactors 2018-09-02 17:20:19 +02:00
92cfcf3627 lang/elixir: conditionally install flycheck-credo
And register flycheck-credo after elixir-mode loads.
2018-09-01 16:17:52 +02:00
f30a210428 Add flycheck-credo for lang/elixir 2018-08-31 11:28:28 +02:00
cba5270a7c Fix sp-elixir-skip-def-p void-function error #712 2018-06-25 20:19:33 +02:00
8a4f15b01c Refactor smartparens default rules
Move them to config/default, but move single-lang-specific ones to their
respective modules.
2018-06-25 15:54:38 +02:00
c0251aacee Replace :lookup with set-lookup-handlers! autodef
And update all internal references.
2018-06-15 17:27:48 +02:00
588359cc5f Replace :eval/:repl with autodef functions
+ :eval => set-eval-handler!
+ :repl => set-repl-handler!
+ Updates all internal references.
2018-06-15 16:20:20 +02:00
d8b1e469bc Introduce autodefs to replace some settings
+ :popup -> set-popup-rule!
+ :popups -> set-popup-rules!
+ :company-backend -> set-company-backend!
+ :evil-state -> set-evil-initial-state!

I am slowly phasing out the setting system (def-setting! and set!),
starting with these.

What are autodefs? These are functions that are always defined, whether
or not their respective modules are enabled. However, when their modules
are disabled, they are replaced with macros that no-op and don't
waste time evaluating their arguments.

The old set! function will still work, for a while.
2018-06-15 03:42:01 +02:00
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
80adb9c1f6 General refactor for consistency & idempotency
Also updated comments
2018-05-18 01:26:41 +02:00
8cab2f19fd Remove redundant config & auto-mode-alist entries
Much of this config is done in package autoloads, and now that
auto-mode-alist is cached in doom-package-alist (after reading autoload
files), we can save some space by removing redundant config.
2018-05-14 20:48:14 +02:00
dc33c72d19 Refactor removal of default smartparens rules for certain modes 2018-04-18 18:29:48 -04:00
8c0a4cfbef lang/elixir: refactor smartparens+use-package config 2018-03-27 19:42:56 -04:00
84e98f1bee Add REPL definition for elixir-mode. 2018-03-26 20:19:48 +02:00
42cee2e046 Update :jump => :lookup 2018-01-05 23:57:48 -05:00
47da56b221 lang/elixir: simplify alchemisy-company :after property 2017-12-18 13:15:09 -05:00
682ff5500a lang/elixir: refactor; fix smartparens & alchemist integration
Fixes #294
2017-12-18 13:14:52 -05:00
d7eb095fbd support exs extensions as well 2017-06-28 01:32:14 -05:00
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
f80a2d6707 Added elixir lang support 2017-05-24 15:00:52 +03:00