Commit graph

85 commits

Author SHA1 Message Date
Henrik Lissner
2542f7838f
fix(php): php-ts-mode not activating
Because `php-mode` uses `php-mode-maybe` to delegate between
php-mode/web-mode, thus dodging any major mode remapping.

Fix: doomemacs/community/#27
2025-09-03 15:01:08 +02:00
Henrik Lissner
eb75f49c33
fix(php): void-variable +php--company-backends
Removed in 9e5e4cf, but was accidentally revived in d545fcc.

Amend: d545fccf47
Ref: 9e5e4cf78b
2025-09-02 11:41:57 +02:00
Henrik Lissner
71f137c6b0
fix(:lang): remove vestigial rainbow-delimiters-mode hooks
rainbow-delimiters was removed in 87b616e, but some of its activation
hooks were restored in 3b58741 and not removed when merged into
`master`.

Fix: #8483
Ref: 87b616e5d8
Amend: 3b58741522
2025-09-01 20:10:48 +02:00
Igor Zinovyev
45d3997379
fix(php): return composer keybinds to localleader 2025-09-01 17:30:27 +02:00
Henrik Lissner
8cf2e42e42
nit(php): fix indentation
Some pesky tabs snuck in.

Amend: d545fccf47
2025-09-01 15:33:43 +02:00
Henrik Lissner
3e7a20f972
fix(:lang): project minor mode detection in ts-modes 2025-08-31 16:33:32 +02:00
Henrik Lissner
5cda3ed25a
merge: branch 'feature/treesit'
Fix: #7742
Fix: #7623
Fix: #7593
2025-08-31 14:55:37 +02:00
Henrik Lissner
d545fccf47
fix(:lang): missing grammar recipes
I removed the grammar recipes in 3b58741 to avoid redundancy with the
upstream recipes, but didn't realize that those upstream recipes weren't
added until Emacs 31, so users on 30 and older would get errors when
trying to install any missing grammars.

This also establishes a hard dependency between :lang (php +tree-sitter)
and :lang ({javascript,web} +tree-sitter).

Amend: 3b58741522
2025-08-31 14:39:38 +02:00
Henrik Lissner
9e5e4cf78b
refactor!(php): remove php-extras
BREAKING CHANGE: The PHP API data file no longer exists on php.net, and
there is no substitute, and php-extras is no longer maintained, so this
package is defunct and leaves php buffers in an error state. This
deprives non-LSP users from eldoc and naive code completion. The
alternative is to simply adopt LSP.
2025-08-30 00:56:03 +02:00
Henrik Lissner
31f5b60f5e
fix(php): dynamic mode map interpolation error
Amend: 9073b24878
Close: #8448
Co-authored-by: ribaricplusplus <ribaricplusplus@users.noreply.github.com>
2025-08-29 17:56:55 +02:00
Henrik Lissner
3b58741522
refactor(tree-sitter): centralize grammar config & hacks
Easier to track and maintain.
2025-08-27 16:57:28 +02:00
Henrik Lissner
87b616e5d8
refactor!: remove rainbow-delimiters
BREAKING CHANGE: parentheses will no longer be colored by depth. No
substitute is provided because it's trivial for users to install
themselves.

Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=117610828
2025-06-29 18:53:40 +02:00
Henrik Lissner
9073b24878
feat(php): add treesit support 2025-05-15 18:19:32 +02:00
Henrik Lissner
448bc5cae2
refactor: use negated flags
Ref: 7a806521a92c
2024-10-20 02:41:50 -04:00
Henrik Lissner
ebf91a1363
refactor: use true eos regex in auto-mode-alist entries
"\\'" will match the true end-of-string, whereas "$" will also match
just before a newline character. Not that there's much risk that
there'll be newlines in a filepath, but I'd rather be consistent. It
also makes these entries easier for users to remove from
auto-mode-alist.
2024-08-25 17:44:29 -04:00
Henrik Lissner
fbfed24167
refactor!(php): remove phpactor.el
BREAKING CHANGE: This removes the phpactor.el package in favor of LSP
support via lsp-mode/eglot. Use `+lsp` with the `:lang php` module
instead (with one of the supported LSP servers).

This was done because phpactor.el is on the way out of maintainership,
is redundant with pre-existing phpactor support in lsp-mode/eglot (or
the other, possibly superior LSP servers), and to simplify modules for
whom LSP/Eglot is *the* way to get these features.
2024-08-22 22:35:40 -04:00
Henrik Lissner
d3124c4971
nit: add deprecation comments for projectile config
Ref: doomemacs/core#1
2024-08-09 20:42:33 -04:00
Ellis Kenyő
4ecd616cd8
refactor(format): replace with apheleia
Initial refactor of format module to replace format-all with apheleia
2023-09-13 20:19:59 +01:00
Henrik Lissner
aa54383b5d
refactor: deprecate doom-etc-dir for doom-data-dir
doom-etc-dir will be renamed to doom-data-dir, to better reflect its
purpose, and align it with XDG_DATA_HOME (where it will be moved to in
v3, where Doom will begin to obey XDG directory conventions more
closely).
2022-08-14 20:43:35 +02:00
Henrik Lissner
ad6a3d0f33
refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
Henrik Lissner
a70e634ebd
refactor(:lang): move tree-sitter init
Moved add-hook calls (for tree-sitter initialization) into their
respective modes' config blocks, or nearby, to be consistent with how
other, similar tools (like lsp!) are initialized, and does so at
runtime, rather than at expansion/compile time, which eval-when! caused.
2022-07-25 17:34:44 +02:00
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