bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#71380: 30.0.50; Submitting php-ts-mode, new major mode for php


From: Vincenzo Pupillo
Subject: 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@gmail.com>
> > Cc: 71380@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







reply via email to

[Prev in Thread] Current Thread [Next in Thread]