I currently have my php-mode configuration like so:
(require 'php-mode)
(add-hook 'php-mode-hook
(lambda ()
(require 'ac-php-company)
(company-mode t)
(setq c-syntactic-indentation nil)
(setq indent-tabs-mode t)
(setq tab-width 4)
(setq c-basic-indent 4)
(c-set-offset 'topmost-intro 4)
(c-set-offset 'cpp-macro -4)
(add-to-list 'company-backends 'company-ac-php-backend)))
I would like to use this configuration to start using web-mode and have php in web-mode use this configuration, however I can't seem to figure out how to configure php in web-mode.
How would I use this configuration for php in web-mode?
EDIT
I should probably clarify a little better what I am trying to achieve for the PHP portion of web-mode.
One thing I do in php-mode is have it configured to indent my PHP code inside the <?php
block like so:
<?php
echo "hello world";
do_some_func();
This is one of the main things I would like to do in web-mode, along with use company as my auto-complete engine.
Would anyone be able to provide me with examples or point me in the direction of solving this problem?
EDIT 2
Thanks to the comment by phils I was able to get my indentation set up correctly, however I still can't figure out how to set up company php in web mode, and googling doesn't seem to provide me with any answers. Any help would be much appreciated.
Sorry for not being as clear originally.
(lambda...)
not'(lambda...)
. Quoted lambda forms cannot be compiled. But even better, define some named functionfoo
and use'foo
instead (I would suggestmy-php-mode-hook
as a name). Anonymous functions in hook variables makes them awkward to update without leaving old versions of the function in the hook as well, whereas yourfoo
function can be reevaluated at any time, and the hook will use the new version automatically.M-x customize-group RET web-mode
to browse the options provided byweb-mode
. You will need to figure out whichweb-mode
-specific variables you need to configure. I would guess that it won't recognise thephp-mode
variables at all (but others will probably be able to tell you more).