GNU bug report logs - #71380
30.0.50; Submitting php-ts-mode, new major mode for php

Previous Next

Package: emacs;

Reported by: Vincenzo Pupillo <v.pupillo <at> gmail.com>

Date: Wed, 5 Jun 2024 14:11:01 UTC

Severity: normal

Found in version 30.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #29 received at 71380 <at> debbugs.gnu.org (full text, mbox):

From: Vincenzo Pupillo <v.pupillo <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 71380 <at> debbugs.gnu.org
Subject: Re: bug#71380: 30.0.50; Submitting php-ts-mode, new major mode for php
Date: Fri, 07 Jun 2024 14:50:24 +0200
In data venerdì 7 giugno 2024 13:12:25 CEST, Eli Zaretskii ha scritto:
> > From: Vincenzo Pupillo <v.pupillo <at> gmail.com>
> > Cc: 71380 <at> debbugs.gnu.org
> > Date: Fri, 07 Jun 2024 12:45:05 +0200
> > 
> > > > +(defun php-ts-mode--array-element-heuristic (node parent bol &rest _)
> > > > +  "Return of the position of the first element of the array.
> > > 
> > > The "of" part should be deleted here, I think.
> > >
> > I'm not sure how to explain it. Different indentation styles indent the 
> > elements of an array differently when written on multiple rows. For example.
> > in PSR2 it is like this:
> > $a = array("a" => 1,
> >      "b" => 2,
> >      "c" => 3);
> > while with Zend it is like this:
> > $a = array("a" => 1,
> >            "b" => 2,
> >            "c" => 3);
> > What do you suggest?
> 
> What does the function return in each of these two cases?
> 
If '$a = array(' is on the same line as '“a” => 1,' it returns the initial position of '“a”, 
otherwise the starting position of 'array(', like PSR2. 
In terms of tree-sitter-php the first case is:
(treesit-node-start (treesit-node-child parent 2))
while the second is: parent indentation + offset.

Intricate, but can handle nested array declarations in styles like Zend. 
It is currently used only for Zend but I am starting to look at another style named PER (https://www.php-fig.org/per/coding-style/). 

Thank you.
Vincenzo






This bug report was last modified 1 year and 39 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.