Commit graph

64 commits

Author SHA1 Message Date
Jeetaditya Chatterjee
7f814e5d99
refactor(:lang): redo tree-sitter hooks
- bind to major-mode-local-vars-hook instead of major mode hook
- bind the autodef tree-sitter! instead of the functions.
2022-05-22 21:26:08 +01:00
Jeetaditya Chatterjee
0c2f986708
feat(:lang): enable ts text objs in modes 2022-05-22 21:26:03 +01:00
Jeetaditya Chatterjee
06ed5ade3f
refactor!(tree-sitter): add +tree-sitter flag
BREAKING CHANGE: break the global nature of the tree sitter
module by adding a +tree-sitter flag to every applicable module

In the background this hooks turn-on-tree-sitter-mode
to the major-mode-hook of the language.
This may also solve the eager loading of tree sitter
2022-05-22 21:26:00 +01:00
Henrik Lissner
d58d084774
tweak(:lang,:tools): start eglot/lsp-mode later
To ensure lsp/eglot settings have precedence over local servers (e.g.
cider and lookup handlers).

Ref: clojure-emacs/cider#3170
2022-03-30 17:32:47 +02:00
Saxon Jensen
9cba28621f
feat(php): replace php-boris with psysh (#5967)
php-boris is no longer maintained.

Fix: #5965
2022-01-10 02:24:21 +01:00
Ellis Kenyő
9aba0aea23
fix(php): let +phpunit-docker-compose-mode be disabled (#5648) 2021-10-18 01:37:32 +02:00
Ellis Kenyo
a4e6de722d
feat(php): add default docker compose file 2021-09-15 20:28:01 +01:00
Ellis Kenyo
bfa55ba34c
feat(php): add rainbow-delimiter-mode 2021-09-15 20:28:01 +01:00
Ellis Kenyo
8f5ce2a9de
feat(php): add project mode for phpunit/docker 2021-09-15 20:28:01 +01:00
Ellis Kenyo
b80a993175
feat(php): add composer.el 2021-09-15 20:27:47 +01:00
Henrik Lissner
ecddd347f3
lang/php: use php-language-server.php if in PATH 2020-10-26 05:49:21 -04:00
Henrik Lissner
7081d833f6
Move :ui pretty-code to :ui ligatures
Includes a major refactor of the module.
2020-08-20 02:14:32 -04:00
M. Yas. Davoodeh
ff0b78e0b6
Add pretty symbols to php-mode (#3513)
* Add pretty symbols to php-mode

I'm not pretty sure if Types are redundant or not since Php is not so much around types... But I added them just in case.

* Remove dot from Php pretty symbols

* Sort php/config.el
2020-07-13 17:18:19 -04:00
Henrik Lissner
169f9a6121
General, minor refactor & reformatting 2020-03-27 01:25:30 -04:00
Henrik Lissner
56cba7828c
lang/php: refactor company init 2020-02-27 23:27:50 -05:00
Henrik Lissner
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
Henrik Lissner
051bceb0a8
Refactor localleader keybinds #1270
Introduces a select few of the localleader keybind standards proposed in
issue #1270, corrects a few typos and introduces more localleader
keybinds in general.

Co-authored-by: yuhan0 <>
2019-10-04 22:04:47 -04: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
0a84d2f0a9
core-lib: add auto-minor-mode, revise def-project-mode!
- Adds the auto-minor-mode package to replace our in-house
  implementation.
- Merges associate! into the def-project-mode! macro because associate!
  on its own is less useful than auto-minor-mode-alist,
  auto-minor-mode-magic-alist or hooks.
- Changes the semantics of :modes and :add-hooks properties of
  def-project-mode!. Its arguments are evaluated as is; lists will need
  to be quoted.

squash! core-lib: remove associate! macro
2019-07-22 02:30:39 +02:00
Henrik Lissner
7c9e9a3446
Move lsp! to local-vars hooks
- Set lsp-java-server-install-dir
- Use lsp! instead of lsp in lang/cc
2019-07-07 01:58:08 +02:00
Henrik Lissner
9624595f35
lang/php: silence premature php-extras warning 2019-06-14 18:38:19 +02:00
Henrik Lissner
4506fb9223
lang/php: update wrt changes upstream #1350
Removes some of the hacks that have long since been resolved upstream,
and install phpactor from MELPA, now that it is available there.
2019-04-24 20:58:06 -04:00
Henrik Lissner
eb3c569e1d
Replace +lsp|init with lsp! autodef 2019-03-02 01:34:19 -05:00
Henrik Lissner
cb923eadcc
Add basic LSP support
Still needs to be documented, but includes support for the following
languages:

+ C/C++/ObjC
+ Go
+ Java
+ Javascript
+ OCaml
+ PHP
+ Python
+ Ruby
+ Scala
+ Swift
+ HTML/CSS

Relevant to #460, #716, #1186
2019-02-21 19:13:35 -05:00
Henrik Lissner
3f195614d9
Normalize :leader/:localleader keybinds
Evil states no longer apply to them. Also removes x-alt-keysym.
2018-12-23 23:54:27 -05:00
Henrik Lissner
53fe7a1f04 Refactor Project API to reflect changes upstream
projectile-project-root no longer returns `default-directory` if not in
a project (it returns nil). As such, doom-project-* functions (and their
uses) have been refactored.

+ doom-project-p & doom-project-root are aliases for
  projectile-project-p & projectile-project-root.
+ doom-project-{p,root,name,expand} now has a DIR argument (for
  consistency, since projectile-project-name and
  projectile-project-expand do not).
+ The nocache parameter is no longer necessary, as projectile's caching
  behavior is now more sane.
+ Removed some projectile advice/hacks that are no longer necessary.
+ Updated unit tests
2018-09-28 21:13:27 -04:00
Henrik Lissner
7d3ffdff06
Remove third line in section headers
This is truly important stuff. We've saved many lives with this update.
2018-09-09 09:58:19 -04:00
Henrik Lissner
fd8f8c5108
feature/lookup: rewrite dash docset integration
+ Uses alist variable to store config, rather than hooks
+ Added check for installed docsets in +lookup/documentation
+ Set docsets for various language modules (c-mode, c++-mode, css-mode,
  scss-mode, sass-mode, web-mode, go-mode, racket-mode, emacs-lisp-mode,
  js2-mode, rjsx-mode, typescript-mode, rust-mode, and php-mode)
+ Made *eww* popups for dash docsets larger
+ Renamed set-docset! => set-docsets! (set-docset! is aliased to
  set-docsets!)
+ New +lookup/install-docset alias
2018-08-31 02:49:48 +02:00
Henrik Lissner
f51f2948af
New :editor format module
Centralized code formatting with built-in support for a variety of
languages. Provides the set-formatter! function for defining your own.

Still experimental and needs more testing!
2018-08-22 02:20:11 +02:00
Henrik Lissner
9c4d1c3b02
lang/php: replace ac-php with phpactor.el
phpactor is superior to phpctags, though it requires more setup.

phpactors.el is superior to ac-php, though it is in alpha.
2018-08-13 21:47:55 +02:00
Henrik Lissner
3131bda98c
lang/php: fix interpolation in unquoted lambda 2018-08-09 01:02:47 +02:00
Henrik Lissner
56fcad4970
lang/php: use internal phpctags only
Other versions of phpctags may cause errors.
2018-08-09 00:40:26 +02:00
Henrik Lissner
8bbff852f7
lang/php: fix stringp error & phpctags path
Also provide a way to silence phpctags warnings on starting
php-mode (set ac-php-ctags-executable to nil).
2018-08-01 18:15:30 +02:00
Henrik Lissner
9f4b6869b6
lang/php: remove redundant :interpreter
Already defined in php-mode's autoloads.
2018-07-30 03:43:42 +02:00
Henrik Lissner
248e9a487f
Stop php-extras altering global company-backends 2018-07-30 02:57:50 +02:00
Henrik Lissner
db8ed4aac6
lang/php: add +hack support 2018-07-29 17:42:00 +02:00
Henrik Lissner
f0f2c92b8d
lang/php: prioritize phpctags in PATH
And fail more gracefully if phpctags isn't installed
2018-07-29 17:41:59 +02:00
Henrik Lissner
95d6c6664d
lang/php: simplify rules for smartparens 2018-07-19 03:35:41 +02:00
Henrik Lissner
f6f74efdee
Refactor lang/php 2018-07-19 03:35:38 +02:00
Henrik Lissner
e05d7cfee0
Change flycheck initialization strategy
Initialize it globally and turn it off where needed, instead of enabling
it on demand. Also fixes void-function: flycheck-mode errors when
:feature syntax-checker is disabled. This is experimental.

Indirectly fixes #710
2018-06-22 01:49:20 +02:00
Henrik Lissner
c0251aacee
Replace :lookup with set-lookup-handlers! autodef
And update all internal references.
2018-06-15 17:27:48 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
3bdb3d4e5d
Update uses of associate! 2018-06-01 02:20:00 +02:00
Henrik Lissner
168cb74794
Replace add-hook! with setq-hook! where possible 2018-05-07 22:37:19 +02:00
Henrik Lissner
15da107e04
lang/php: basic :lookup support & don't warn about missing phpctags
Only adds :documentation support for now.
2018-01-28 21:36:48 -05:00
Henrik Lissner
31a4244686
Rethink what Doom loads at startup and manually
Better to simply load what we need, when we need it, rather than set up
autoloads for every litte thing.
2018-01-07 00:15:57 -05:00
Henrik Lissner
9d661ff71e
Move ac-php-tags-path & recentf-save-file to doom-cache-dir 2017-12-23 14:30:36 -05:00
Henrik Lissner
9d81bc5a8b
Major refactor: use-package-always-defer = nil & use :hook
Possibly breaking change: packages are no longer deferred by default.

Addresses #286
2017-12-08 23:14:11 -05:00
Henrik Lissner
9408062f60
Move some plugins' storage to doom-etc-dir 2017-11-05 01:16:36 +01:00