unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* Help with LSP-Mode for PHP with Intelephense
@ 2022-03-22 17:45 Cheshire Yang
  2022-03-22 19:21 ` Emanuel Berg via Users list for the GNU Emacs text editor
  2022-03-23  6:11 ` tomas
  0 siblings, 2 replies; 6+ messages in thread
From: Cheshire Yang @ 2022-03-22 17:45 UTC (permalink / raw)
  To: help-gnu-emacs@gnu.org

Hi all,

I need help setting up emacs as a PHP IDE. I'm using Emacs 27 on NixOS.

First, it should be noted that MELPA works for me _very_ inconsistently, though the configuration and everything looks fine. I was not able to connect to MELPA today, so I cloned lsp-mode repository from github into .emacs.d/ and loaded it in the init file. So now, I can open a PHP file and M-x lsp-mode with success. I also installed Intelephense on the operating system, through the OS package manager (nix), and confirmed that I can type `intelephense` into a terminal and the command is available.

When I run `M-x lsp` to start the server however, I get a strange error. This is the output with toggle debug on error:

Debugger entered--Lisp error: (void-function -andfn)
  (-andfn #'lsp--supports-buffer\? #'lsp--server-binary-present\?)
  (lsp--filter-clients (-andfn #'lsp--supports-buffer\? #'lsp--server-binary-present\?))
  (let (clients (matching-clients (lsp--filter-clients (-andfn #'lsp--supports-buffer\? #'lsp--server-binary-present\?)))) (cond (matching-clients (if (setq lsp--buffer-workspaces (or (and (not ...) (lsp--tr$
  (progn (let (clients (matching-clients (lsp--filter-clients (-andfn #'lsp--supports-buffer\? #'lsp--server-binary-present\?)))) (cond (matching-clients (if (setq lsp--buffer-workspaces (or (and ... ...) (l$
  (if (buffer-file-name) (progn (let (clients (matching-clients (lsp--filter-clients (-andfn #'lsp--supports-buffer\? #'lsp--server-binary-present\?)))) (cond (matching-clients (if (setq lsp--buffer-workspac$
  lsp(nil)
  funcall-interactively(lsp nil)
  call-interactively(lsp record nil)
  command-execute(lsp record)
  execute-extended-command(nil "lsp" "lsp")
  funcall-interactively(execute-extended-command nil "lsp" "lsp")
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)

I have no clue what any of that means. Any and all help would be greatly appreciated. Unfortunately, the official docs on lsp-mode and intelephense are not useful.

Thank you,

C. Yang


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Help with LSP-Mode for PHP with Intelephense
  2022-03-22 17:45 Help with LSP-Mode for PHP with Intelephense Cheshire Yang
@ 2022-03-22 19:21 ` Emanuel Berg via Users list for the GNU Emacs text editor
  2022-03-24  0:00   ` Yuchen Pei
  2022-03-23  6:11 ` tomas
  1 sibling, 1 reply; 6+ messages in thread
From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2022-03-22 19:21 UTC (permalink / raw)
  To: help-gnu-emacs

Cheshire Yang wrote:

> I need help setting up emacs as a PHP IDE. I'm using Emacs
> 27 on NixOS.

Emacs should already offer a PHP IDE, but other than that cool
combo :)

> First, it should be noted that MELPA works for me _very_
> inconsistently, though the configuration and everything
> looks fine. I was not able to connect to MELPA today

What exactly did you do, error message etc?

> When I run `M-x lsp` to start the server however, I get
> a strange error. This is the output with toggle debug on
> error:
>
> Debugger entered--Lisp error: (void-function -andfn)
>   (-andfn #'lsp--supports-buffer\? #'lsp--server-binary-present\?)
>   (lsp--filter-clients (-andfn #'lsp--supports-buffer\?
> #'lsp--server-binary-present\?))
>   (let (clients (matching-clients (lsp--filter-clients (-andfn
> #'lsp--supports-buffer\? #'lsp--server-binary-present\?))))
> (cond (matching-clients (if (setq lsp--buffer-workspaces (or
> (and (not ...) (lsp--tr$
>   (progn (let (clients (matching-clients (lsp--filter-clients
> (-andfn #'lsp--supports-buffer\?
> #'lsp--server-binary-present\?)))) (cond (matching-clients (if
> (setq lsp--buffer-workspaces (or (and ... ...) (l$
>   (if (buffer-file-name) (progn (let (clients
> (matching-clients (lsp--filter-clients (-andfn
> #'lsp--supports-buffer\? #'lsp--server-binary-present\?))))
> (cond (matching-clients (if (setq lsp--buffer-workspac$
>   lsp(nil)
>   funcall-interactively(lsp nil)
>   call-interactively(lsp record nil)
>   command-execute(lsp record)
>   execute-extended-command(nil "lsp" "lsp")
>   funcall-interactively(execute-extended-command nil "lsp" "lsp")
>   call-interactively(execute-extended-command nil nil)
>   command-execute(execute-extended-command)
>
> I have no clue what any of that means

Me neither ... what is the server and "Intelephense"
you mention?

-- 
underground experts united
https://dataswamp.org/~incal




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Help with LSP-Mode for PHP with Intelephense
  2022-03-22 17:45 Help with LSP-Mode for PHP with Intelephense Cheshire Yang
  2022-03-22 19:21 ` Emanuel Berg via Users list for the GNU Emacs text editor
@ 2022-03-23  6:11 ` tomas
  1 sibling, 0 replies; 6+ messages in thread
From: tomas @ 2022-03-23  6:11 UTC (permalink / raw)
  To: help-gnu-emacs

[-- Attachment #1: Type: text/plain, Size: 1169 bytes --]

On Tue, Mar 22, 2022 at 05:45:47PM +0000, Cheshire Yang wrote:
> Hi all,
> 
> I need help setting up emacs as a PHP IDE. I'm using Emacs 27 on NixOS.
> 
> First, it should be noted that MELPA works for me _very_ inconsistently, though the configuration and everything looks fine. I was not able to connect to MELPA today, so I cloned lsp-mode repository from github into .emacs.d/ and loaded it in the init file. So now, I can open a PHP file and M-x lsp-mode with success. I also installed Intelephense on the operating system, through the OS package manager (nix), and confirmed that I can type `intelephense` into a terminal and the command is available.
> 
> When I run `M-x lsp` to start the server however, I get a strange error. This is the output with toggle debug on error:
> 
> Debugger entered--Lisp error: (void-function -andfn)

That means that some "-andfn" is missing. My hunch is that this is
part of "dash.el", a collection of functional-style bells-and-whistles.
Probably you need to install that (watch out: perhaps lsp-mode has
other dependencies you need to install).

Dash.el would be available through (m)elpa.

Cheers
-- 
t

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Help with LSP-Mode for PHP with Intelephense
  2022-03-22 19:21 ` Emanuel Berg via Users list for the GNU Emacs text editor
@ 2022-03-24  0:00   ` Yuchen Pei
  2022-03-24  0:48     ` Emanuel Berg via Users list for the GNU Emacs text editor
  0 siblings, 1 reply; 6+ messages in thread
From: Yuchen Pei @ 2022-03-24  0:00 UTC (permalink / raw)
  To: help-gnu-emacs

On Tue 2022-03-22 20:21:46 +0100, Emanuel Berg via Users list for the GNU Emacs text editor wrote:

>
> Me neither ... what is the server and "Intelephense"
> you mention?

Intelephense is a proprietary php language server.  There are free ones
like phpactor and serenata which I have yet to get to work with eglot.

Best,
Yuchen

-- 
PGP Key: 47F9 D050 1E11 8879 9040  4941 2126 7E93 EF86 DFD0
          <https://ypei.org/assets/ypei-pubkey.txt>



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Help with LSP-Mode for PHP with Intelephense
  2022-03-24  0:00   ` Yuchen Pei
@ 2022-03-24  0:48     ` Emanuel Berg via Users list for the GNU Emacs text editor
  2022-03-28 14:28       ` Stefan Monnier via Users list for the GNU Emacs text editor
  0 siblings, 1 reply; 6+ messages in thread
From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2022-03-24  0:48 UTC (permalink / raw)
  To: help-gnu-emacs

Yuchen Pei wrote:

>> Me neither ... what is the server and "Intelephense"
>> you mention?
>
> Intelephense is a proprietary php language server.

Okay, what's a language server then?

> There are free ones like phpactor and serenata which I have
> yet to get to work with eglot.

OK so 0/3 PHP language servers are in the Debian repos what
I can see ...

I like the phpactor name!

Also I've never heard of eglot which also isn't in the repos ...

-- 
underground experts united
https://dataswamp.org/~incal




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Help with LSP-Mode for PHP with Intelephense
  2022-03-24  0:48     ` Emanuel Berg via Users list for the GNU Emacs text editor
@ 2022-03-28 14:28       ` Stefan Monnier via Users list for the GNU Emacs text editor
  0 siblings, 0 replies; 6+ messages in thread
From: Stefan Monnier via Users list for the GNU Emacs text editor @ 2022-03-28 14:28 UTC (permalink / raw)
  To: help-gnu-emacs

> Also I've never heard of eglot which also isn't in the repos ...

https://elpa.gnu.org/packages/eglot.html


        Stefan




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-03-28 14:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-22 17:45 Help with LSP-Mode for PHP with Intelephense Cheshire Yang
2022-03-22 19:21 ` Emanuel Berg via Users list for the GNU Emacs text editor
2022-03-24  0:00   ` Yuchen Pei
2022-03-24  0:48     ` Emanuel Berg via Users list for the GNU Emacs text editor
2022-03-28 14:28       ` Stefan Monnier via Users list for the GNU Emacs text editor
2022-03-23  6:11 ` tomas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).