Code Monkey home page Code Monkey logo

Comments (5)

guweigang avatar guweigang commented on July 17, 2024

yes, but it still has a problem, the line after heredoc is indented wrong , more 4 chars indented than we expected. like this:

$str = <<<"EOT"
{$var1} hello
EOT;

    $str2 = "hello, world";

from php-mode.

ejmr avatar ejmr commented on July 17, 2024

Thanks for pointing this out; it will help me make a test case. I am planning to fix the heredoc support for the next version, but right now I cannot say when that will be released. Very likely before the end of the year, but with holidays nearby I can't say where my time will end up.

from php-mode.

alanpearce avatar alanpearce commented on July 17, 2024

Just some thoughts, as I ran into this issue today.

As a workaround (or more inspiration), nxhtml-mode indents this correctly, except that the desired indentation level is not reverted after the closing delimiter.

Also, I didn't know about the double-quoted heredoc syntax. The RFC has some clear examples of the different types, which might help in creating test cases, although I think that the highlighting there is a bit wrong. Variables and such should be highlighted inside heredocs, but not nowdocs, reflecting their usage. Also, a nice thing that Sublime Text does with these is that it highlights both instances of LABEL nicely.

from php-mode.

ejmr avatar ejmr commented on July 17, 2024

Huh, I didn't know about that aspect of heredocs either, that which the RFC shows. I have seen a couple of different approaches to supporting heredoc syntax, nxhtml-mode's being one of them, and am starting to think now we'll have to make some amalgamation of them to cover all of the actually allowed syntax. Thanks for bringing that RFC to my attention; never knew about that.

from php-mode.

ejmr avatar ejmr commented on July 17, 2024

Philippe Ivaldi graciously let me copy his work relating to heredoc support, which I will push out into master soon. I will still need to go back and deal with nowdocs and other things described in the RFC above, though. But those can be addressed in separate Github issues.

from php-mode.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.