Code Monkey home page Code Monkey logo

Comments (9)

ejmr avatar ejmr commented on July 17, 2024

Yes, it is possible to get the first form of indentation. In fact that is what should be the default, which means that is a bug I need to fix. Thanks for bringing this to my attention. I am a little busy with other things but I will make it a point to address this issue this week (along with some other open issues).

from php-mode.

BobuSumisu avatar BobuSumisu commented on July 17, 2024

Fantastic. Thanks for the great job maintaining an up-to-date php-mode :)

from php-mode.

ejmr avatar ejmr commented on July 17, 2024

I am looking into a more 'proper' way of adding these settings to php-mode without messing up any of the existing indentation rules, but in the mean time you could use this hook:

(add-hook 'php-mode-hook
          (lambda ()
            (c-set-offset 'statement-block-intro '/)
            (c-set-offset 'block-close -100)))

I tried this against some of the files in the tests/ directory to see if it messed up their indentation and things were fine. But something about using a large negative number like that makes me think there is a better solution available, heh.

from php-mode.

BobuSumisu avatar BobuSumisu commented on July 17, 2024

Thanks for the hook, but it messed up the indentation of code blocks for me.

Now every code block after "{" are indented at level 0.

  // code at lvl1
  if(x == y) {
// code is now at lvl0 :(
}
  // code is back at lvl1

from php-mode.

ejmr avatar ejmr commented on July 17, 2024

Ah, yes, I knew something was going to go wrong with that cheap hack of a hook, lol. I'm looking into a proper solution though while I brush up on the indentation engine of cc-mode, which php-mode uses. I forget how that system works as soon as I'm done working with it every time...

from php-mode.

BobuSumisu avatar BobuSumisu commented on July 17, 2024

Nice, no hurry though, as long as we know you know the issue ;)

I really should pick up elisp and start hacking this stuff myself :P

from php-mode.

ejmr avatar ejmr commented on July 17, 2024

I'm not trying to toot my own horn, but something that helped me learn a lot about Elisp was to write a major mode from scratch, like https://github.com/ejmr/tup-mode

This is also a good introduction: http://ergoemacs.org/emacs/elisp.html

And of course in Emacs itself you have C-h i m Emacs Lisp Intro.

from php-mode.

BobuSumisu avatar BobuSumisu commented on July 17, 2024

Thanks! I think writing an own major mode is a good start. Guess I'll just have to jump into it.

from php-mode.

ejmr avatar ejmr commented on July 17, 2024

This is now fixed as of v1.8 by ea5392c.

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.