Comments (9)
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.
Fantastic. Thanks for the great job maintaining an up-to-date php-mode :)
from php-mode.
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.
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.
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.
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.
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.
Thanks! I think writing an own major mode is a good start. Guess I'll just have to jump into it.
from php-mode.
This is now fixed as of v1.8 by ea5392c.
from php-mode.
Related Issues (20)
- Syntax highlighting for SQL strings HOT 2
- Please tag release (prerelease or beta is ok) for Emacs 28 compatibility HOT 1
- Error in ternary operator indentation HOT 1
- Unexpected syntax highlights after "new" in string HOT 1
- Automatic, overly-clever brace-matching is annoying and how to turn it off is non-obvious HOT 2
- Function faces HOT 1
- Commented out array elements break indentation HOT 2
- Drop Emacs 25 Support
- WordPress coding style removing spaces around function args HOT 1
- The last argument of the method is not highlighted
- PEAR method chaining wrong indentation HOT 5
- File mode specification error HOT 5
- Indentation issue with closure/anonymous functions
- Lineup Cascaded Calls doesn't work properly
- emacs master results in error HOT 2
- Drop Emacs 26 Support
- Newline Indentation aligning with equal sign HOT 3
- while keyword says 'At top level' HOT 2
- Remove `$` from face names for interoperability with treesit
- `php-function-call` face does not inherit from `font-lock-function-call-face` HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from php-mode.